Einleitung
In diesem Lab lernen Sie die Grundlagen der Verwendung des Metasploit Frameworks für die Informationsbeschaffung. Insbesondere konzentrieren Sie sich auf die FTP (File Transfer Protocol) Enumeration mithilfe eines Auxiliary Scanner Moduls.
Metasploit ist ein leistungsstarkes Framework für Penetrationstests, das Hacking vereinfacht. Es enthält eine riesige Sammlung von Tools, Exploits und Modulen. Auxiliary Module sind eine Schlüsselkomponente, die für Aufgaben wie Scannen, Fuzzing und Aufklärung verwendet werden und keine direkte Ausnutzung beinhalten.
FTP-Enumeration ist der Prozess des Sammelns von Informationen über einen FTP-Dienst, wie z. B. seine Version, Konfiguration und ob er anonymen Zugriff erlaubt. Diese Informationen sind entscheidend für die Identifizierung potenzieller Schwachstellen. Wir werden das ftp_version Auxiliary Modul verwenden, um ein Ziel zu scannen und die laufende FTP-Server-Software zu identifizieren.
Am Ende dieses Labs werden Sie mit dem grundlegenden Workflow vertraut sein, um ein Metasploit-Modul zu finden, zu konfigurieren und auszuführen.
Suche nach dem ftp_version Auxiliary Modul
In diesem Schritt starten Sie die Metasploit Framework Konsole und suchen nach einem geeigneten Modul für das Scannen der FTP-Version. Die Metasploit Konsole ist die primäre Schnittstelle für die Interaktion mit dem Framework.
Öffnen Sie zuerst ein Terminal und starten Sie die Metasploit Konsole. Wir verwenden das -q Flag für einen "ruhigen" Start, der das Banner unterdrückt und eine sauberere Benutzeroberfläche bietet.
msfconsole -q
Sobald Sie sich in der msfconsole Eingabeaufforderung befinden, können Sie den search Befehl verwenden, um Module zu finden. Wir suchen nach einem Modul, das die Version eines FTP-Servers identifizieren kann. Ein gutes Schlüsselwort für die Suche ist ftp_version.
Geben Sie den folgenden Befehl in die msfconsole Eingabeaufforderung ein:
search ftp_version
Sie sehen eine Liste der übereinstimmenden Module. Dasjenige, das uns interessiert, ist ein Auxiliary Scanner.
msf6 > search ftp_version
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ftp/ftp_version normal No FTP Version Scanner
1 exploit/windows/ftp/ftpshell_version_bof 2010-05-12 good No FTPShell 6.70 (Windows 7) Version Stack Buffer Overflow
Die Ausgabe zeigt das Modul auxiliary/scanner/ftp/ftp_version, das genau das ist, was wir für unsere Aufgabe benötigen.
Auswahl des ftp_version Moduls
In diesem Schritt wählen Sie das Modul aus, das Sie im vorherigen Schritt gefunden haben. Nachdem Sie mit dem search Befehl ein geeignetes Modul identifiziert haben, müssen Sie es in den Kontext des Frameworks laden, um es zu konfigurieren und auszuführen.
Der Befehl zur Auswahl eines Moduls ist use, gefolgt vom vollständigen Namen des Moduls aus den Suchergebnissen.
Basierend auf der Ausgabe des vorherigen Schritts verwenden Sie den folgenden Befehl, um den FTP-Versionsscanner auszuwählen:
use auxiliary/scanner/ftp/ftp_version
Nachdem Sie diesen Befehl ausgeführt haben, werden Sie feststellen, dass sich die msfconsole Eingabeaufforderung ändert. Sie enthält nun den Namen des ausgewählten Moduls, was darauf hinweist, dass Sie sich in dessen Kontext befinden.
msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(scanner/ftp/ftp_version) >
Diese neue Eingabeaufforderung bestätigt, dass das ftp_version Modul nun aktiv und zur Konfiguration bereit ist.
Setzen der RHOSTS Option auf die Ziel-IP
In diesem Schritt konfigurieren Sie das ausgewählte Modul. Die meisten Metasploit-Module erfordern, dass Sie bestimmte Optionen setzen, bevor sie ausgeführt werden können. Für Scanner-Module ist die gebräuchlichste Option RHOSTS, was für "Remote Hosts" steht. Diese Option teilt dem Modul mit, welche(n) Ziel(e) gescannt werden sollen.
Unsere Laborumgebung hat einen FTP-Server, der auf derselben Maschine (localhost) läuft. Die IP-Adresse für localhost ist 127.0.0.1.
Um eine Option in Metasploit zu setzen, verwenden Sie den Befehl set, gefolgt vom Optionsnamen und seinem Wert.
Setzen Sie die RHOSTS Option auf unsere Ziel-IP-Adresse:
set RHOSTS 127.0.0.1
Metasploit bestätigt die Änderung, indem es die neue Einstellung zurückgibt.
msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1
Nun weiß das Modul, welches Ziel gescannt werden soll.
Moduloptionen mit show options anzeigen und verstehen
In diesem Schritt lernen Sie, wie Sie die Konfiguration eines Moduls anzeigen und überprüfen. Bevor Sie ein Modul ausführen, ist es immer eine gute Praxis, alle seine Optionen zu überprüfen, um sicherzustellen, dass alles korrekt eingestellt ist.
Der Befehl show options zeigt alle konfigurierbaren Parameter für das aktuell aktive Modul an.
Führen Sie den folgenden Befehl aus, um die Optionen für den ftp_version Scanner anzuzeigen:
show options
Dies zeigt eine Tabelle mit Details zu jeder Option an.
msf6 auxiliary(scanner/ftp/ftp_version) > show options
Module options (auxiliary/scanner/ftp/ftp_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 127.0.0.1 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 21 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads (max one per host)
Lassen Sie uns die Spalten aufschlüsseln:
- Name: Der Name der Option (z. B.
RHOSTS). - Current Setting: Der Wert, der der Option aktuell zugewiesen ist. Sie sehen, dass
127.0.0.1fürRHOSTSgesetzt ist. - Required: Gibt an, ob die Option gesetzt sein muss, damit das Modul ausgeführt werden kann (
yesoderno). - Description: Eine kurze Erklärung, was die Option tut.
Durch Überprüfung dieser Ausgabe können Sie bestätigen, dass die erforderliche RHOSTS Option korrekt auf unser Ziel gesetzt ist. Die anderen erforderlichen Optionen, RPORT und THREADS, haben bereits Standardwerte, die für unseren Scan geeignet sind.
Modul mit dem Befehl run ausführen
In diesem Schritt führen Sie das Modul aus, um den Scan durchzuführen. Sobald Sie ein Modul ausgewählt und alle erforderlichen Optionen konfiguriert haben, sind Sie bereit, es zu starten.
Der Befehl zum Ausführen eines Auxiliary-Moduls ist run. (Für Exploit-Module können Sie entweder run oder exploit verwenden).
Führen Sie nun den Scanner aus:
run
Das Modul wird eine Verbindung zum Ziel-FTP-Server am angegebenen Port herstellen und versuchen, dessen Versions-Banner abzurufen. Die Ausgabe zeigt die Ergebnisse des Scans.
msf6 auxiliary(scanner/ftp/ftp_version) > run
[+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5)
[*] 127.0.0.1:21 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Die Ausgabe [+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5) ist die wichtigste Information. Sie bestätigt, dass ein FTP-Server auf dem Ziel läuft und nennt uns seine Software und Version: vsFTPd 3.0.5. Dies ist eine erfolgreiche Enumeration.
Zusammenfassung
In diesem Lab haben Sie erfolgreich eine grundlegende FTP-Enumeration mit dem Metasploit Framework durchgeführt. Sie haben den grundlegenden Workflow für die Verwendung eines Auxiliary-Moduls gelernt, was eine Kernkompetenz für jeden Metasploit-Benutzer ist.
Sie haben die folgenden Schlüsselbefehle und Konzepte geübt:
- Starten der Metasploit-Konsole mit
msfconsole. - Suchen von Modulen mit dem Befehl
search. - Auswählen eines Moduls zur Verwendung mit dem Befehl
use. - Konfigurieren von Moduloptionen, wie z. B.
RHOSTS, mit dem Befehlset. - Überprüfen der Modulkonfiguration mit
show options. - Ausführen des Moduls zur Durchführung seiner Aufgabe mit dem Befehl
run.
Dieser Prozess des Suchens, Auswählens, Konfigurierens und Ausführens ist auf Tausende von Modulen innerhalb von Metasploit anwendbar und macht ihn zu einer grundlegenden Technik für Penetrationstests und Sicherheitsanalysen.


