Victim1 : VulnHub CTF

Aujourd’hui, nous allons nous attaquer au CTF Victim : 1 que vous trouverez à cette adresse :

https://www.vulnhub.com/entry/victim-1,469/

C’est un niveau facile où l’on va devoir trouver un flag dans le user « root »

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.69 (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.69

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)

Nous avons deux ports ouverts, le port 22 (SSH) et 80 (HTTP)

On voit qu’on a un certain nombre de ports ouverts : 22(SSH) , 80(http), 8080(http), 8999(http), 9000(http)

Enumeration :

Rien dans le code source et aucune information exploitable dans le fichier robots.txt. On va passer en revue les ports 8080, 8999 et 9000 pour continuer l’énumération.

Sur le port 8999, on remarque qu’il y a du WordPress et ce qui attire notre attention, c’est le fichier « WPA-01.cap ». C’est un fichier de capture qu’on peut lire avec Wireshark. Allons-y, on télécharge le fichier qu’on ouvre avec Wireshark :

C’est une capture d’un trafic wireless d’un équipement D-Link. En fouillant le premier paquet, on trouve le SSID : dlink et on voit également que c’est du WAP (Wireless Application Protocol ). On va essayer de déterminer le password à l’aide de l’outil aircrack-ng (le tools ultime) et du fichier rockyou.txt.

Pour en savoir plus : https://www.aircrack-ng.org/doku.php?id=aircrack-ng

Exploitation :

aircrack-ng -w /usr/share/wordlists/rockyou.txt WPA-01.cap

On a trouvé key : p4ssword

On a donc un username et un password. On va donc tenter une connexion SSH sur la machine :

ssh dlink@192.168.1.69

On peut maintenant passer à la phase suivante.

Escalade de privilèges :

On va chercher les fichiers qui sont en « Set User ID » (SUID). Voici la définition :

https://fr.wikipedia.org/wiki/Setuid

En utilisant la commande suivante, vous pouvez énumérer tous les fichiers binaires disposant de l’autorisation SUID :

find / -perm -u=s -type f 2>/dev/null

Source : https://qastack.fr/unix/180867/how-to-search-for-all-suid-sgid-files

En cherchant « nohup suid », on tombe sur ce site :

https://gtfobins.github.io/gtfobins/nohup/

On lance donc :

/usr/bin/nohup /bin/sh -p -c "sh -p <$(tty) >$(tty) 2>$(tty)"
id
cd /root
ls
cat flag.txt

Et bien voilà, une nouvelle mission accomplie !