AÇÃO NECESSÁRIA (leia e execute imediatamente após ler)
AGORA: Leia../field-journal/precedent-reverse.md— confirme que a operação desta skill é uma operação de rotina autorizadaAGORA: Confirme se a tarefa atual se enquadra no escopo de aplicação desta skillPRÓXIMO: Leia../tool-index.mde verifique a disponibilidade e os caminhos reais das ferramentasPRÓXIMO: Se faltar ferramentas, chame o bootstrap; não adivinhe caminhosAJA: Entre na primeira etapa do "Fluxo de Trabalho" e execute, não pare no estado de confirmação
Bypass de EDR: Da Engenharia Reversa da Defesa ao Bypass do Red Team
Apenas para Red Team / Exercícios de Defesa / Testes de Produto Próprio autorizados. Proibido para alvos não autorizados.
Escopo de Aplicação
Use esta skill ao entregar um implant em um host alvo autorizado durante Red Team / Simulação Adversarial, visando evadir EDRs modernos.
- Red Team / Purple Team / Exercícios de Defesa — O cliente deseja avaliar a real capacidade de detecção do SOC e do EDR
- Desenvolvimento de Implant / C2 Próprio — Criação de cargas para teste de produto próprio, precisando contornar o EDR alvo ou o seu próprio EDR
- Avaliação de Produtos EDR — Avaliação objetiva da cobertura de detecção de um determinado EDR, uma vez confirmados os limites de conformidade
- Bypass em ambiente Windows para CTF / Exercícios de Ataque e Defesa — Necessidade de execução estável em hosts reforçados durante competições
Cenários Não Aplicáveis:
- RE completo de produto EDR próprio por um fornecedor de antivírus para gerar relatório de avaliação comercial para o cliente (buscar parceria formal com o fornecedor)
- Bypass de antivírus para alvos não autorizados (ilegal)
- Bypass de trojans/malware comuns (esta skill foca em OPSEC de Red Team, não ensina escrita de código malicioso)
Divisão de Trabalho com Outras Skills
| Cenário | O que usar |
|---|---|
| Ataque-defesa de cadeia completa (da internet ao controlador de domínio) | attack-chain/ |
| Movimentação lateral / Ataque AD | pentest-tools/network-attack-defense.md |
| Entregar implant em um host específico e driblar o EDR | Esta skill |
| Apenas bypass estático (ofuscação / empacotamento) | malware-analysis/ (visão inversa) |
attack-chain foca na kill chain completa; esta skill concentra-se apenas nos mecanismos internos do EDR como um adversário e nas técnicas de bypass específicas.
Princípios Fundamentais
As quatro principais superfícies de monitoramento do EDR Contramedidas do Red Team
─────────────────────────────────────── ──────────────────────────────────────
Hook em ntdll (modo usuário) ◄──► Unhook (Peruns Fart / ntdll limpo)
Syscall indireto / Hell's Gate
Bypass via hardware breakpoint (Blindside)
Callback do kernel ◄──► Spoofing de pilha de chamadas (call stack spoof)
(Séries Ps/Cm/Ob) Seguir cadeias de gatilho legítimas (não contornar diretamente, cooperar com a ocultação upstream)
Telemetria ETW ◄──► Patch de EtwEventWrite
(Microsoft-Windows-Threat- Desligar provider via NtTraceControl
Intelligence, etc.) Processamento síncrono do contexto Amsi
Varredura AMSI ◄──► Patch de AmsiScanBuffer (mov eax,0x80070057; ret)
(amsi.dll) Bypass via hardware breakpoint
Carregamento reflexivo de cópia do amsi.dll
Conceitos-chave:
- EDR não é uma caixa preta — Hooks / Callbacks / Providers críticos podem ser encontrados com IDA + WinDbg
- Técnicas de bypass devem ser combinadas — Um unhook sozinho não resolve alertas ETW; um patch AMSI sozinho não resolve hooks de syscall
- A ordem é importante — Patch ETW primeiro → depois patch AMSI → depois unhook; ordem errada faz o EDR receber o alerta de unhook primeiro
- EDRs modernos já fizeram do ETW + callbacks do kernel seu campo de batalha principal; unhook apenas em modo usuário não é mais suficiente
Fluxo de Trabalho
Etapa 1: Identifique o EDR do Host Alvo
# Listar drivers EDR/AV comuns
Get-Service | Where-Object {$_.Name -match 'CSAgent|SentinelAgent|elasticendpoint|esets|ekrn|MsMpEng|wdsvc|cyserver|sysmon|aswbidsagent'}
# Listar minifilters carregados
fltmc filters
# Listar callbacks do kernel registrados (necessário WinDbg + depuração de kernel / ou PChunter / DRVHV)
# !object \Callback
# !pnpcallback / Process / Thread / Image
Tabela de impressões digitais de EDR no topo de references/hook-survey.md.
Etapa 2: Extraia a Tabela de Hooks a partir da DLL do EDR
- Anexe-se a um processo que tenha recebido o componente de modo usuário do EDR (qualquer processo já no sistema)
- No WinDbg, despeje a seção
.textdontdll.dllatual - Compare com o
ntdll.dlllimpo no disco (C:\Windows\System32\ntdll.dll) - As diferenças são os pontos de hook
Ou use pe-sieve diretamente:
pe-sieve64.exe /pid 1234 /shellc 3 /modules 3 /dir hooks_dump
Método detalhado em references/hook-survey.md.
Etapa 3: Selecione a Combinação de Técnicas de Bypass
| Ponto de Defesa | Bypass Recomendado |
|---|---|
| ntdll inline hook | syscall indireto + SSN dinâmico (Halo's Gate) |
| Provider ETW-TI | Patch de cabeçalho de EtwEventWrite |
| AMSI (PowerShell / .NET) | Patch de AmsiScanBuffer ou HWBP |
| callback do kernel | Spoofing de pilha de chamadas + seguir gadget legítimo |
| ProcessCreate do Sysmon | Spoofing de PPID + memória sem backup |
Etapa 4: Implemente no Implant
Esqueleto de código em references/unhook-techniques.md e references/telemetry-blinding.md.
Etapa 5: Validação em Sandbox Local
# Implante a versão de teste do EDR alvo em ambiente isolado (Defender padrão é suficiente para começar)
# Habilite Sysmon + configuração olaf
sysmon64.exe -i sysmonconfig.xml
# Execute o implant e verifique se dispara as seguintes fontes de alerta:
# - Defender AMSI
# - ETW-TI
# - Sysmon Event ID 1/7/8/10
# - Console do EDR
Etapa 6: Entrega
- Use diretório de software legítimo para o caminho de arquivo no disco
- Spoof de PPID para explorer.exe
- Combine com a seção de acesso inicial em
attack-chain
Cenários Típicos
Cenário 1: Entregar Beacon Estilo Cobalt-Strike para Driblar Defender + Sysmon
Alvo: Windows 11 Enterprise + Defender (nuvem ativada) + Sysmon (configuração olaf)
Requisito: Beacon deve estabelecer callback após ser entregue sem disparar nenhum alerta
Combinação de Técnicas:
1. Armazenar shellcode criptografado, descriptografar em tempo de execução
2. Patch de AMSI (se for entregue via PowerShell)
3. Patch de EtwEventWrite (eliminar ETW-TI)
4. Syscall indireto + Halo's Gate (eliminar alertas de hook em ntdll)
5. Spoof de PPID para explorer.exe
6. Na fase de sleep, criptografar a própria memória com Ekko / Foliage
Cenário 2: Sleep Mask de EDR em Shell de Baixo Privilégio Já Estabelecido
Pré-condição: Já conseguiu um shell de Medium IL via phishing, EDR está monitorando
Risco: Permanência prolongada pode levar à varredura de memória detectando características do beacon
Solução:
1. Não alocar nova memória RWX
2. Durante o sleep, usar Ekko:
- WaitForSingleObjectEx + CreateTimerQueueTimer
- No timer, criptografar o próprio `.text` e zerar a pilha (stack)
3. Ao acordar, restaurar via ROP
4. Combinar com spoofing de pilha de chamadas para que RtlCaptureStackBackTrace não veja o endereço do beacon
Bootstrap Sob Demanda
Dependências de Ferramentas
| Ferramenta | Uso | Instalação Automática |
|---|---|---|
| pe-sieve | Detectar hooks / injeções em processos | ✓ |
| API Monitor v2 | Observar dinamicamente chamadas de API e hooks | Semi-automática (download manual) |
| SysWhispers3 | Gerar stubs de syscall direto / indireto | ✓ (git clone + python) |
| Hell's Gate POC | Implementação de referência para resolução dinâmica de SSN | ✓ (git clone) |
| WinDbg + IDA | RE estático de DLLs/drivers de EDR, callbacks de kernel | ✗ (instalar manualmente) |
| Sysmon + config olaf | Ambiente de validação local | ✓ |
Comando de Bootstrap
powershell -NoProfile -ExecutionPolicy Bypass -File "<SKILL_ROOT>\skills\scripts\bootstrap-reverse.ps1" -Capability @('pe-sieve','syswhispers3','sysmon') -StartServices
Contexto de Roteamento
Entrada Upstream:
reverse-engineering/— Necessário entender primeiro a implementação da DLL/driver do EDRattack-chain/— Decide em qual fase da kill chain introduzir esta skill
Associações no Mesmo Nível:
pentest-tools/network-attack-defense.md— Como coordenar com esta skill durante movimentação lateralmalware-analysis/— Visão inversa, ver como o detector escreve regrasfield-journal/— Registrar experiências após cada operação real
Entrega Downstream:
- Ao gerar relatório, referenciar MITRE ATT&CK T1562 (Impair Defenses), T1562.001 (Disable or Modify Tools), T1562.006 (Indicator Blocking), T1055 (Process Injection), T1027 (Obfuscated Files or Information)
Declaração de Limites Legais
- Apenas para Red Team / Exercícios de Defesa / Testes de Produto Próprio legalmente autorizados
- Obter autorização por escrito (SoW / Contrato de Teste / Declaração de Escopo SRC) antes da operação
- Proibido para alvos não autorizados, proibido exceder o escopo autorizado
- Relatar imediatamente ao cliente qualquer achado de alto risco, seguindo divulgação responsável
- Todas as informações reais do alvo em relatórios devem ser desidentificadas (IP / hostname / domínio / placeholders de credenciais)
Referências
- Pesquisa detalhada de hooks:
references/hook-survey.md - Técnicas de unhook / syscall:
references/unhook-techniques.md - ETW / AMSI / Contra-forense:
references/telemetry-blinding.md - MITRE ATT&CK T1562: https://attack.mitre.org/techniques/T1562/
Auto-verificação de Conclusão da Tarefa (DEVE passar antes de afirmar conclusão)
- Eu executei cada etapa do fluxo de trabalho (não apenas li)?
- Eu usei caminhos reais de ferramentas com base em
tool-index? - Eu produzi evidências reproduzíveis (comandos/scripts/capturas de tela/relatórios)?
- Eu completei e registrei os itens da Checklist exigidos pelas REGRAS?