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