RAPPORT D’UTILISATION DU FRAMEWORK
METASPLOIT POUR EXPLOITER UNE
VULNERABILITE PARTICULIERE
By KPOGO-AGOSSOR Romain
L’image ci-dessus représente une capture d’exploitation d’une
vulnérabilité au niveau de la machine metasploitable 2 depuis
une machine ParrotOS avec le framework METASPLOIT. Plus de
détails dans les prochaines lignes à suivre.
Lors d’un scan avec nmap au préalable sur la machine
metasploitable 2, un service de transfert de fichier « vsftpd
v2.3.4 » a été identifié comme tournant sur le port 21 TCP or
ce service dispose d’une vulnérabilité permettant un accès
backdoor au système. Pour pouvoir exploiter cette vulnérabilité,
on lance le framework metasploit.
Le framework metasploit est un outil puissant de pentesting
qui permet d’exploiter des vulnérabités particuliers au niveau
des machines admettant celles-ci.
Elle est installé par défaut sur les ditributions de sécurité
comme KALI et ParrotOS et se lance avec la commande
« msfconsole ».
Comme défini au préalable, metasploit permet d’exploiter des
vulnérabilités mais ayant une base de données énormes de ces
vulnérabilités, il est important de déterminer celui qui est
particulièrement associé à une vulnérabilité « vsftpd »
détectée au niveau de la machine metasploitable 2. Pour
réaliser ceci, on lance la commande « search vsftpd » au
niveau du framework metasploit qui nous permet d’identifier les
vulnérabilités exploitables de ce type disponible au niveau de
metasploit.
La commande nous ressort deux modules exploitant les
vulnérabilités vsftpd dont « vsftpd_232 » qui peut être utilisé
pour le déni de service et l’autre « vsftpd_234_backdoor »
qui exploite le backdoor présent dans le service vsftpd v2.3.4
capables de nous retourner un shell pour une connexion à
distance du système métasploitable.
Pour donc intéragir avec le module, on peut soit utiliser les
commandes « info 1 », « use 1 », « use
exploit/unix/ftp/vsftpd_234_backdoor ».
L’intéraction avec le module a commencé avec la commande :
« use exploit/unix/ftp/vsftpd_234_backdoor »
Et il nous indique qu’aucun « payload » n’a été configuré donc
il passe en mode d’intéraction par défaut du module.
L’option suivante : « set rhosts [Link] » nous permet de
définir l’hôte distant par son adresse (remote host) qui n’est
rien d’autre que la machine metasploitable 2 ([Link]).
L’exploitation démarre donc avec la commande « run » et par la
suite, les lignes suivantes indique :
[Link] :21 – Banner : 220 (vsFTPD 2.3.4)
Cette ligne indique la tentative de connexion au port 21 de la
machine métasploitable qui lu fait un retour avec la bannière
« vsFTPd 2.3.4 ». Dans le protocole FTP, les communications
se font via des commandes entre le server et le client et le code
220 est un indicateur envoyé par le serveur FTP pour montrer
que la commande de connexion a été reçu sans problème.
[Link] :21 – USER : 331 Please specify the password
C’est la partie qui explique comment l’exploit interagit avec le
protocole FTP pour déclencher la porte dérobée. Le code 331
qui veut dire « Nom d’utilisateur correcte, besoin d’un mot de
passe » indique à l’attaquant que la commande USER envoyée
a été avec succès et lui demande d’envoyer un mot de passe.
Réponse standard du serveur FTP lors d’une interaction
normale.
[Link] :21 – backdoor Service has been spawned,
handling…
C'est la ligne de succès clé. L'exploit a réussi à déclencher la
porte dérobée, qui a exécuté une commande pour "engendrer"
(spawn) un nouveau service.
[Link] :21 – UID uid=0(root) gid=0(root)
Cette ligne indique le niveau de privilège du shell obtenu (accès
root).
Les deux dernières lignes indique qu’une session a été établie
entre l’attaquant et la machine metasploitable (une connexion
entre le [Link] qui représente l’attaquant sur le port 37031 et
la cible [Link] qui représente la machine metasploitable 2 sur
le port 6200).
La commande « whoami » fait voir qu’on est connecté en tant
que « root » sur la machine cible et « pwd » permet de
déterminer le répertoire actuel dans lequel se trouve
l’attaquant.