Salut les inconditionnels de la communauté Kali Linux. Aujourd’hui, on revient sur VulnHub pour compromettre la machine DR4G0N B4LL. Ici on va utiliser du bruteforce, de la stegano et escalader nos privilèges sur la box.
DR4G0N B4LL est une box Vulnhub de niveau « Easy ». Le challenge consiste à trouver le ou les flags.

Recon > Enum > exploitation > Privesc : Ce sont les étapes que nous mettrons en pratique une nouvelle fois à travers cette box.
VulnHub DR4G0N B4LL – Recon
Après téléchargement de la machine virtuelle à partir de ce lien, nous la déployons.
Vous devez ensuite configurer le réseau de la machine virtuelle en pont (Bridge) avec celui de votre machine physique et identifier premièrement l’adresse ip de la machine vulnérable.
Pour ce faire, un petit nmap et c’est tout bon.
Tout d’abord, il vous faut connaître l’adresse réseau de votre machine physique. Le mien est le 192.168.43.0/24. Ainsi la commande ci-après nous révélera l’adresse ip de toutes les machines du réseau: nmap -sV 192.168.43.0-254

D’après nmap, notre machine virtuelle a pour adresse ip 192.168.43.86 et a deux ports ouverts ssh(22) et http(80).
VulnHub DR4G0N B4LL – Enumération
Notre attention se porte directement sur le port http…
La première action effectuée était l’inspection du code source.
En effet, nous avons retrouvé dans le code source cette chaîne de caractères : VWtaS1FsSXdPVTlKUlVwQ1ZFVjNQUT09
La chaîne de caractères est codée en base64.
echo 'VWtaS1FsSXdPVTlKUlVwQ1ZFVjNQUT09=' | base64 --decode
Son décodage nous donne le texte DRAGON BALL.
En utilisant intégralement le texte décodé comme répertoire, nous obtenons des fichiers intéressants dans ledit répertoire.

En parcourant le dossier Vulnhub découvert, nous sommes attirés par l’image aj.jpeg. Nous l’avons téléchargé et essayé le bruteforce du passphrase avec l’outil stegbrute
Le bruteforce a marché avec succès grâce au wordlist utilisé. Il s’agit de rockyou.txt qui vient par défaut sur kali Linux et localisé dans le repertoire /usr/share/wordlists. C’est un fichier regroupant plus de 14.000.000 mots qu’on peut essayer comme mot de passe.

Le passphrase était donc love. Nous allons extraire le fichier caché avec le passphrase trouvé comme l’illustre bien l’image ci-après.

Le fichier récupéré contient une clé privée pour l’authentification via ssh.
Il nous faut identifier alors l’utilisateur qui dispose de cette clé. Sur ce, nous retournons dans le répertoire dans lequel nous avions trouvé l’image aj.jpeg. Il s’y trouve un fichier login.html.

Il s’agit d’une page d’authentification non fonctionnelle. Alors, le texte: WELCOME TO xmen attire notre attention.
VulnHub DR4G0N B4LL – Exploitation
Sur ce, nous essayons la connexion par ssh avec l’utilisateur xmen.

VulnHub DR4G0N B4LL – Privesc
A ce niveau, notre but est d’avoir l’accès root. A cet effet, nous observons la présence d’un dossier script contenant un fichier demo.c et son exécutable shell tous appartenant à l’utilisateur root.

Après analyse du fichier demo.c, on constate qu’un programme système (ps) est exécuté. Nous allons donc créer un fichier similaire au binaire ps dans le répertoire /tmp.
Ce sera chose faite avec un simple:
echo '/bin/bash' > ps
sans oublier de donner les droits d’exécution à notre petit script.
chmod +x ps

Dans le fichier ps, nous avons inséré /bin/bash afin de lancer le shell lorsque le binaire ps sera exécuté.
Pour réussir notre coup, nous devons modifier la variable d’environnement PATH afin de faire considérer le répertoire /tmp au système lors des exécutions des scripts. Ensuite nous pourrons exécuter le binaire shell pour avoir l’accès root.

Et voilà ! Notre objectif est atteint. J’espère que vous aurez appris de ce writeup.
À la prochaine !