# DET0217 — Detection Strategy for Extra Window Memory (EWM) Injection on Windows ## Descrição Esta estratégia detecta injeção de código via Extra Window Memory (EWM) do Windows — mapeada para [[T1055.011 — Extra Window Memory Injection]]. O EWM é uma região de memória associada a janelas do Windows que pode ser acessada via `SetWindowLong`/`GetWindowLong` (e suas variantes de 64-bit). Adversários utilizam essa técnica para armazenar ponteiros para código malicioso na EWM de janelas pertencentes a processos legítimos, contornando hooks de segurança que monitoram `VirtualAllocEx` e `WriteProcessMemory`. A detecção monitora padrões de API call que indicam EWM injection: sequência de `OpenProcess` → `SetWindowLongPtr` com valor atípico (ponteiro executável) → `PostMessage`/`SendMessage` para triggar a execução. A telemetria requer monitoramento de chamadas à Win32 API via ETW (Event Tracing for Windows) ou hooking de API em nível de kernel, pois a técnica não gera eventos de criação de processo ou alocação de memória convencional. O analytics AN0608 correlaciona: processo fazendo `SetWindowLong`/`SetWindowLongPtr` em janela de outro processo com valor que aponta para região de memória executável, seguido de mensagem de janela que aciona a execução. A combinação com comportamento pós-inject (atividade de rede, criação de processo) do processo-alvo confirma exploração bem-sucedida. ## Indicadores de Detecção - `SetWindowLongPtr(hwnd, GWLP_WNDPROC, <endereço_de_shellcode>)` chamado por processo externo - Sequência `FindWindowEx` → `SetWindowLong` → `PostMessage WM_USER` em curto intervalo por processo suspeito - Processo fazendo `OpenProcess(PROCESS_ALL_ACCESS)` seguido de APIs de manipulação de janela - ETW event de API `SetWindowLong` com valor de 3º parâmetro apontando para região RWX - Comportamento anômalo de processo GUI legítimo (conexão de rede, criação de processo filho) após receber mensagem de janela - `GetWindowLong` retornando valor que, quando chamado como função, executa shellcode - Processo de baixa confiança enumerando janelas de processos de alta integridade via `EnumWindows` ## Técnicas Relacionadas - [[t1055-process-injection|T1055 — Process Injection]] - [[t1218-system-binary-proxy-execution|T1218 — System Binary Proxy Execution]] - [[t1106-native-api|T1106 — Native API]] - [[t1564-hide-artifacts|T1564 — Hide Artifacts]] ## Analytics Relacionadas - [[an0608-analytic-0608|AN0608 — Analytic 0608]] --- *Fonte: [MITRE ATT&CK — DET0217](https://attack.mitre.org/detectionstrategies/DET0217)*