Einführung
Willkommen zum Lab „Verständnis von Exploit-Modulen“!
Beim Penetration Testing bedeutet die Nutzbarmachung (Weaponization) einer Schwachstelle, ein Exploit-Modul zu verwenden, um ein Payload an ein Zielsystem zu übermitteln. Das Metasploit Framework ist eines der beliebtesten Werkzeuge für diesen Zweck und bietet eine riesige, durchsuchbare Datenbank mit Exploit-Modulen für zahlreiche bekannte Schwachstellen.
Professionelle Exploitation ist jedoch kein „Suchen und Abfeuern“. Es ist ein methodischer Prozess: das richtige Modul auswählen, dessen Annahmen verstehen, es sorgfältig konfigurieren und das Ziel überprüfen, bevor man riskante oder störende Aktionen durchführt.
In diesem Lab lernen Sie die Standardmethodik für die Verwendung dieser Module. Sie üben die Suche nach einem realen Exploit, die Analyse der Modulanforderungen, die Konfiguration der Zieloptionen und die sichere Überprüfung eines live verwundbaren Dienstes, bevor ein tatsächlicher Angriff gestartet wird.
Suche nach spezifischen Exploits (CVE/Name)
In diesem Schritt lernen Sie, wie Sie die Metasploit Framework Konsole starten und nach spezifischen Exploit-Modulen suchen.
Metasploit enthält Tausende von Modulen. Um das richtige zu finden, können Sie den Befehl search verwenden. Sie können nach dem Namen der Software, der Art der Schwachstelle oder spezifischen Kennungen wie einer CVE-Nummer suchen. Für dieses Lab arbeiten wir mit einem echten Shellshock-Ziel, das unter 127.0.0.1:8080 erreichbar ist.
Starten Sie zunächst die Metasploit-Konsole. Das Flag -q wird verwendet, um sie im „Quiet“-Modus zu starten, wodurch das Start-Banner übersprungen wird.
msfconsole -q
Sobald die Konsole geladen ist, ändert sich Ihr Prompt zu msf6 >. Verwenden Sie nun den Befehl search, um Module zu finden, die sich auf Shellshock beziehen.
Die Suche nach Schwachstellenfamilien oder CVEs ist oft der schnellste Weg von der Aufklärung (Reconnaissance) zur Auswahl der passenden Exploit-Logik.
search shellshock
Sie sehen eine Tabelle mit den passenden Modulen. Achten Sie auf die Spalte „Name“, die den Pfad des Moduls anzeigt. Für dieses Lab ist das Exploit-Modul exploit/multi/http/apache_mod_cgi_bash_env_exec relevant. Die Spalte „Disclosure Date“ gibt an, wann die Schwachstelle öffentlich wurde. Die Spalte „Rank“ beschreibt, wie zuverlässig der Exploit ist (z. B. Excellent, Good oder Normal). Schließlich gibt die Spalte „Check“ an, ob das Modul eine sicherere Schwachstellenprüfung unterstützt.
Analyse von Modulinformationen (info)
In diesem Schritt wählen Sie das gefundene Exploit-Modul aus und analysieren dessen Details.
Um Metasploit mitzuteilen, mit welchem Modul Sie arbeiten möchten, verwenden Sie den Befehl use, gefolgt vom Namen des Moduls (dem Pfad, der in den Suchergebnissen angezeigt wurde).
Geben Sie den folgenden Befehl in Ihrem msf6 > Prompt ein:
use exploit/multi/http/apache_mod_cgi_bash_env_exec
Beachten Sie, dass Ihr Prompt nun den Modulnamen enthält, was anzeigt, dass es aktiv ist. Bevor Sie etwas konfigurieren, ist es bewährte Praxis zu verstehen, was das Modul tut. Dies können Sie mit dem Befehl info erreichen.
info
Der Befehl info liefert eine Fülle von Informationen. Dazu gehören Details darüber, wer das Modul bereitgestellt hat, wie etwa die Autoren und Forscher, die es entwickelt haben. Er listet auch die grundlegenden Optionen auf – das sind die Parameter, die Sie im nächsten Schritt konfigurieren müssen. Darüber hinaus bietet er eine detaillierte Beschreibung, wie die Schwachstelle funktioniert und wie der Exploit sie ausnutzt. Schließlich enthält er Referenzen, also Links zu externen Datenbanken (wie der National Vulnerability Database) für weiterführende Informationen.
Das Lesen dieser Informationen ist Teil der professionellen Disziplin eines Operators. Ein Modul erfordert möglicherweise einen sehr spezifischen Pfad, ein bestimmtes Protokollverhalten oder eine bestimmte Umgebung. Wenn Sie diesen Kontext ignorieren, raten Sie im Grunde nur.
Nehmen Sie sich einen Moment Zeit, um die Beschreibung zu lesen und die Mechanismen der Shellshock-Schwachstelle zu verstehen sowie wie dieses Modul CGI-Umgebungsvariablen missbraucht.
Konfiguration von Exploit-Zielen und Optionen
In diesem Schritt konfigurieren Sie die notwendigen Optionen, um das Exploit-Modul auf Ihr spezifisches Ziel auszurichten.
Jedes Modul erfordert die Einstellung bestimmter Parameter. Um die aktuelle Konfiguration anzuzeigen, verwenden Sie den Befehl show options:
show options
Achten Sie auf die Spalte „Required“. Wenn eine Option yes anzeigt, muss sie konfiguriert werden, bevor das Modul ausgeführt werden kann. Die häufigsten Optionen, die Sie festlegen müssen, sind RHOSTS (Remote Host, die IP-Adresse Ihres Ziels) und RPORT (Remote Port, der Port, auf dem der verwundbare Dienst läuft). Für Web-Exploit-Module benötigen Sie oft auch TARGETURI, das Metasploit mitteilt, welcher HTTP-Pfad die bösartige Anfrage empfangen soll.
Unser verwundbares Ziel läuft lokal auf Port 8080, und der verwundbare CGI-Pfad lautet /cgi-bin/vulnerable. Verwenden Sie den Befehl set, um diese Parameter zu konfigurieren:
set RHOSTS 127.0.0.1
set RPORT 8080
set TARGETURI /cgi-bin/vulnerable
Nachdem Sie die Werte festgelegt haben, ist es immer eine gute Idee zu überprüfen, ob Ihre Änderungen korrekt übernommen wurden. Führen Sie den Befehl show options erneut aus:
show options
Sie sollten nun 127.0.0.1 unter „Current Setting“ für RHOSTS, 8080 für RPORT und /cgi-bin/vulnerable für TARGETURI sehen.
Überprüfung des Schwachstellenstatus (check)
In diesem Schritt verifizieren Sie, ob das Ziel tatsächlich verwundbar ist, bevor Sie einen Angriff starten.
Der check-Workflow existiert, weil Sicherheit und Zuverlässigkeit wichtig sind. Die vorherige Bestätigung der Anfälligkeit reduziert unnötiges Rauschen, fehlgeschlagene Versuche und Instabilität des Dienstes.
Beim professionellen Penetration Testing kann das blinde Abfeuern von Exploits Dienste zum Absturz bringen oder Sicherheitsalarme auslösen. Glücklicherweise unterstützen viele Metasploit-Module (einschließlich des von uns verwendeten) den Befehl check.
Der Befehl check sendet eine Sonde an das Ziel, um festzustellen, ob die Schwachstelle existiert, ohne sofort ein vollständiges Exploit-Payload zu starten.
Führen Sie den folgenden Befehl in Ihrem Metasploit-Prompt aus:
check
In diesem Lab ist das Shellshock-Ziel absichtlich verwundbar, daher sollten Sie eine Ausgabe ähnlich dieser sehen:
[+] 127.0.0.1:8080 - The target is vulnerable.
Dies bestätigt, dass das Ziel für das Modul anfällig ist. Sie haben nun den Kern-Workflow für Exploit-Module abgeschlossen: das richtige Modul suchen, die Dokumentation lesen, die erforderlichen Optionen konfigurieren und das Ziel vor der Exploitation validieren.
Wenn Sie eine zusätzliche manuelle Bestätigung außerhalb von Metasploit wünschen, können Sie den Dienst von einem anderen Terminal aus mit curl http://127.0.0.1:8080 testen und verifizieren, dass der CGI-Pfad unter http://127.0.0.1:8080/cgi-bin/vulnerable existiert.
Da wir unser Ziel erreicht haben, die Modul-Methodik zu verstehen, können Sie die Metasploit-Konsole nun beenden:
exit
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab „Verständnis von Exploit-Modulen“ erfolgreich abgeschlossen.
In diesem Lab haben Sie die grundlegende Methodik zur Nutzbarmachung von Schwachstellen mit dem Metasploit Framework erlernt. Sie haben die Suche nach einem echten Shellshock-Exploit geübt, Modulbeschreibungen und -anforderungen analysiert, Remote-Zieloptionen wie RHOSTS, RPORT und TARGETURI konfiguriert und die integrierte check-Funktionalität genutzt, um ein verwundbares Ziel sicher zu verifizieren. Diese Schritte bilden den Kern-Workflow für jeden Penetration Tester, der mit Exploit-Modulen arbeitet.



