Einleitung
Metasploit ist ein leistungsstarkes Framework für Penetrationstests, das Hacking vereinfacht. Doch selbst mit den besten Werkzeugen können Exploits aus verschiedenen Gründen fehlschlagen: falsche Zielinformationen, ein gepatchtes System oder Netzwerkprobleme. Zu wissen, wie man diese Fehler diagnostiziert und behebt, ist eine entscheidende Fähigkeit für jeden Sicherheitsexperten.
In diesem Lab lernen Sie den grundlegenden Workflow zur Fehlerbehebung eines fehlschlagenden Exploits in Metasploit. Wir werden einen Exploit absichtlich falsch konfigurieren, den Fehler beobachten und dann die integrierten Werkzeuge von Metasploit verwenden, um das Problem zu identifizieren und zu beheben. Sie lernen den Umgang mit Befehlen wie show options, check und der Einstellung Verbose, um die benötigten Informationen für Ihren Erfolg zu erhalten.
Für dieses Lab wurde im Hintergrund auf Ihrem lokalen Rechner ein anfälliger FTP-Server gestartet, der als unser Ziel dient.
Exploit auswählen und falsche Optionen setzen
In diesem Schritt starten wir die Metasploit Framework-Konsole, wählen ein Exploit-Modul aus und konfigurieren es absichtlich mit einer falschen Option, um einen häufigen Benutzerfehler zu simulieren. Dies bereitet die Bühne für den Fehlerbehebungsprozess.
Öffnen Sie zuerst Ihr Terminal und starten Sie die Metasploit-Konsole. Wir verwenden das Flag -q (quiet), um das Banner zu überspringen und den Ladevorgang zu beschleunigen.
msfconsole -q
Sobald Sie sich an der Eingabeaufforderung msf6 > befinden, suchen wir nach einem Exploit, der auf den vsftpd-Dienst abzielt.
search vsftpd
Sie sehen eine Liste von Modulen. Wir sind an exploit/unix/ftp/vsftpd_234_backdoor interessiert. Wählen wir es mit dem Befehl use aus.
use exploit/unix/ftp/vsftpd_234_backdoor
Ihre Eingabeaufforderung ändert sich, um anzuzeigen, dass das Exploit-Modul nun aktiv ist. Nun müssen wir das Ziel konfigurieren. Die wichtigste Option ist RHOSTS, was für Remote Hosts steht. Wir werden dies absichtlich auf eine falsche IP-Adresse setzen.
set RHOSTS 192.168.1.100
Sie erhalten eine Bestätigung, dass RHOSTS gesetzt wurde. Wir haben nun einen Exploit vorbereitet, der garantiert fehlschlägt.
Exploit ausführen und Fehlermeldung beobachten
In diesem Schritt führen Sie den falsch konfigurierten Exploit aus und lernen, die resultierende Fehlermeldung zu interpretieren. Dies ist der erste und wichtigste Teil der Fehlerbehebung.
Nachdem der Exploit vsftpd_234_backdoor ausgewählt und die falsche RHOSTS-Einstellung vorgenommen wurde, versuchen wir, ihn auszuführen. Sie können entweder den Befehl run oder exploit verwenden.
run
Der Exploit versucht, eine Verbindung zur von uns angegebenen IP-Adresse (192.168.1.100) herzustellen. Da dieser Host von der Laborumgebung aus nicht erreichbar ist, wird der Exploit fehlschlagen. Sie sehen eine Ausgabe, die der folgenden ähnelt:
[*] 192.168.1.100:21 - The target is not exploitable.
[*] Exploit completed, but no session was created.
Die Meldung The target is not exploitable oder eine ähnliche Verbindungsfehlermeldung ist ein klares Indiz dafür, dass Metasploit den Ziel-Service nicht erreichen oder mit ihm interagieren konnte. Dies deutet darauf hin, dass das Problem wahrscheinlich mit dem Netzwerk oder der Konfiguration des Zielhosts zusammenhängt.
Befehl show options zur Überprüfung der Konfiguration verwenden
Nachdem wir einen Fehler gesehen haben, ist der erste logische Schritt in diesem Schritt, unsere Einstellungen zu überprüfen. Der Befehl show options ist das primäre Werkzeug für diese Aufgabe. Er zeigt alle konfigurierbaren Parameter für das aktuelle Modul an.
Überprüfen wir die Optionen, die wir für unseren Exploit gesetzt haben.
show options
Dieser Befehl zeigt eine Tabelle mit Optionen für den Exploit vsftpd_234_backdoor an:
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 192.168.1.100 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
Betrachten Sie genau die Einstellung Current Setting für RHOSTS. Sie lautet 192.168.1.100, von der wir wissen, dass sie falsch ist. Der anfällige Dienst für dieses Labor läuft auf dem lokalen Rechner. Die IP-Adresse für den lokalen Rechner ist 127.0.0.1.
Korrigieren wir den Wert für RHOSTS.
set RHOSTS 127.0.0.1
Wenn Sie nun erneut show options ausführen, sehen Sie, dass der Wert für RHOSTS korrekt aktualisiert wurde.
Befehl check zur Überprüfung der Ausnutzbarkeit verwenden
In diesem Schritt lernen Sie, den Befehl check zu verwenden. Bevor Sie einen Exploit ausführen, ist es oft ratsam zu prüfen, ob das Ziel tatsächlich anfällig ist. Der Befehl check ermöglicht Ihnen dies sicher, ohne die Exploit-Payload tatsächlich auszuführen. Beachten Sie, dass nicht alle Module diese Funktion unterstützen.
Nachdem wir die Option RHOSTS korrigiert haben, verwenden wir nun check, um zu sehen, ob Metasploit das Ziel als anfällig einstuft.
check
Wenn das Ziel korrekt konfiguriert ist und der Dienst anfällig ist, sollten Sie eine positive Bestätigungsmeldung sehen.
[*] 127.0.0.1:21 - The target is vulnerable.
Diese Meldung, The target is vulnerable, gibt uns hohe Zuversicht, dass der Exploit bei der Ausführung erfolgreich sein wird. Sie bestätigt, dass Metasploit eine Verbindung zum Ziel herstellen und die Anwesenheit der Backdoor verifizieren konnte. Wenn dies fehlgeschlagen wäre, müssten wir weiter untersuchen, aber vorerst ist dies ein sehr gutes Zeichen.
Option Verbose auf true setzen und erneut ausführen für mehr Details
In diesem Schritt lernen Sie die Option Verbose kennen. Manchmal schlägt ein Exploit fehl, auch wenn check erfolgreich war. Um mehr Einblick zu erhalten, was der Exploit im Hintergrund tut, können Sie die detaillierte Protokollierung (verbose logging) aktivieren. Dies ist eine globale Einstellung, die alle Module betrifft.
Aktivieren wir den ausführlichen Modus mit dem Befehl setg, der einen Wert global setzt.
setg Verbose true
Nun, mit aktiviertem ausführlichem Modus und den korrekten RHOSTS, führen wir den Exploit erneut aus.
run
Dieses Mal sehen Sie viel detailliertere Ausgaben. Die ausführliche Protokollierung zeigt Ihnen den schrittweisen Prozess des Exploits, einschließlich Verbindungsversuchen und gesendeten Daten. Am wichtigsten ist, dass der Exploit nun erfolgreich sein sollte.
[*] 127.0.0.1:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 127.0.0.1:21 - USER: Sending "USER back:)"
[*] 127.0.0.1:21 - PASS: Sending "PASS moor"
[+] 127.0.0.1:21 - Found shell.
[*] Command shell session 1 opened (127.0.0.1:43999 -> 127.0.0.1:6200) at 2023-10-27 10:00:00 -0400
Erfolg! Die Meldung Command shell session 1 opened bestätigt, dass Sie das Ziel erfolgreich kompromittiert haben. Sie haben nun eine Kommandozeile auf dem entfernten System. Sie können diese testen, indem Sie einen einfachen Befehl wie whoami ausführen.
whoami
Sie sollten die Ausgabe root sehen. Um die Shell zu verlassen und zur Metasploit-Eingabeaufforderung zurückzukehren, drücken Sie Strg + C oder geben Sie exit ein.
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss des Labs! Sie haben erfolgreich den grundlegenden Prozess zur Fehlerbehebung eines fehlschlagenden Exploits im Metasploit Framework gelernt.
In diesem Lab haben Sie einen systematischen Ansatz zur Problemlösung geübt:
- Fehler beobachten: Sie haben zuerst einen falsch konfigurierten Exploit ausgeführt, um dessen Fehlschlag zu sehen.
- Optionen überprüfen: Sie haben
show optionsverwendet, um die Konfiguration zu inspizieren und einen falschenRHOSTS-Wert zu identifizieren. - Schwachstelle prüfen: Sie haben den Befehl
checkverwendet, um nach Korrektur der Konfiguration sicher zu überprüfen, ob das Ziel anfällig war. - Mehr Details erhalten: Sie haben gelernt,
setg Verbose truezu verwenden, um detaillierte, schrittweise Ausgaben zu erhalten, was für die Diagnose komplexerer Probleme von unschätzbarem Wert ist.
Diese Kernkompetenzen werden Ihnen helfen, häufige Hindernisse zu überwinden und Metasploit effektiver bei Ihren Penetration-Testing-Aktivitäten einzusetzen.


