Einführung
In diesem Lab lernen Sie, wie Sie die leistungsstarken Netzwerk-Scanning-Funktionen von Nmap mit dem Metasploit Framework integrieren. Obwohl Metasploit über eigene integrierte Scan-Funktionen verfügt, müssen Sie oft Ergebnisse von externen Tools wie Nmap importieren. Dies ist ein gängiger Workflow beim Penetration Testing, da es Ihnen ermöglicht, alle Ihre Aufklärungsdaten innerhalb der Datenbank von Metasploit zu zentralisieren.
Durch den Import von Nmap-Scan-Ergebnissen können Sie die Datenverwaltungs- und Ausbeutungsfunktionen von Metasploit auf den von Nmap entdeckten Hosts und Diensten nutzen. Sie führen einen Nmap-Scan durch, speichern die Ausgabe in einer XML-Datei und verwenden dann den Befehl db_import in der Metasploit-Konsole, um seine Datenbank zu befüllen.
Nmap-Scan außerhalb von Metasploit ausführen und in XML speichern
In diesem Schritt führen Sie einen grundlegenden Nmap-Scan durch und speichern dessen Ergebnisse in einer XML-Datei. Das XML-Format ist ideal für den Import in andere Tools, da es strukturiert und leicht zu parsen ist. Wir werden localhost scannen, um laufende Dienste und deren Versionen zu identifizieren.
Stellen Sie zunächst sicher, dass Sie sich im Standardprojektverzeichnis /home/labex/project befinden.
Führen Sie den folgenden nmap-Befehl in Ihrem Terminal aus. Hier ist eine Aufschlüsselung der Optionen:
-sV: Untersucht offene Ports, um Service-/Versionsinformationen zu ermitteln.-oX nmap_scan.xml: Gibt die Scan-Ergebnisse im XML-Format in eine Datei namensnmap_scan.xmlaus.localhost: Das Ziel unseres Scans.
nmap -sV -oX nmap_scan.xml localhost
Nach Abschluss des Scans sehen Sie eine Ausgabe, die den Ergebnissen ähnlich ist und diese zusammenfasst. Die genauen offenen Ports können variieren.
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
Dieser Befehl erstellt eine Datei namens nmap_scan.xml in Ihrem aktuellen Verzeichnis (~/project).
Verwenden des db_import-Befehls in msfconsole
In diesem Schritt starten Sie die Metasploit Framework-Konsole. msfconsole ist die primäre Schnittstelle für die Interaktion mit Metasploit und ermöglicht Ihnen den Zugriff auf seine Module, die Verwaltung von Daten und den Start von Angriffen.
Wir starten msfconsole mit dem Flag -q (quiet), um das Startbanner für eine sauberere Benutzeroberfläche zu unterdrücken. Die Datenbankverbindung wird automatisch hergestellt.
Führen Sie den folgenden Befehl aus, um die Metasploit-Konsole zu starten:
msfconsole -q
Nach einigen Momenten ändert sich Ihre Terminal-Eingabeaufforderung zu msf6 >, was anzeigt, dass Sie sich nun innerhalb der Metasploit-Konsole befinden.
msf6 >
Innerhalb von msfconsole haben Sie Zugriff auf viele Befehle zur Verwaltung Ihres Penetration-Testing-Workflows. Einer davon ist db_import, den wir im nächsten Schritt verwenden werden, um unsere Nmap-Scan-Daten zu laden.
Pfad zur Nmap-XML-Datei angeben
Nachdem Sie sich in der Metasploit-Konsole befinden, können Sie die Nmap-Scan-Ergebnisse importieren. Der Befehl db_import wird zu diesem Zweck verwendet. Sie müssen den vollständigen Pfad zu der XML-Datei angeben, die Sie im ersten Schritt erstellt haben.
Da Sie die Datei in /home/labex/project erstellt haben, werden Sie diesen Pfad verwenden.
Führen Sie den Befehl db_import innerhalb der msfconsole-Eingabeaufforderung aus:
db_import /home/labex/project/nmap_scan.xml
Metasploit wird die XML-Datei parsen und die Daten in seine Datenbank importieren. Sie sollten eine Bestätigung sehen, dass die Daten importiert werden.
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
Diese Meldung bestätigt, dass die Hosts, Ports und Dienste aus Ihrem Nmap-Scan nun in der Metasploit-Datenbank gespeichert sind.
Importierte Hosts mit dem hosts-Befehl überprüfen
In diesem Schritt überprüfen Sie, ob die Host-Informationen erfolgreich in die Metasploit-Datenbank importiert wurden. Der Befehl hosts in msfconsole listet alle Hosts auf, die Metasploit im aktuellen Workspace kennt.
Nach dem Import der Scan-Daten sollte die Ausführung des Befehls hosts das von Ihnen gescannte Ziel anzeigen, nämlich localhost (127.0.0.1).
Geben Sie im msfconsole-Prompt den Befehl hosts ein und drücken Sie Enter:
hosts
Die Ausgabe ist eine Tabelle, die die Hosts in der Datenbank auflistet, einschließlich ihrer IP-Adresse, MAC-Adresse (falls verfügbar), ihres Namens und ihres Betriebssystems.
msf6 > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
127.0.0.1 localhost Ubuntu Linux Linux device
Wenn Sie 127.0.0.1 in der Liste sehen, bestätigt dies, dass die Host-Daten aus Ihrem Nmap-Scan korrekt zur Datenbank hinzugefügt wurden.
Importierte Dienste mit dem services-Befehl abfragen
In diesem letzten Schritt inspizieren Sie die Dienste, die auf dem importierten Host entdeckt wurden. Der Befehl services in msfconsole listet alle offenen Ports und laufenden Dienste auf, die zur Datenbank hinzugefügt wurden. Dies ist entscheidend für die Identifizierung potenzieller Angriffsvektoren.
Führen Sie den Befehl services innerhalb der msfconsole-Eingabeaufforderung aus:
services
Dies zeigt eine detaillierte Tabelle aller Dienste an, einschließlich des Hosts, auf dem sie laufen, des Ports, des Protokolls, des Dienstnamens und der Versionsinformationen.
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)
Diese Ausgabe zeigt die spezifischen Dienste, die von Nmap gefunden wurden und nun übersichtlich in Metasploit organisiert sind. Sie können diese Informationen nun verwenden, um nach relevanten Exploits oder Hilfsmodulen innerhalb des Frameworks zu suchen.
Um die Metasploit-Konsole zu verlassen, geben Sie einfach exit ein.
exit
Zusammenfassung
In diesem Lab haben Sie erfolgreich einen grundlegenden Workflow für die Integration externer Tools in das Metasploit Framework erlernt.
Sie haben gelernt, wie Sie:
- Einen Nmap-Scan mit Versionserkennung durchführen und die Ergebnisse in einer XML-Datei speichern.
- Die Metasploit-Konsole starten und den Befehl
db_importverwenden, um die Nmap-Scan-Daten zu laden. - Die importierten Daten mit dem Befehl
hostsüberprüfen, um erkannte Hosts anzuzeigen. - Die Datenbank mit dem Befehl
servicesnach detaillierten Dienstinformationen abfragen.
Dieser Prozess des Imports von Scan-Daten ist für ein effektives Datenmanagement während eines Penetrationstests unerlässlich. Er ermöglicht es Ihnen, Informationen aus verschiedenen Quellen auf einer einzigen, leistungsstarken Plattform für Analyse und Ausnutzung zu konsolidieren.


