Zion1.1 ~ VulnHub

Bertrand #ProHacktive.io
ProHacktive
Published in
5 min readApr 15, 2021

Aujourd’hui on s’attaque à la VM Zion1.1 qui était disponible sur le site vulnhub. Actuellement, vous ne la trouverez plus, elle a été remplacée par la VM Zion1.2 qu’on fera prochainement.

C’est un CTF de niveau « Intermediate » et on nous indique qu’il faut trouver un flag.

Pour la partie « Reconnaissance », on va utiliser la box Sherlock que nous développons au sein de ProHacktive. Cela permet de gagner du temps sur le lancement d’un Netdiscover et un Nmap et ça permet de faire remonter les vulnérabilités CVE.

Reconnaissance :

Alors la machine à attaquer se trouve en 192.168.1.74. Vous noterez qu’à ce stade, on a déjà un indicateur de la criticité de la machine que nous attaquons

L’autre adresse IP (192.168.1.77) correspond à la machine me servant à attaquer.

Voyons un peu les détails de notre machine : la donnée « Constructeur » correspond au fait que la VM tourne sur VirtualBox. On note la présence de PHP en version 7.4.5. On voit qu’il y a deux services qui tournent :

On a les ports 22 (SSH) et 80 (HTTP) qui sont ouverts avec 10 vulnérabilités qui ont été repérées :

Donc voilà, le décor est planté 👍

Énumération :

Allons voir ce que donne la page web :

Ah ah ah, j’adore ! La pillule rouge ou la pillule bleue ?
Sans hésiter, la pillule rouge !!!

On obtient une page de Login.
Après quelques tests d’injection, je décide de voir ce qui est envoyé avec BurpSuite.
On commence par configurer le browser :

Puis on lance BurpSuite et on intercepte le moment où l’on clique sur la pillule rouge.

Maintenant, dans Action, on fait « Send to Repeater »

Eh eh, on voit des chaines encodées en Base64.

On a décrypté le premier message qui est un indice pour décrypter le suivant. Allez, on ouvre notre esprit ! Ce n’est pas du Base64 donc qu’est-ce que cela peut être ? Un encodage sans les caractères mentionnés : essayons le Base62

Le message nous indique le username qu’il faut utiliser pour se connecter : « morpheus.thematrix »

Exploitation :

On va opérer une attaque par bruteforce et pour cela, on va créer un dictionnaire basé sur les mots de la page d’accueil

cewl http://192.168.1.74 -w dict.txt

Allons-y, on va utiliser le module Intruder de BurpSuite. Donc on met « morpheus.thematrix » comme username et « test » comme mot de passe.

Maintenant, on envoie vers Intruder et on se positionne sur « Positions »

On garde l’option « Sniper » et on supprime les « § » seulement sur le champ qui va nous servir pour le bruteforce (ici le password). On passe à la section « payloads » et on charge notre dictionnaire.

L’attaque peut commencer !

On vient de trouver les éléments pour se connecter :

Username : morpheus.thematrix
Password : interpreted

Première chose qui saute aux yeux : « Private Key »

Donc comme le nom du fichier l’indique c’est la clé privée du user w.rabbit. Ça implique qu’on va pouvoir se connecter en SSH. On va décoder dans un premier temps :

C’est une clé privée qui a été généré avec OpenSSH

ssh -i rsa_priv_key.txt w.rabbit@192.168.1.74
ls -al

En fouillant dans l’arborescence, on va voir du côté des mails et on trouve un changement de password :

cd /var/mail
ls -al
cat w.rabbit

Du coup, on se connecte :

sudo -l

Escalade de privilèges :

Et bien voilà, on va pouvoir utiliser la commande « cp » avec l’utilisateur « dozer ». Cela va nous permettre de rapatrier le fichier « /home/dozer/flag.txt » mentionné plus haut.

sudo -u dozer /bin/cp — no-preserve=all /home/dozer/flag.txt /tmp/flag.txt
cat /tmp/flag.txt

Voilà, on a trouvé le flag, mission accomplie ! Merci de m’avoir lu et à la prochaine 😉

--

--

Bertrand #ProHacktive.io
ProHacktive

Security Developer chez ProHacktive.io. Strong interest in pentesting and solving CTF (Ethical Hacker).