Importer les résultats de scan Nmap externes dans Metasploit

Kali LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à intégrer les puissantes capacités de balayage réseau de Nmap avec le Metasploit Framework. Bien que Metasploit dispose de ses propres fonctionnalités de balayage intégrées, vous devrez souvent importer les résultats d'outils externes tels que Nmap. C'est un flux de travail courant en test d'intrusion, car il vous permet de centraliser toutes vos données de reconnaissance au sein de la base de données de Metasploit.

En important les résultats des scans Nmap, vous pouvez exploiter les fonctionnalités de gestion de données et d'exploitation de Metasploit sur les hôtes et les services découverts par Nmap. Vous effectuerez un scan Nmap, enregistrerez la sortie dans un fichier XML, puis utiliserez la commande db_import dans la console Metasploit pour peupler sa base de données.

Exécuter un scan Nmap en dehors de Metasploit en sauvegardant en XML

Dans cette étape, vous allez effectuer un scan Nmap de base et sauvegarder ses résultats dans un fichier XML. Le format XML est idéal pour l'importation dans d'autres outils car il est structuré et facile à analyser. Nous allons scanner localhost pour identifier les services en cours d'exécution et leurs versions.

Tout d'abord, assurez-vous d'être dans le répertoire de projet par défaut, /home/labex/project.

Exécutez la commande nmap suivante dans votre terminal. Voici une explication des options :

  • -sV : Sonde les ports ouverts pour déterminer les informations de service/version.
  • -oX nmap_scan.xml : Affiche les résultats du scan au format XML dans un fichier nommé nmap_scan.xml.
  • localhost : La cible de notre scan.
nmap -sV -oX nmap_scan.xml localhost

Une fois le scan terminé, vous verrez une sortie similaire à la suivante, résumant les résultats. Les ports ouverts exacts peuvent varier.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
...

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.43 seconds

Cette commande crée un fichier nommé nmap_scan.xml dans votre répertoire actuel (~/project).

Utiliser la commande db_import dans msfconsole

Dans cette étape, vous allez démarrer la console Metasploit Framework. msfconsole est l'interface principale pour interagir avec Metasploit, vous permettant d'accéder à ses modules, de gérer les données et de lancer des attaques.

Nous allons démarrer msfconsole avec l'option -q (quiet) pour supprimer la bannière de démarrage et obtenir une interface plus épurée. La connexion à la base de données sera établie automatiquement.

Exécutez la commande suivante pour lancer la console Metasploit :

msfconsole -q

Après quelques instants, l'invite de votre terminal changera pour msf6 >, indiquant que vous êtes maintenant dans la console Metasploit.

msf6 >

À l'intérieur de msfconsole, vous avez accès à de nombreuses commandes pour gérer votre flux de travail de test d'intrusion. L'une d'elles est db_import, que nous utiliserons à l'étape suivante pour charger nos données de scan Nmap.

Spécifier le chemin du fichier XML Nmap

Maintenant que vous êtes dans la console Metasploit, vous pouvez importer les résultats du scan Nmap. La commande db_import est utilisée à cette fin. Vous devez fournir le chemin complet du fichier XML que vous avez créé à la première étape.

Étant donné que vous avez créé le fichier dans /home/labex/project, vous utiliserez ce chemin.

Exécutez la commande db_import à l'invite de msfconsole :

db_import /home/labex/project/nmap_scan.xml

Metasploit va analyser le fichier XML et importer les données dans sa base de données. Vous devriez voir une sortie confirmant que les données sont en cours d'importation.

msf6 > db_import /home/labex/project/nmap_scan.xml
[*] Importing 'Nmap XML' data from /home/labex/project/nmap_scan.xml
[*] Importing host 127.0.0.1
[*] Successfully imported /home/labex/project/nmap_scan.xml

Ce message confirme que les hôtes, les ports et les services de votre scan Nmap sont maintenant stockés dans la base de données Metasploit.

Vérifier les hôtes importés avec la commande hosts

Dans cette étape, vous allez vérifier que les informations sur les hôtes ont été correctement importées dans la base de données Metasploit. La commande hosts dans msfconsole liste tous les hôtes dont Metasploit a connaissance dans l'espace de travail actuel.

Après avoir importé les données du scan, l'exécution de la commande hosts devrait afficher la cible que vous avez scannée, qui était localhost (127.0.0.1).

Dans l'invite de msfconsole, tapez la commande hosts et appuyez sur Entrée :

hosts

La sortie sera un tableau listant les hôtes dans la base de données, y compris leur adresse IP, leur adresse MAC (si disponible), leur nom et leur système d'exploitation.

msf6 > hosts

Hosts
=====

address      mac  name       os_name        os_flavor  os_sp  purpose  info  comments
-------      ---  ----       -------        ---------  -----  -------  ----  --------
127.0.0.1         localhost  Ubuntu Linux   Linux             device

Voir 127.0.0.1 dans la liste confirme que les données de l'hôte de votre scan Nmap ont été correctement ajoutées à la base de données.

Interroger les services importés avec la commande services

Dans cette dernière étape, vous allez inspecter les services qui ont été découverts sur l'hôte importé. La commande services dans msfconsole liste tous les ports ouverts et les services en cours d'exécution qui ont été ajoutés à la base de données. Ceci est crucial pour identifier les vecteurs d'attaque potentiels.

Exécutez la commande services dans l'invite de msfconsole :

services

Ceci affichera un tableau détaillé de tous les services, y compris l'hôte sur lequel ils s'exécutent, le port, le protocole, le nom du service et les informations de version.

msf6 > services

Services
========

host       port  proto  name  state  info
----       ----  -----  ----  -----  ----
127.0.0.1  22    tcp    ssh   open   OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)

Cette sortie montre les services spécifiques trouvés par Nmap, maintenant organisés de manière ordonnée dans Metasploit. Vous pouvez maintenant utiliser ces informations pour rechercher des exploits ou des modules auxiliaires pertinents au sein du framework.

Pour quitter la console Metasploit, tapez simplement exit.

exit

Résumé

Dans ce laboratoire, vous avez appris avec succès un flux de travail fondamental pour intégrer des outils externes avec le Metasploit Framework.

Vous avez appris à :

  • Exécuter un scan Nmap avec détection de version et enregistrer les résultats dans un fichier XML.
  • Démarrer la console Metasploit et utiliser la commande db_import pour charger les données du scan Nmap.
  • Vérifier les données importées en utilisant la commande hosts pour visualiser les hôtes découverts.
  • Interroger la base de données pour obtenir des informations détaillées sur les services en utilisant la commande services.

Ce processus d'importation des données de scan est essentiel pour une gestion efficace des données lors d'un test d'intrusion, vous permettant de consolider les informations provenant de diverses sources dans une plateforme unique et puissante pour l'analyse et l'exploitation.