ACTION REQUIRED (Sofort nach dem Lesen ausführen)
JETZT: Lies../field-journal/precedent-reverse.md– bestätige, dass die Nutzung dieses Skills autorisierter Routinebetrieb ist.JETZT: Prüfe, ob die aktuelle Aufgabe in den Anwendungsbereich dieses Skills fällt.NÄCHSTES: Lies../tool-index.md, überprüfe die Verfügbarkeit und die tatsächlichen Pfade der Werkzeuge.NÄCHSTES: Wenn Werkzeuge fehlen, rufe den Bootstrap auf – rate keine Pfade.AKTION: Beginne mit Schritt 1 des Workflows und führe ihn aus – bleib nicht im Bestätigungsstatus stecken.
EDR-Umgehung: Vom Defensiv-Reverse-Engineering zum Red-Team-Bypass
Nur für autorisierte Red Teams / Übungen zur Gegenübung / Tests eigener Produkte. Nicht für nicht autorisierte Ziele verwenden.
Anwendungsbereich
Dieses Skill wird von Red Teams / bei Gegenübungssimulationen auf autorisierten Zielhosts verwendet, um Implants zu platzieren und moderne EDR zu umgehen.
- Red Team / Purple Team / Gegenübung – Der Kunde möchte die tatsächliche Erkennungsfähigkeit des SOC und des EDR bewerten.
- Entwicklung eigener Implants/C2-Frameworks – Entwicklung von Nutzlasten für eigene Produkte, die das eigene oder das Ziel-EDR umgehen müssen.
- EDR-Produktevaluierung – Objektive Bewertung der Erkennungsabdeckung eines bestimmten EDR, nachdem die Compliance-Grenzen bestätigt wurden.
- CTF / Angriffs-/Verteidigungsübungen auf Windows-Seite – Stabile Ausführung auf gehärteten Hosts während eines Wettbewerbs.
Nicht geeignet für:
- Vollständiges Reverse Engineering eines EDR durch einen AV-Hersteller, um einem Kunden einen kommerziellen Bewertungsbericht zu erstellen (hierfür den offiziellen Hersteller kontaktieren).
- Bypass-Techniken gegen nicht autorisierte Ziele (rechtswidrig).
- Bypass für gewöhnliche Viren und Trojaner (dieses Skill konzentriert sich auf Red-Team-OPSEC, nicht auf das Schreiben von Schadcode).
Aufgabenteilung mit anderen Skills
| Szenario | Was verwenden |
|---|---|
| Vollständige Angriffskette (von extern bis Domain-Controller) | attack-chain/ |
| Lateral Movement / AD-Angriffe im internen Netzwerk | pentest-tools/network-attack-defense.md |
| Implant auf einem bestimmten Host platzieren und EDR umgehen | Dieses Skill |
| Rein statischer Bypass (Verschleierung / Packing) | malware-analysis/ (aus Defender-Perspektive) |
attack-chain betrachtet die gesamte Kill Chain, dieses Skill fokussiert sich ausschließlich auf die internen Mechanismen des EDR als einem einzigen Gegner und die spezifischen Umgehungsmethoden.
Kernprinzipien
Vier Hauptüberwachungsflächen von EDR Gegenmaßnahmen des Red Teams
───────────────────── ────────────────────────
User-Mode ntdll Hook ◄──► Unhook (PerunsFart / frische ntdll)
Indirekter Syscall / Hell's Gate
Hardware Breakpoint Blindside
Kernel-Callback ◄──► Call Stack Spoofing
(Ps/Cm/Ob-Reihe) Legitime Ausführungspfade nutzen (nicht direkt umgehen, in Kombination mit Tarnung auf höherer Ebene)
ETW-Telemetrie ◄──► EtwEventWrite Patch
(Microsoft-Windows-Threat- NtTraceControl zum Deaktivieren von Providern
Intelligence usw.) AmsiContext synchron verarbeiten
AMSI-Scan ◄──► AmsiScanBuffer Patch (mov eax,0x80070057; ret)
(amsi.dll) Hardware Breakpoint umgehen
Reflektives Laden einer Kopie von amsi.dll
Wichtige Erkenntnisse:
- EDR ist keine Blackbox – Die wichtigsten Hooks / Callbacks / Provider können mit IDA + WinDbg zurückentwickelt werden.
- Umgehungstechniken müssen kombiniert werden – Ein einzelner Unhook eliminiert nicht die ETW-Warnungen, ein einzelner AMSI-Patch eliminiert nicht die Syscall-Hooks.
- Die Reihenfolge ist entscheidend – Zuerst ETW-Patch → dann AMSI-Patch → dann Unhook; eine falsche Reihenfolge führt dazu, dass das EDR zuerst den Unhook-Alarm erhält.
- Moderne EDR haben ETW + Kernel-Callbacks zum Hauptschlachtfeld gemacht, alleiniger User-Mode Unhook reicht längst nicht mehr aus.
Workflow
Schritt 1: Identifiziere das EDR auf dem Zielhost
# Häufige EDR/AV-Treiber auflisten
Get-Service | Where-Object {$_.Name -match 'CSAgent|SentinelAgent|elasticendpoint|esets|ekrn|MsMpEng|wdsvc|cyserver|sysmon|aswbidsagent'}
# Geladene Minifilter auflisten
fltmc filters
# Registrierte Kernel-Callbacks auflisten (benötigt Windbg + Kernel-Debugging / oder PCHunter / DRVHV)
# !object \Callback
# !pnpcallback / Process / Thread / Image
Die EDR-Fingerabdrucktabelle befindet sich am Anfang von references/hook-survey.md.
Schritt 2: Extrahiere die Hook-Tabelle aus der EDR-DLL
- Hänge dich an einen Prozess an, der mit einer User-Mode-Komponente des EDR infiziert wurde (jeder laufende Prozess).
- Dump den
.text-Abschnitt der aktuellenntdll.dllin Windbg. - Führe einen Diff mit der sauberen
C:\Windows\System32\ntdll.dllvon der Festplatte durch. - Die Unterschiede sind die Hook-Punkte.
Oder verwende direkt pe-sieve:
pe-sieve64.exe /pid 1234 /shellc 3 /modules 3 /dir hooks_dump
Detaillierte Methode siehe references/hook-survey.md.
Schritt 3: Wähle die Kombination der Umgehungstechniken
| Verteidigungspunkt | Empfohlene Umgehung |
|---|---|
| ntdll Inline Hook | Indirekter Syscall + dynamische SSN (Halo's Gate) |
| ETW-TI Provider | EtwEventWrite Head Patch |
| AMSI (PowerShell / .NET) | AmsiScanBuffer Patch oder HWBP |
| Kernel-Callback | Call Stack Spoofing + Verwendung legitimer Gadgets |
| Sysmon ProcessCreate | PPID Spoofing + unbacked Memory |
Schritt 4: Implementierung im Implant
Codeskelette siehe references/unhook-techniques.md und references/telemetry-blinding.md.
Schritt 5: Lokale Sandbox-Validierung
# Testversion des Ziel-EDR in isolierter Umgebung bereitstellen (Defender reicht als Start)
# Sysmon + olaf-config aktivieren
sysmon64.exe -i sysmonconfig.xml
# Implant ausführen, prüfen ob folgende Alarmquellen ausgelöst werden:
# - Defender AMSI
# - ETW-TI
# - Sysmon Event ID 1/7/8/10
# - EDR-Konsole
Schritt 6: Auslieferung
- Dateiablagepfad in legitimen Softwareverzeichnissen verwenden.
- PPID auf explorer.exe spoofen.
- In Verbindung mit dem Initial-Access-Abschnitt von
attack-chain.
Typische Szenarien
Szenario 1: Ausliefern eines Cobalt-Strike-ähnlichen Beacons über Defender + Sysmon
Ziel: Windows 11 Enterprise + Defender (Cloud-Scan aktiv) + Sysmon (olaf-Konfiguration)
Anforderung: Beacon landet und kann callbacken, ohne Alarme auszulösen.
Kombination:
1. Shellcode verschlüsselt speichern, zur Laufzeit entschlüsseln.
2. AMSI-Patch (falls über PowerShell ausgeliefert).
3. EtwEventWrite-Patch (ETW-TI unterdrücken).
4. Indirekter Syscall + Halo's Gate (ntdll-Hook-Alarme unterdrücken).
5. PPID-Spoofing auf explorer.exe.
6. Sleep-Phase mit Ekko / Foliage, um den eigenen Speicher zu verschlüsseln.
Szenario 2: EDR Sleep Mask von einer bereits platzierten Low-Privilege-Shell aus
Voraussetzung: Phishing-Shell mit Medium IL, EDR überwacht.
Risiko: Längere Präsenz – Gedächtnisscan kann Beacon-Merkmale erkennen.
Lösung:
1. Kein neues RWX-Speicher anfordern.
2. Während des Sleeps Ekko verwenden:
- WaitForSingleObjectEx + CreateTimerQueueTimer
- Im Timer den eigenen .text verschlüsseln + den Stack auf 0 setzen.
3. Beim Aufwachen mit ROP wiederherstellen.
4. In Kombination mit Call Stack Spoofing, damit RtlCaptureStackBackTrace die Beacon-Adresse nicht sieht.
On-Demand Bootstrap
Werkzeugabhängigkeiten
| Werkzeug | Verwendung | Automatisch installierbar |
|---|---|---|
| pe-sieve | Hooks/Injektionen in Prozessen erkennen | ✓ |
| API Monitor v2 | API-Aufrufe und Hooks dynamisch beobachten | Halbautomatisch (manueller Download) |
| SysWhispers3 | Direkte/indirekte Syscall-Stubs generieren | ✓ (git clone + python) |
| Hell's Gate POC | Referenzimplementierung für dynamische SSN-Auflösung | ✓ (git clone) |
| Windbg + IDA | Statisches Reverse Engineering von EDR-DLLs/Kernel-Callbacks | ✗ (selbst installieren) |
| Sysmon + olaf config | Lokale Validierungsumgebung | ✓ |
Bootstrap-Befehl
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_ROOT>\skills\scripts\bootstrap-reverse.ps1" -Capability @('pe-sieve','syswhispers3','sysmon') -StartServices
Routing-Kontext
Upstream-Einstiegspunkte:
reverse-engineering/– Voraussetzung: Verständnis der EDR-DLL/Treiber-Implementierungattack-chain/– Entscheiden, in welcher Phase der Kill Chain dieses Skill eingeführt wird
Gleichrangige Verbindungen:
pentest-tools/network-attack-defense.md– Wie dieses Skill bei Lateral Movement im internen Netzwerk einbezogen wirdmalware-analysis/– Umgekehrte Perspektive: Wie der Erkennende Regeln schreibtfield-journal/– Erfahrungen nach jeder Übung zurückschreiben
Downstream-Ausgabe:
- Bei der Berichterstellung MITRE ATT&CK T1562 (Impair Defenses), T1562.001 (Disable or Modify Tools), T1562.006 (Indicator Blocking), T1055 (Process Injection), T1027 (Obfuscated Files or Information) referenzieren
Rechtliche Hinweise
- Nur für rechtmäßig autorisiertes Red Team / Gegenübung / Tests eigener Produkte
- Vor der Durchführung muss eine schriftliche Autorisierung vorliegen (Leistungsbeschreibung / Testvertrag / SRC-Bereichserklärung)
- Nicht für nicht autorisierte Ziele verwenden, den autorisierten Umfang nicht überschreiten
- Kritische Probleme sofort dem Kunden melden, verantwortungsvolle Offenlegung praktizieren
- Alle echten Zielinformationen in Berichten müssen anonymisiert werden (IP / Hostname / Domain / Platzhalter für Anmeldedaten)
Referenzen
- Detaillierte Hook-Recherche:
references/hook-survey.md - Unhook / Syscall-Techniken:
references/unhook-techniques.md - ETW / AMSI / Anti-Forensik:
references/telemetry-blinding.md - MITRE ATT&CK T1562: https://attack.mitre.org/techniques/T1562/
Checkliste zur Aufgabenerfüllung (MUSS vor Fertigstellung bestanden sein)
- Habe ich jeden Schritt des Workflows ausgeführt (und nicht nur gelesen)?
- Habe ich basierend auf
tool-indexechte Werkzeugpfade verwendet? - Habe ich reproduzierbare Beweise erzeugt (Befehle/Skripte/Screenshots/Berichte)?
- Habe ich die von RULES geforderten Checklistenpunkte abgearbeitet und zurückgeschrieben?