# 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)*