# T1056.002 - GUI Input Capture ## Técnica Pai Esta é uma sub-técnica de [[t1056-input-capture|T1056 - T1056 - Input Capture]]. ## Descrição Adversários simulam caixas de diálogo legítimas do sistema operacional ou de aplicações para enganar usuários e capturar credenciais. A técnica explora a familiaridade que os usuários têm com prompts de autenticação - como solicitações de elevação de privilégio do UAC no Windows, autenticação do Keychain no macOS ou diálogos de sudo em Linux - apresentando jánelas visualmente idênticas às originais, porém controladas pelo atacante. No Brasil e na América Latina, essa técnica é especialmente eficaz em ambientes corporativos com baixo nível de conscientização em segurança. O [[s1122-mispadu|Mispadu]] - um banking trojan com ampla presença no Brasil, México e América do Sul - utiliza exatamente essa abordagem: exibe overlays e popups falsos sobre páginas bancárias reais para capturar credenciais de internet banking. O grupo [[g1039-redcurl|RedCurl]], que atua em espionagem corporativa com alvos documentados no Brasil e na Rússia, emprega scripts [[t1059-002-applescript|AppleScript]] e [[t1059-001-powershell|PowerShell]] para gerar prompts de credenciais convincentes em seus implantes. A técnica é subtécnica de [[t1056-input-capture|T1056 - Input Capture]] e frequentemente complementa [[t1548-002-bypass-user-account-control|Bypass User Account Control]] - o prompt falso de UAC é um vetor clássico de ataque em ambientes Windows corporativos. > [!danger] Vetor LATAM > Trojans bancários brasileiros como [[s1122-mispadu|Mispadu]] e [[s0455-metamorfo|Metamorfo]] implementam GUI Input Capture como mecanismo primário de coleta de credenciais financeiras. O setor bancário brasileiro é o mais afetado mundialmente por esse vetor. ## Attack Flow ```mermaid graph TB A([Acesso Inicial<br/>Phishing / Dropper]) --> B([Execução<br/>PowerShell / AppleScript]) B --> C([Persistência<br/>Implante Instalado]) C --> D{T1056.002\nGUI Input\nCapture}:::highlight D --> E([Credenciais Coletadas]) E --> F([Acesso a Contas<br/>Bancárias / Corporativas]) classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b,stroke-width:2px ``` ## Como Funciona **Passo 1 - Implantação e Monitoramento de Contexto** O malware é instalado no sistema - geralmente via [[t1566-phishing|phishing]] com anexo malicioso ou downloader. Uma vez ativo, monitora jánelas abertas usando [[t1010-application-window-discovery|Application Window Discovery]] e [[t1217-browser-information-discovery|Browser Information Discovery]] para identificar o momento exato em que o usuário acessa um sistema de interesse (banco, VPN, e-mail corporativo). **Passo 2 - Geração do Prompt Falso** Quando a jánela-alvo é detectada, o implante exibe um diálogo GUI forjado - construído via [[t1059-001-powershell|PowerShell]] (Add-Type com WinForms), [[t1059-002-applescript|AppleScript]] (display dialog), ou bibliotecas gráficas nativas do Linux. A jánela pode simular: prompt de UAC do Windows, autenticação do Keychain macOS, MFA corporativo, ou página de login de banco. O usuário, sem suspeitar, digita suas credenciais. **Passo 3 - Exfiltração das Credenciais** As credenciais capturadas são armazenadas localmente (em arquivo cifrado ou no registro) e posteriormente exfiltradas via canal C2 - frequentemente usando [[t1041-exfiltration-over-c2-channel|Exfiltration Over C2 Channel]] ou HTTP POST para um servidor controlado pelo atacante. O processo é silencioso; o usuário frequentemente nunca percebe que foi comprometido. ## Detecção ### Event IDs Relevantes | Plataforma | Event / Log | Indicador de Abuso | |-----------|-------------|-------------------| | Windows | Sysmon Event ID 1 (Process Creaté) | `powershell.exe` com argumentos `-WindowStyle Hidden` gerando jánelas WinForms | | Windows | Sysmon Event ID 11 (File Creaté) | Criação de arquivos temporários `.hta` ou `.vbs` em `%TEMP%` | | macOS | Unified Log - `osascript` | Chamadas a `display dialog` ou `display alert` fora do contexto de apps legítimos | | Linux | Auditd - `execve` | Execução de `zenity`, `kdialog` ou `xdialog` por processos não interativos | | Windows | Security Event ID 4688 | Processo filho inesperado criado por `explorer.exe` ou `winlogon.exe` | ### Sigma Rule ```yaml title: Suspicious GUI Credential Prompt via PowerShell id: b7c2d3e4-9f1a-4b5c-8d2e-3f6a1b4c9e2d status: experimental description: > Detecta geração de jánelas de credenciais GUI via PowerShell - padrão associado a T1056.002 GUI Input Capture em malware bancário LATAM. logsource: product: windows service: sysmon category: process_creation detection: selection_process: EventID: 1 Image|endswith: '\powershell.exe' CommandLine|contains: - 'System.Windows.Forms' - 'PasswordBox' - 'ShowDialog' - 'PSCredential' - 'GetNetworkCredential' filter_legitimate: ParentImage|endswith: - '\devenv.exe' - '\vscode.exe' condition: selection_process and not filter_legitimate falsepositives: - Scripts de administração legítimos solicitando credenciais - Ferramentas de automação de TI level: high tags: - attack.collection - attack.credential_access - attack.t1056.002 ``` ## Mitigação | Controle | Mitigação MITRE | Ação Recomendada para Org. Brasileiras | |---------|----------------|----------------------------------------| | Treinamento de usuários | [[m1017-user-training\|M1017]] | Simular phishing com prompts GUI falsos; ensinar usuários a verificar o processo pai da jánela de autenticação antes de digitar credenciais | | Restrição de scripts | - | Habilitar PowerShell Constrained Language Mode e assinar scripts com certificados corporativos | | EDR comportamental | - | Configurar regras para detectar `powershell.exe` gerando jánelas WinForms com campos de senha | | AppLocker / WDAC | - | Bloquear execução de scripts não assinados por usuários padrão - efetivo contra dropper-stage do ataque | | Autenticação resistente a phishing | - | Adotar FIDO2/passkeys em sistemas críticos; credenciais capturadas via prompt falso não funcionam com chaves de hardware | ## Threat Actors e Software ### Grupos que Utilizam esta Técnica - [[g1039-redcurl|RedCurl]] - grupo de espionagem corporativa com alvos documentados em empresas brasileiras e russas; utiliza scripts PowerShell e AppleScript para exibir prompts de credenciais durante comprometimentos silenciosos de longa duração - [[g0085-fin4|FIN4]] - grupo focado em informações financeiras privilegiadas; usa prompts falsos de credenciais do Outlook para capturar credenciais de e-mail corporativo e acessar comúnicações internas sobre fusões e aquisições ### Software Associado - [[s1122-mispadu|Mispadu]] - banking trojan com ampla presença no Brasil e México; exibe overlays falsos sobre páginas bancárias para capturar credenciais financeiras de clientes - [[s0455-metamorfo|Metamorfo]] - trojan bancário LATAM que monitora jánelas de browsers e exibe formulários falsos de login sobre sites de bancos brasileiros e mexicanos - [[s0279-proton|Proton]] - malware macOS que usa AppleScript `display dialog` para solicitar senha do Keychain e exportar credenciais armazenadas - [[ikitten|iKitten]] - spyware macOS que gera prompts falsos de autenticação para capturar a senha de conta do usuário - [[s0274-calisto|Calisto]] - backdoor macOS que exibe diálogos de System Preferences falsos para obter credenciais de administrador - [[keydnap|Keydnap]] - malware macOS que abusa de prompts do Keychain para capturar e exfiltrar senhas armazenadas - [[s0482-bundlore|Bundlore]] - adware macOS que solicita credenciais via diálogos falsos de instalação de software - [[s0281-dok|Dok]] - malware macOS que instala certificado raiz falso e usa proxy para interceptar tráfego; exibe prompts de atualização falsos - [[s0658-xcsset|XCSSET]] - malware que infecta projetos Xcode e exibe diálogos falsos de autenticação do Safari - [[s0692-silenttrinity|SILENTTRINITY]] - framework C2 .NET/Python que inclui módulos para geração de prompts de credenciais GUI em Windows --- *Fonte: [MITRE ATT&CK - T1056.002](https://attack.mitre.org/techniques/T1056/002)*