# DET0371 — Detection Strategy for Debugger Evasion (T1622)
## Descrição
Técnicas de evasão de debugger são amplamente empregadas por malware avançado para detectar a presença de ambientes de análise dinâmica (sandboxes, debuggers, ferramentas de reversão) e alterar ou interromper seu comportamento malicioso quando tal ambiente é identificado. As técnicas incluem chamadas à API `IsDebuggerPresent`, leitura do flag `BeingDebugged` no PEB (Process Environment Block), verificação de timing via `RDTSC`/`GetTickCount` para detectar a lentidão introduzida por breakpoints, detecção de hardware breakpoints via exceções, e verificação de artefatos de ferramentas populares como OllyDbg, x64dbg, WinDbg e IDA Pro.
Famílias de malware sofisticadas como [[s0367-emotet|Emotet]], [[s0266-trickbot|TrickBot]], [[s0154-cobalt-strike|Cobalt Strike]] e APTs avançados implementam múltiplas camadas de detecção de análise — verificações de VM (VMware, VirtualBox, Hyper-V), presença de processos de monitoramento (Process Monitor, Wireshark), e contagem de núcleos de CPU/memória disponível. Quando detectam ambiente de análise, o malware pode terminar silenciosamente, exibir comportamento benigno, ou entregar payload alternativo inofensivo, dificultando a classificação automática.
A detecção dessas técnicas foca em identificar as chamadas de API características (especialmente combinações anômalas), execução de instruções de timing anômalas, e comportamento de "anti-análise" como sleep excessivo logo após execução, verificações repetidas de processo e queries de ambiente do sistema.
## Indicadores de Detecção
- Chamadas frequentes a `IsDebuggerPresent`, `CheckRemoteDebuggerPresent` ou leitura direta do PEB
- Uso de `NtQueryInformationProcess` com `ProcessDebugPort` por processos suspeitos
- Sleeping excessivo (> 60 segundos) imediatamente após execução de novo processo
- Enumeração de processos em execução comparando com lista de ferramentas de análise conhecidas
- Verificações de registry para chaves de VMware, VirtualBox ou outros hypervisors
- Instruções `CPUID` com verificação de bit 31 do ECX para detecção de ambiente virtualizado
## Técnicas Relacionadas
- [[t1622-debugger-evasion|T1622 — Debugger Evasion]]
- [[t1497-virtualizationsandbox-evasion|T1497 — Virtualization/Sandbox Evasion]]
- [[t1027-obfuscated-files-or-information|T1027 — Obfuscated Files or Information]]
- [[t1055-process-injection|T1055 — Process Injection]]
- [[t1562-001-disable-or-modify-tools|T1562.001 — Disable or Modify Tools]]
## Analytics Relacionadas
- [[an1045-analytic-1045|AN1045 — Analytic 1045]]
- [[an1046-analytic-1046|AN1046 — Analytic 1046]]
- [[an1047-analytic-1047|AN1047 — Analytic 1047]]
---
*Fonte: [MITRE ATT&CK — DET0371](https://attack.mitre.org/detectionstrategies/DET0371)*