# T1674 - Injeção de Entrada ## Descrição Injeção de Entrada é uma técnica pela qual adversários simulam pressionamentos de tecla ou ações de mouse em um sistema comprometido para executar comandos, scripts ou interagir com aplicações em nome do usuário - sem qualquer intervenção humana real. Essa simulação pode ser feita via software (ferramentas que injetam mensagens na fila de eventos do sistema operacional) ou via hardware malicioso, como dispositivos USB que emulam teclados e mouses, conhecidos como HIDs (Human Interface Devices). A técnica é especialmente eficaz porque aproveita o fluxo legítimo de entrada do sistema operacional. Ao invés de chamar APIs suspeitas diretamente, o adversário "digita" comandos como se fosse o próprio usuário, dificultando a distinção entre ação legítima e maliciosa. No Windows, isso é feito com frequência via manipulação do message loop - o mecanismo que processa eventos de jánelas e controles de interface gráfica. Um vetor muito documentado envolve fraude bancária: o malware monitora as URLs abertas no navegador e, ao detectar o acesso a um portal bancário, simula atalhos de teclado para abrir o console do desenvolvedor, cola JavaScript malicioso a partir da área de transferência e o executa - possibilitando a substituição de números de conta durante transações em tempo real. Outro vetor envolve dispositivos USB maliciosos que, ao serem conectados, simulam um teclado e automaticamente digitam comandos para baixar e executar payloads. **Contexto Brasil/LATAM:** O Brasil é um dos países com maior volume de fraudes bancárias por malware do mundo. Grupos como [[g0046-fin7|FIN7]] e gangues locais especializadas em bankers para desktop (especialmente dirigidos a usuários do sistema bancário brasileiro) utilizam variantes de injeção de entrada para capturar e manipular transações PIX, TED e boletos. A técnica é especialmente perigosa em ambientes corporativos com acesso a sistemas de internet banking empresarial, onde as transferências envolvem valores elevados. ## Attack Flow ```mermaid graph TB A[Acesso inicial ao sistema] --> B[Malware monitorando eventos do SO] B --> C[Detecção de contexto alvo<br/>ex: URL bancária aberta] C --> D[T1674 - INJEÇÃO DE ENTRADA<br/>Simulação de teclado/mouse] D --> E[Execução de script malicioso<br/>via console do navegador] E --> F[Manipulação de transação<br/>ou download de payload] F --> G[Impacto: fraude financeira<br/>ou persistência no sistema] ``` ## Como Funciona 1. **Preparação** - O adversário implanta um malware que monitora eventos do sistema operacional, como abertura de jánelas, mudanças de URL no navegador ou foco em campos específicos. Dispositivos HID maliciosos são pré-programados com sequências de teclas antes de serem entregues à vítima. 2. **Execução** - Ao detectar o contexto-alvo (ex: acesso a portal bancário, abertura de terminal, ou conexão do dispositivo USB), o software ou hardware injeta eventos de entrada sintéticos. No Windows, isso pode ser feito via `SendInput()`, `keybd_event()` ou manipulação direta do message loop (`PostMessage`/`SendMessage`). Dispositivos USB simplesmente enviam os HID reports correspondentes às teclas desejadas. 3. **Pós-execução** - Com o código ou comando inserido e executado, o adversário pode alcançar execução de código arbitrário, escalar privilégios, modificar dados em trânsito (fraude bancária) ou estabelecer persistência por meio de scripts implantados via terminal. **Exemplo de artefato de detecção:** ```powershell # Chamada suspeita a SendInput em processo não-interativo # Monitorar via ETW (Event Tracing for Windows) ou EDR: # Process: chrome.exe → chamada para user32.dll!SendInput # com INPUT_KEYBOARD records fora de contexto de interação do usuário ``` ## Detecção **Fontes de dados:** ETW (Event Tracing for Windows), logs de EDR, auditoria de dispositivos USB (Event ID 2003/2100 - plug-and-play), Process Monitor, logs de antivírus comportamental. ```yaml title: Detecção de Injeção de Entrada via SendInput em Processo Suspeito id: a3f1c2d4-7e88-4b01-9f2a-c3e5b6d7a890 status: experimental description: > Detecta chamadas à API SendInput ou PostMessage com parâmetros de teclado originadas de processos não-interativos ou em contexto suspeito, indicativo de injeção de entrada maliciosa. logsource: category: process_access product: windows detection: selection: TargetImage|endswith: - '\chrome.exe' - '\msedge.exe' - '\firefox.exe' CallTrace|contains: - 'user32.dll' GrantedAccess: '0x1fffff' filter_legit: SourceImage|startswith: - 'C:\Program Files\' - 'C:\Windows\System32\' condition: selection and not filter_legit falsepositives: - Ferramentas de automação legítimas (AutoHotkey, Selenium) - Software de acessibilidade level: high tags: - attack.execution - attack.t1674 ``` ## Mitigação | Mitigação | Recomendação Prática | |-----------|---------------------| | [[m1034-limit-hardware-installation\|M1034 - Limit Hardware Installation]] | Bloquear instalação de dispositivos HID não autorizados via Group Policy (GPO) em ambientes corporativos. Usar política de whitelist de dispositivos USB em estações críticas como terminais de caixa e sistemas bancários. | | [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Aplicar Application Control (AppLocker/WDAC) para impedir a execução de scripts injetados via terminal. Monitorar e bloquear processos que chamam `SendInput` em contexto inesperado via solução de EDR. | ## Referências *Fonte: [MITRE ATT&CK - T1674](https://attack.mitre.org/techniques/T1674)* ## Notas Relacionadas - [[_defenses|Hub de Defesas]] - controles preventivos e detecções - [[ds0009-process|DS0009 - Process]] - monitoramento de processos para detecção de injeção