Einführung
Willkommen in der Welt von Metasploit! Das Metasploit Framework ist ein unglaublich mächtiges Open-Source-Tool, das von Cybersicherheitsexperten zur Entwicklung, zum Testen und zur Ausführung von Exploits verwendet wird. Es enthält eine riesige Datenbank von Modulen, bei denen es sich um Code-Teile handelt, die für verschiedene Penetration-Testing-Aufgaben genutzt werden können. Diese Module umfassen Exploits, Payloads und Auxiliary-Tools.
In diesem Lab lernen Sie den grundlegenden Workflow für die Arbeit mit Metasploit-Modulen kennen. Sie beginnen mit dem Starten der Metasploit-Konsole, lernen dann, wie man nach spezifischen Modulen sucht, eines zur Verwendung auswählt und dessen grundlegende Optionen konfiguriert. Dies ist das grundlegende Fähigkeitenset für jeden angehenden Penetrationstester.
Exploits mit search type:exploit suchen
In diesem Schritt lernen Sie, wie Sie den Befehl search verwenden, um Module innerhalb des Metasploit Frameworks zu finden. Der Befehl search ist Ihr primäres Werkzeug zur Navigation durch die Tausenden von verfügbaren Modulen.
Zuerst starten wir die Metasploit Framework-Konsole. Das Hochfahren kann einen Moment dauern.
msfconsole
Sie sehen ein Banner und die Metasploit-Befehlszeile, die wie msf > aussieht. Alle nachfolgenden Befehle in diesem Lab werden innerhalb dieser Konsole ausgeführt.
Um Ihre Suche effektiver zu gestalten, können Sie Schlüsselwörter verwenden, um die Ergebnisse zu filtern. Eines der gebräuchlichsten Schlüsselwörter ist type, mit dem Sie die Art des gesuchten Moduls angeben können (z. B. exploit, payload, auxiliary).
Suchen wir nun nach allen Modulen, die als Exploits klassifiziert sind. Geben Sie den folgenden Befehl in die Metasploit-Konsole ein:
search type:exploit
Sie sehen eine lange Liste verfügbarer Exploits. Die Ausgabe ist in Spalten organisiert:
- #: Die Indexnummer des Suchergebnisses.
- Name: Der vollständige Pfad und Name des Moduls.
- Disclosure Date: Wann die Schwachstelle öffentlich bekannt gegeben wurde.
- Rank: Die Zuverlässigkeit des Exploits, von
low(niedrig) bisexcellent(exzellent). - Check: Gibt an, ob das Modul überprüfen kann, ob ein Ziel anfällig ist, ohne es auszunutzen.
- Description: Eine kurze Zusammenfassung der Funktion des Moduls.
msf > search type:exploit
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/windows/local/adobe_sandbox_esc 2011-04-15 excellent No Adobe Reader/Acrobat "Movie" Annotation Sandbox Escape
1 exploit/windows/fileformat/acdsee_pica 2011-01-12 good No ACDSee PicaView 2.0 EML File Parsing Buffer Overflow
... (Ausgabe gekürzt) ...
Dies gibt Ihnen eine allgemeine Vorstellung von den verfügbaren Exploits, aber die Liste ist zu lang, um praktisch zu sein. Im nächsten Schritt werden wir sie eingrenzen.
Suche nach Plattform filtern mit search platform:linux
In diesem Schritt lernen Sie, wie Sie Ihre Suchergebnisse verfeinern können. Die vorherige Suche lieferte Tausende von Exploits für viele verschiedene Betriebssysteme. Um einen relevanten Exploit zu finden, müssen Sie weitere Filter hinzufügen.
Das Schlüsselwort platform ermöglicht es Ihnen, Module basierend auf dem Zielbetriebssystem zu filtern, wie z. B. windows, linux, osx oder android. Sie können mehrere Schlüsselwörter in einem einzigen search-Befehl kombinieren, um eine sehr spezifische Abfrage zu erstellen.
Suchen wir nach Exploits, die speziell für die Linux-Plattform entwickelt wurden.
search type:exploit platform:linux
Die Ausgabe wird nun eine wesentlich kürzere, besser handhabbare Liste von Exploits sein, die für Linux-Systeme relevant sind.
msf > search type:exploit platform:linux
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/linux/http/advantech_switch_bash_env_exec 2014-09-24 excellent Yes Advantech Switch Bash Environment Variable Code Injection (Shellshock)
1 exploit/linux/http/airties_login_cgi_bof 2012-01-17 excellent No AirTies login.cgi Buffer Overflow
... (Ausgabe gekürzt) ...
Durch die Kombination von Schlüsselwörtern können Sie schnell den exakten Modul finden, den Sie für ein bestimmtes Ziel benötigen.
Exploit-Modul verwenden mit use exploit/multi/handler
In diesem Schritt wählen Sie ein Modul aus, mit dem Sie arbeiten möchten. Nachdem Sie ein Modul mit dem Befehl search gefunden haben, müssen Sie es mithilfe des Befehls use in den Kontext des Frameworks laden.
Der Befehl use benötigt den vollständigen Namen des Moduls als Argument. Sie können den Namen direkt aus den Suchergebnissen kopieren.
Für dieses Lab wählen wir ein spezielles und sehr häufig verwendetes Modul: exploit/multi/handler. Dieses Modul ist kein typischer Exploit, der auf eine spezifische Schwachstelle abzielt. Stattdessen handelt es sich um einen generischen Listener, der auf eine eingehende Verbindung von einer auf einem Zielsystem ausgeführten Payload wartet. Es ist ein grundlegendes Werkzeug zum Abfangen von Reverse Shells.
Laden Sie das Handler-Modul mit dem folgenden Befehl:
use exploit/multi/handler
Nachdem Sie den Befehl ausgeführt haben, werden Sie feststellen, dass sich Ihre Befehlszeile ändert.
msf > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf exploit(multi/handler) >
Die Eingabeaufforderung msf exploit(multi/handler) > zeigt an, dass Sie sich nun im Kontext des Moduls exploit/multi/handler befinden. Alle Befehle, die Sie jetzt ausführen, wie das Setzen von Optionen, gelten für dieses spezifische Modul.
Moduloptionen prüfen mit show options
In diesem Schritt lernen Sie, wie Sie die konfigurierbaren Parameter für das ausgewählte Modul anzeigen können. Jedes Modul verfügt über eine Reihe von Optionen, die Sie möglicherweise konfigurieren müssen, bevor es ausgeführt werden kann. Diese Optionen definieren das Verhalten des Moduls, wie z. B. die IP-Adresse des Ziels oder den Port, auf dem gelauscht werden soll.
Der Befehl show options zeigt alle verfügbaren Optionen für das aktuell geladene Modul an.
Da Sie sich nun im Kontext von exploit/multi/handler befinden, führen Sie den folgenden Befehl aus:
show options
Die Ausgabe listet die Optionen des Moduls zusammen mit ihren aktuellen Einstellungen und Beschreibungen auf.
msf exploit(multi/handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (generic/shell_reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
Achten Sie genau auf die Spalte Required (Erforderlich). Jede Option, die mit yes markiert ist, muss festgelegt werden, bevor Sie das Modul ausführen können. Für multi/handler sind LHOST (Listen Host) und LPORT (Listen Port) erforderlich. LHOST ist die IP-Adresse, auf der Ihr Rechner lauschen wird, und LPORT ist der Port.
Basiseinstellungen festlegen mit set LHOST
In diesem Schritt lernen Sie, wie Sie die Optionen eines Moduls mithilfe des Befehls set konfigurieren. Dieser Befehl ermöglicht es Ihnen, Werte für die Parameter zuzuweisen, die Sie zuvor mit show options gesehen haben.
Die allgemeine Syntax lautet set <OPTIONSNAME> <WERT>.
Für das Modul multi/handler ist die wichtigste zu konfigurierende Option LHOST, was für "Listen Host" (Zuhör-Host) steht. Diese Option legt die IP-Adresse fest, auf der der Handler auf eingehende Verbindungen von Payloads wartet.
Lassen Sie uns die Option LHOST auf die Loopback-Adresse 127.0.0.1 setzen, damit der Handler auf dem lokalen Rechner lauscht.
set LHOST 127.0.0.1
Metasploit bestätigt die Änderung:
LHOST => 127.0.0.1
Sie können überprüfen, ob die Option aktualisiert wurde, indem Sie erneut show options ausführen. Sie werden sehen, dass 127.0.0.1 als Current Setting (Aktuelle Einstellung) für LHOST aufgeführt ist. Dieser einfache set-Befehl ist die Methode, mit der Sie alle Module konfigurieren, bevor Sie einen Angriff starten.
Um die Metasploit-Konsole zu verlassen, können Sie exit eingeben.
exit
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die wesentlichen ersten Schritte für die Arbeit mit dem Metasploit Framework erlernt.
Sie wissen nun, wie Sie:
- Die Metasploit-Konsole starten (
msfconsole). - Module mithilfe des Befehls
searchsuchen und sie nachtype(Typ) undplatform(Plattform) filtern. - Ein spezifisches Modul zur Verwendung mit dem Befehl
useauswählen. - Die konfigurierbaren Parameter eines Moduls mit
show optionsanzeigen. - Die Parameter eines Moduls mithilfe des Befehls
setkonfigurieren (z. B. das Festlegen von LHOST für Listener).
Diese Befehle bilden den Kern-Workflow für jede Aufgabe, die Sie in Metasploit ausführen werden. Ihre Beherrschung ist der Schlüssel zur effektiven Nutzung dieses leistungsstarken Penetration-Testing-Tools.



