Participant

anonymous

YOLO CTF

 Mon premier CTF 

Exploitation de vulnerabilité


Tous les programmes contiennent des bugs. Certains sont critiques et permettent une exploitation...
Ces bugs sont généralement corrigés. Parfois pas...
Les développeur incrémentent normalement le numéro de version du logiciel et publient une version corrective.

Nous allons faire l'inventaire des logiciels accessibles, récupérer leurs numéros de version et regarder pour chaque version quelles sont ces vulnérabiltiés.
Pour celà, google est notre amis. La recherche 'logiciel numero-de-version exploit' sort généralement un lien vers exploit_db, un exploit sur github et des blogs décrivant la manip...

Cette version de vsftpd est réputé instable et crash facilement. Faites un 'Refresh' de la page pour controler l'état de votre serveur.
Une fois l'exploit déclenché, le serveur ftp freeze, voire plante. On retrouve frequement cet exploit sur des VM partagées, et tout le monde s'énerve car seul le premier arrivé peut exploiter. Les autres attendent ou demandent des reboot de VM... Enjoy...

Démarrez votre serveur dédié en cliquant sur [Start server].


Server status : stopped


Version
5

Le serveur ftp qui tourne sur ctf-exploit_ a été laissé en configuration par défaut.
Il donne son nom et sa version à chaque connection.
Pour le vérifier, connecte toi avec un netcat sur le port 21

 nc ctf-exploit_ 21 

Déconnecte toi en tapant quit.
Le flag est la version du serveur sous le format x.x.x

Backdoor
40

Utilise google pour trouver des informations sur ce logiciel.

 https://www.google.com/search?q=vsFTPd+2.3.4+exploit 

Il y a un lien vers https://www.exploit-db.com/ qui référence les failles et fournit généralement les exploits.
Il y a un lien vers https://rapid7.com, ce qui veut dire que l'exploit est intégré à metasploit.
Il va être confortable à utiliser.

Avant d'automatiser, nous allons le comprendre et l'exploiter à la main.

 ftp ctf-exploit_ 

Pour activer la backdoor, connecte-toi avec un nom d'utilisateur se terminant par un smiley :)
Ton shell va se geler. Une backdoor est ouverte sur un port entre 6000 et 7000 en tcp.
Ouvre un second terminal et utilise un nmap pour scanner les ports ouverts.

 nmap ctf-exploit_ -p6000-7000 

Le scan va déclencher la backdoor et crasher le serveur. Il faudra le relancer.
Le flag est le numéro de port de la backdoor.
Quitte ton client ftp en tapant quit.

Exploit
40

Si nécessaire, relance le serveur, et reconnecte-toi avec un nom d'utilisateur se terminant par un smiley :)

 ftp ctf-exploit_ 

Ton shell va se geler. Une backdoor est ouverte.. Tu connais le port.
Ouvre un second terminal et utilise un netcat pour y accéder...
Fais un id, puis un ls
Tu n'es pas dans un vrai shell. Pour utiliser un vrai shell fais spawn un bash avec python.

 python -c "import pty;pty.spawn('/bin/bash')" 

Tu as un shell, mais pas encore de tty. Dans 99% des cas, c'est suffisant.

Pour récupérer un tty, fait [Ctrl] Z pour passer ton shell en arrière plan. Tu repasses temporairement sur ton terminal, ne t'inquiète pas et fait

 stty raw -echo 
 fg 

Maintenant tu es de retour sur ton serveur avec un vrai shell bash et un tty.
Cherche le flag en /tmp
Déconnecte toi avec exit
le serveur ftp se degele.