Metasploit Framework

1. Starten der 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

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:

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:

Die Eingabeaufforderung ändert sich dann auf das Modul:

2.5 Informationen zu einem Modul anzeigen

Um Informationen über das ausgewählte Modul anzuzeigen, benutze den Befehl 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:

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:

3.2 Payloads festlegen

Nachdem die Optionen konfiguriert sind, musst du einen Payload auswählen. Du kannst dir die verfügbaren Payloads anzeigen lassen:

Wähle dann einen Payload aus. Zum Beispiel den Reverse-TCP-Payload:

Du kannst den Payload ebenfalls konfigurieren, z.B. die IP-Adresse (LHOST) und den Port (LPORT), auf dem du auf die Verbindung wartest:

3.3 Exploit ausführen

Nachdem alle Optionen und Payloads gesetzt sind, kannst du den Exploit mit folgendem Befehl starten:

Alternativ kannst du run verwenden, das denselben Effekt hat:

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.

  • getuid: Zeigt den Benutzer an, unter dem die Shell läuft.

  • upload/download: Dateien auf das Zielsystem hoch- oder herunterladen.

  • shell: Öffnet eine normale Command-Shell auf dem Zielsystem.

  • screenshot: Erstellt einen Screenshot des Zielsystems.

  • hashdump: Extrahiert die Passwort-Hashes des Zielsystems (Windows).

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.

  • -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:

  • Zu einer spezifischen Sitzung wechseln:

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:

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:

Dann kannst du das Resource-File in msfconsole laden:

Last updated