Comment exploiter une faille de sécurité à l’aide de Metasploit.

Home

 

Comme discuté dans mon article précédent, Comment utiliser l’API Shodan avec du Python pour automatiser les recherches des périphériques vulnérables , je vais vous démontrer comment exploiter une faille de sécurité après avoir trouvé des cibles vulnérables.  En utilisant le Metasploit framework,  un outil pour le développement et l’exécution d’exploits contre une machine, il est possible de prendre possession d’un serveur, que je vais démontrer dans mon example.  

 

 

Metasploit ne requiert aucune installation lorsque la distribution de linux utilisée est Kali Linux.  La seule chose à vérifier est de s’assurer que nous utilisons la dernière version de Metasploit.

 

 

Pour mettre à jour le Metasploit framework il s’agit d’exécuter la commande suivante:  

 

sudo apt update sudo apt install metasploit-framework

 

Avant d’exécuter Metasploit, je vais démarrer la base de donnée Postgress.  Lorsqu’une commande est exécuté dans Metasploit les données seront sauvées dans cette base de donnée pour consultation future.  Exécutez les commandes suivante pour démarrer et activer la base de donnée.  

 

sudo systemctl start postgresql sudo systemctl enable postgresql

 

Pour s’assurer que la base de donnée est bien démarrée exécutez la commande suivante:  

 

sudo systemctl status postgresql

 

  Si le service n’est pas actif, exécutez la commande suivante pour initialiser la base de donnée:

 

msfdb init

 

On peut maintenant démarrer le Metasploit Framework comme root en exécutant:  

 

sudo msfconsole

 

Une fois dans Metasploit exécutez la commande suivante pour vérifier que la base de donnée est bien démarrée:  

 

db_status

 

En tappant la commande workspace on voit dans quel environnement nous sommes.  Pour ce créer un environnement nous utilisons la commande suivante:

 

workspace -a (nom d’environnement)

 

Pour mon example, j’ai décidé de nommer mon environnment Server.  

Pour mon exemple, l’adresse IP de mon PC (L’attaquant) est 192.168.2.102 et l’adresse du serveur vulnérable (L’attaqué) est le 192.168.1.105.  Je vais effectuer un scan des ports avec nmap, un utilitaire puissant sur linux et il existe aussi sur Windows.  Pour connaitre tous les options de nmap vous pouvez tapez man nmap dans un terminal.   Le premier scan effectué est pour trouver les hôtes disponibles sur le réseau.  Vous remarquez que j’utilise la commande db_nmap et nom nmap car je veux les résultats dans la base de donnée postgress.  

 

db_nmap -sn -n -v –exclude 192.168.2.102 192.168.1.0/24

 

En regardant l’image ci-dessus on voit que notre cible (192.168.1.105) est bien en ligne.  Maintenant je vais effectuer un scan pour découvrir les services activés sur le serveur attaqué.  

 

db_nmap -sS -Pn -n -v –reason –open 192.168.1.105

 

En regardant l’image ci-dessus on peut voir les ports ouverts ainsi que les services associés à chaque port.  Maintenant je vais procéder avec un scan plus agressif pour obtenir de l’information supplémentaire sur les services roulant sur le serveur attaqué.  Ce scan peut prendre un certain temps dépendant du nombre d’hôtes et de services scannés.  

 

db_nmap -sS -sV -sC -Pn -n -v -p- 192.168.1.105

 

Une fois le scan terminé on peut exécuter des commandes pour voir les données accumulés dans la base de donnée, pendant les scans précédent.  Il y a la commande hosts qui affiche tous les hôtes détectés et la commande services qui montre toute l’information sur les services accumulés pendant les scans précédent.

À cette étape je dois trouver une vulnérabilitée pour exploiter l’un des services et par le fait même ouvrir un shell dans la serveur attaqué.  Pour mon exemple j’ai choisis le premier service qui est vsftpd 2.3.4.  Il ne faut pas oublier qu’il faut faire beaucoup  d’essai erreur.  Il est possible de faire des recherches à propos des vulnérabilitées sur le site de Rapid 7 ou simplement faire une recherche dans Metasploit avec la commande search pour voir si un module pour exploiter la vulnérabilitée existe.  

 

search vsftpd

 

On peut voir qu’il y a un module pour exploiter le service VSFTPD v2.3.4 et en regardant le rang (rank) on peut voir que ce moule est excellent, donc une bonne possibilitée que l’exploit fonctionne.  Je vais maintenant utiliser le module en exécutant la commande use.  Je vais par la suite regarder les options qui doivent être remplis avant d’exécuter l’exploit en tappant la commande options.  

 

use exploit/unix/ftp/vsftpd_234_backdoor options

 

En exécutant la commande options on peut voir ce qui est requis (required).  Donc nous devons entrer le RHOST qui est l’adresse de serveur attaqué et le RPORT qui est déjà entré.  Pour entrer l’adresse de notre serveur attaqué on utilise la commande set RHOST.  Une fois notre adresse de serveur entré nous exécutons l’exploit avec exploit ou run.  

 

set RHOST 192.168.1.105 exploit

   

Une fois l’exploit démarré, je vais exécuter la commande shell pour ouvrir un shell sur le serveur cible.  Une fois le shell ouvert on peut voir tous les fichiers sur le serveur.  En allant dans le répertoire home on peut voir les comptes sur ce serveur.  On peut voir qu’il y a un compte Admin et dans ce répertoire il y a un fichier nommé ImportantFile.  En exécutant la commande cat ImportantFile on voit le contenu du fichier.  Ce fichier a été créé pour l’exemple mais on pourrait prendre possession de plusieurs fichiers importants.  

 

Maintenant que vous avez exploité une vulnérabilitée sur un serveur Linux, il faut simplement utiliser notre imagination pour explorer d’autres vulnérabilitées.  Vous pourriez utiliser Shodan.io comme dans mon article précédent (Comment utiliser l’API Shodan avec du Python pour automatiser les recherches des périphériques vulnérables) pour trouver des périphériques vulnérables.  Cette méthode peut-être utilisé pour trouver des vulnérabilitées sur des serveurs, des ordinateurs, des systèmes de caméras, etc. J’ai créé un vidéo démontrant le tout:

 

 

tnt@tntsecurite.ca  

Home

Commentaires fermés.