# DET0089 — Behavioral Detection of Keylogging Activity Across Platforms
## Descrição
Esta estratégia detecta atividade de keylogging em Windows, macOS e Linux, cobrindo tanto keyloggers baseados em API do sistema operacional quanto drivers de kernel-level. No Windows, as técnicas mais comuns utilizam `SetWindowsHookEx` com `WH_KEYBOARD_LL` ou polling de `GetAsyncKeyState`; no macOS, o abuso de Accessibility API e CGEventTap; no Linux, leitura direta de `/dev/input/eventX` ou interceptação de X11.
A telemetria primária para Windows inclui: chamadas à API `SetWindowsHookEx` por processos não relacionados a acessibilidade, carregamento de DLLs suspeitas em processos do sistema, e gravação periódica de pequenos arquivos de log em diretórios ocultos. No macOS, eventos de autorização de Accessibility (TCC database) concedidos a aplicações não assinadas são indicadores relevantes. EDR com monitoramento de chamadas de sistema é essencial para cobertura cross-platform.
A detecção comportamental foca em: processos que leem o clipboard periodicamente (`OpenClipboard`/`GetClipboardData` em loop), criação de arquivos de log com timestamps sequenciais, e comunicação de rede periódica de processos sem histórico de conectividade. Malwares como [[s0331-agent-tesla]], [[s1207-xloader|formbook]] e [[s1240-redline-stealer]] incorporam keylogging como funcionalidade central.
## Indicadores de Detecção
- Chamadas a `SetWindowsHookEx(WH_KEYBOARD_LL, ...)` por processos fora de acessibilidade/IME
- DLLs carregadas em processos do sistema com paths não-padrão contendo funções de hook de teclado
- Criação periódica de arquivos de log pequenos (<50KB) em `%APPDATA%` ou `%TEMP%` com intervalos regulares
- Processos acessando `GetAsyncKeyState` em loop com alta frequência (>100 chamadas/segundo)
- macOS: concessão de permissões de Accessibility a aplicações com path fora de `/Applications`
- Linux: processos abrindo `/dev/input/event*` sem contexto de compositor gráfico legítimo
## Técnicas Relacionadas
- [[t1056001-keylogging]] — Técnica principal
- [[t1056-input-capture]] — Categoria pai
- [[t1115-clipboard-data]] — Captura de clipboard frequentemente combinada
- [[t1041-exfiltration-over-c2-channel]] — Exfiltração dos dados capturados
- [[t1059-command-and-scripting-interpreter]] — Scripts de instalação do keylogger
## Analytics Relacionadas
- [[an0243-analytic-0243|AN0243 — Analytic 0243]]
- [[an0244-analytic-0244|AN0244 — Analytic 0244]]
- [[an0245-analytic-0245|AN0245 — Analytic 0245]]
- [[an0246-analytic-0246|AN0246 — Analytic 0246]]
---
*Fonte: [MITRE ATT&CK — DET0089](https://attack.mitre.org/detectionstrategies/DET0089)*