# T1056.001 - Keylogging ## Técnica Pai Esta é uma sub-técnica de [[t1056-input-capture|T1056 - T1056 - Input Capture]]. ## Descrição Keylogging é uma subtécnica de Input Capture (T1056) em que adversários registram as teclas digitadas pelo usuário para interceptar credenciais, informações confidenciais e outros dados sensíveis em trânsito - antes que sejam processados por aplicações ou criptografados. Diferente do [[t1003-os-credential-dumping|OS Credential Dumping]], que extrai credenciais já armazenadas no sistema, o keylogging atua na camada de entrada de dados, capturando informações no exato momento em que o usuário as digita. A técnica é preferida em cenários onde o credential dumping não é eficaz - por exemplo, quando credenciais são protegidas por HSM, quando o hash NTLM já foi rotacionado, ou quando o alvo utiliza autenticação multifator baseada em senha única. O keylogger aguarda pacientemente que o usuário autentique-se em sistemas críticos, podendo permanecer ativo por dias ou semanas antes de capturar a credencial de alto valor desejada. Para aumentar a probabilidade de captura rápida, adversários frequentemente limpam cookies do browser para forçar reautenticação, ou aguardam horários de início de expediente quando logins são mais prováveis. Os métodos de implementação variam significativamente em sofisticação: hooking de callbacks de API do Windows (`SetWindowsHookEx` com `WH_KEYBOARD_LL`), leitura direta do buffer de hardware do teclado, modificações no Registro para interceptação em baixo nível, drivers de kernel customizados (rootkits de keylogging), e - em dispositivos de rede - uso da técnica [[t1601-modify-system-image|Modify System Image]] para inserir hooks no sistema operacional do equipamento e capturar sessões de login via SSH/Telnet. **Contexto Brasil/LATAM:** O keylogging é uma das técnicas mais difundidas em malwares financeiros que afetam o Brasil. O [[s0455-metamorfo|Metamorfo]] (também conhecido como Casbaneiro) é um trojan bancário desenvolvido por grupos brasileiros que combina keylogging com overlay de telas bancárias, tendo afetado centenas de instituições financeiras no Brasil e América Latina. O [[s0670-warzonerat|WarzoneRAT]], disponível como Malware-as-a-Service, é amplamente utilizado em campanhas de phishing direcionadas a empresas brasileiras, com módulo de keylogging ativo por padrão. O [[s0331-agent-tesla|Agent Tesla]], um dos infostealers mais prevalentes em campanhas no Brasil, combina keylogging com captura de tela ([[t1113-screen-capture|T1113]]) e extração de credenciais de browsers para maximizar a coleta de dados. ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>Phishing] --> B[Execução<br/>Malware/RAT] B --> C{T1056.001<br/>Keylogging}:::active C --> D[Coleta de<br/>Credenciais] C --> E[Exfiltração<br/>para C2] D --> F[Acesso a<br/>Novos Sistemas] classDef active fill:#e74c3c,color:#fff,stroke:#c0392b ``` ## Como Funciona 1. **Preparação:** O adversário implanta o keylogger no sistema-alvo - tipicamente como componente de um RAT, infostealer ou malware bancário entregue via phishing. Pode também limpar cookies do browser (`sqlite3 Cookies.db "DELETE FROM cookies"`) para forçar o usuário a redigitar credenciais. O keylogger é configurado para armazenar tudo, filtrar por jánelas específicas (Internet Banking, VPN client, email) ou transmitir em tempo real via C2. 2. **Execução:** O registro de teclas é realizado por um dos seguintes métodos: - **API Hook (Windows):** `SetWindowsHookEx(WH_KEYBOARD_LL, ...)` instala um hook global que intercepta todos os eventos de teclado antes que cheguem às aplicações - método mais comum em malware de commodity - **Raw Input API:** `RegisterRawInputDevices` com `RIDEV_INPUTSINK` - mais difícil de detectar por capturar dados de hardware diretamente - **Keylogger de kernel/driver:** instala driver que opera abaixo da camada de filtragem do Windows - usado por APTs sofisticados como [[s0038-duqu|Duqu]] - **Linux/macOS:** `/dev/input/eventX` (Linux) ou `CGEventTap` (macOS) para interceptação de eventos de teclado a nível de sistema - **Dispositivos de rede:** modificação do firmware via [[t1601-modify-system-image|Modify System Image]] para capturar credenciais de sessões de gerenciamento 3. **Pós-execução:** As teclas capturadas são armazenadas em buffer local (arquivo de log criptografado ou em memória) e exfiltradas periodicamente para o servidor C2 - via HTTP POST, email SMTP, ou canal de C2 customizado. Logs frequentemente incluem timestamps e contexto da jánela ativa (título da jánela), permitindo ao operador correlacionar teclas com aplicações específicas e identificar credenciais de alto valor. ## Detecção **Fontes de dados:** - **Sysmon Event ID 7** (ImageLoad): carregamento de DLLs suspeitas por processos que não deveriam carregar bibliotecas de teclado ou hook - **Windows API Monitoring (EDR):** chamadas a `SetWindowsHookEx` com parâmetro `WH_KEYBOARD_LL` ou `WH_KEYBOARD` por processos não-legítimos; uso de `RegisterRawInputDevices` fora de aplicações de acessibilidade - **Sysmon Event ID 1 / 4688:** criação de processos de keylogger conhecido ou com comportamento característico (escrita em arquivo de log, conexões C2 periódicas) - **Behavioral Analytics (UEBA):** padrões de exfiltração periódica de pequenos volumes de dados (típico de dumps de keylog) para endereços externos não categorizados - **File System Auditing:** criação de arquivos de log em diretórios temporários ou ocultos por processos sem relação com a atividade do usuário **Sigma Rule:** ```yaml title: Suspicious Keyboard Hook Installation via SetWindowsHookEx id: c83f5d2b-1a4e-4f7c-8b92-ab1234567890 status: experimental description: > Detecta instalação de hooks de teclado globais via SetWindowsHookEx por processos que não são ferramentas legítimas de acessibilidade ou monitoramento de TI autorizados. logsource: product: windows category: image_load detection: selection: # Processos carregando user32.dll em contextos suspeitos # combinado com comportamento de hook global ImageLoaded|endswith: '\user32.dll' Image|contains: - '\Temp\' - '\AppData\Local\Temp\' - '\AppData\Roaming\' filter_legitimate: Image|contains: - '\Windows\System32\' - '\Program Files\' - '\Program Files (x86)\' condition: selection and not filter_legitimate falsepositives: - Ferramentas de acessibilidade legítimas (NVDA, JAWS) - Software de monitoramento de produtividade corporativo autorizado - Ferramentas de automação de desktop (AutoHotKey em uso legítimo) level: medium tags: - attack.collection - attack.credential_access - attack.t1056.001 ``` ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | Monitoramento de API Calls | Implementar EDR com capacidade de detectar `SetWindowsHookEx(WH_KEYBOARD_LL)` por processos não autorizados. Manter baseline de processos legítimos que instalam hooks de teclado no ambiente. | | Credential Guard | Habilitar Windows Credential Guard em estações de trabalho Windows 10/11 Enterprise - limita a eficácia do keylogging para captura de credenciais de domínio ao eliminar o armazenamento em texto plano. | | Autenticação Multifator | Implementar MFA baseado em TOTP ou FIDO2 (chaves físicas) em todos os sistemas críticos. Keyloggers capturam senhas, mas não tokens TOTP de uso único ou chaves FIDO2 - mitigação eficaz para a LATAM onde MFA ainda tem baixa adoção. | | Controle de Drivers | Habilitar Secure Boot e UEFI Driver Signature Enforcement para prevenir instalação de drivers de keylogging de kernel em dispositivos corporativos. Particularmente importante para proteger sistemas de acesso a internet banking corporativo. | ## Threat Actors - [[g0059-magic-hound|Magic Hound]] - APT iraniano com campanhas de espionagem, usa keylogging para coleta de credenciais de acesso a sistemas governamentais e corporativos - [[g0087-apt39|APT39]] - grupo iraniano (Chafer) focado em telecomúnicações, usa keylogging para espionagem de longo prazo em alvos de alto valor - [[g0082-apt38|APT38]] - braço financeiro norte-coreano do Lazarus, usa keylogging em preparação para fraudes contra sistemas SWIFT de bancos na LATAM - [[g1017-volt-typhoon|Volt Typhoon]] - APT chinês focado em infraestrutura crítica, usa keylogging para captura de credenciais de sistemas de controle industrial - [[g0130-ajax-security-team|Ajax Security Team]] - grupo iraniano com operações de espionagem, usa keyloggers em campanhas de phishing direcionadas - [[g0007-apt28|APT28]] - Fancy Bear, usa keylogging como parte de kit de espionagem em operações políticas de alto perfil - [[g0012-darkhotel|Darkhotel]] - APT coreano especializado em comprometer redes de hotéis para keylogging de executivos hospedados - [[g0045-apt10|menuPass]] - APT chinês (APT10) com histórico de campanhas contra empresas jáponesas e seus parceiros na LATAM - [[g1023-apt5|APT5]] - grupo chinês focado em telecomúnicações e tecnologia, usa keylogging para coleta de credenciais de sistemas de gestão de rede - [[g0131-tonto-team|Tonto Team]] - APT chinês com alvos em governos e organizações militares da Ásia e LATAM ## Software Associado - [[s0021-derusbi|Derusbi]] (malware) - backdoor de APT chinês com módulo de keylogging integrado - [[s1012-powerless|PowerLess]] (malware) - backdoor do Magic Hound baseado em PowerShell com capacidade de keylogging - [[s0643-peppy|Peppy]] (malware) - RAT do APT39 com módulo de captura de teclas - [[s0670-warzonerat|WarzoneRAT]] (malware) - RAT MaaS amplamente usado em campanhas contra empresas brasileiras, keylogging ativo por padrão - [[s0038-duqu|Duqu]] (malware) - malware sofisticado com driver de keylogging de kernel, atribuído a operação patrocinada por estado - [[s0283-jrat|jRAT]] (malware) - RAT Java multiplataforma com funcionalidade de keylogging, usado em campanhas contra LATAM - [[s0455-metamorfo|Metamorfo]] (malware) - trojan bancário brasileiro (Casbaneiro) com keylogging combinado a overlay bancário, extensivamente documentado no Brasil - [[s0045-advstoreshell|ADVSTORESHELL]] (malware) - backdoor do APT28 com captura de teclas e credenciais - [[s1146-mgbot|MgBot]] (malware) - malware do APT5 com módulo de keylogging e captura de tela - [[s0149-moonwind|MoonWind]] (malware) - RAT com keylogging usado em campanhas contra infraestrutura crítica --- *Fonte: [MITRE ATT&CK - T1056.001](https://attack.mitre.org/techniques/T1056/001)*