# T1417 - Input Capture (Android)
> [!warning] Captura de Entrada em Dispositivos Móveis
> Adversários abusam de **serviços de acessibilidade** e **overlays de tela** no Android para interceptar toques, pressionamentos de teclas e credenciais digitadas pelo usuário — técnica amplamente usada em **trojans bancários** que atacam o Brasil e a América Latina.
## Visão Geral
A técnica T1417 descreve como malware em dispositivos móveis captura entradas do usuário — incluindo credenciais, PINs, tokens de autenticação e mensagens — sem o conhecimento da vítima. No Android, os vetores mais comuns são o abuso do **AccessibilityService** (serviço de acessibilidade) e a criação de **telas de sobreposição** (overlay attacks) que substituem visualmente apps legítimos.
No ecossistema brasileiro, essa técnica é o coração dos trojans bancários móveis que exploram o [[pix|PIX]] e o [[open-banking|Open Banking]]. Famílias como [[s0339-brata|BRATA]], [[ghimob|Ghimob]] e variantes móveis do [[grandoreiro|Grandoreiro]] registram cada toque e campo de texto preenchido em aplicativos de banco, capturando senhas e códigos de segurança em tempo real. A prevalência do mobile banking no Brasil — com mais de 65% das transações financeiras feitas por smartphones — torna essa técnica especialmente relevante para o setor [[financial|financeiro]].
O impacto vai além de credenciais bancárias: atacantes também capturam senhas de e-mail, redes sociais, aplicativos corporativos e autenticadores 2FA, criando um perfil completo da vítima para uso em ataques subsequentes ou revenda no mercado underground.
## Attack Flow
```mermaid
graph TB
IA["🎯 Initial Access<br/>Download de app malicioso<br/>via loja de terceiros"] --> EX["⚡ Execution<br/>Solicitação de permissão<br/>de acessibilidade"]
EX --> P["🔒 Persistence<br/>Registro como<br/>serviço permanente"]
P --> DE["🛡️ Defense Evasion<br/>Ocultação via overlay<br/>e ofuscação de código"]
DE --> COL["📦 Collection<br/>Captura de toques,<br/>KeyEvents e campos"]
COL --> C2["📡 Command & Control<br/>Exfiltração de<br/>credenciais via HTTPS"]
C2 --> IMP["💥 Impact<br/>Fraude bancária<br/>e roubo de identidade"]
style COL fill:#e74c3c,color:#ecf0f1
style IA fill:#2c3e50,color:#ecf0f1
style EX fill:#2c3e50,color:#ecf0f1
style P fill:#2c3e50,color:#ecf0f1
style DE fill:#2c3e50,color:#ecf0f1
style C2 fill:#2c3e50,color:#ecf0f1
style IMP fill:#9b59b6,color:#ecf0f1
```
## Como Funciona
### Abuso do AccessibilityService
O AccessibilityService é uma API legítima do Android criada para auxiliar usuários com deficiências visuais ou motoras. Quando ativado, um serviço de acessibilidade recebe acesso a **todos os eventos de interface** do sistema: toques na tela, texto digitado em qualquer campo, transições entre telas e conteúdo de janelas visíveis.
O malware solicita que a vítima ative o serviço de acessibilidade, muitas vezes se disfarçando de app utilitário legítimo. Uma vez concedida a permissão, o serviço registra eventos `AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED` e `TYPE_WINDOW_CONTENT_CHANGED` para interceptar toda entrada de texto — incluindo campos marcados como `inputType="textPassword"`. Nos dispositivos Android mais antigos (até Android 12), essa permissão não exigia confirmação adicional.
### Overlay Attacks (Ataques de Sobreposição)
Na modalidade de overlay, o malware detecta quando um app bancário alvo é aberto (monitorando o pacote em foco via `AccessibilityEvent`) e exibe uma tela falsa idêntica sobre o app legítimo. A vítima digita suas credenciais na interface fraudulenta, que as captura e as envia ao servidor C2. O app original não é modificado — a sobreposição é apenas uma camada visual adicional.
As permissões necessárias para overlay attacks variam por versão do Android:
- **Android 6-7:** `SYSTEM_ALERT_WINDOW` (concedida automaticamente em instalações de fontes desconhecidas)
- **Android 8+:** Requer confirmação explícita do usuário via dialog de sistema
- **Android 12+:** Restrições adicionais — o malware contorna usando notificações, bubbles ou Picture-in-Picture
### Keylogging via InputMethod
Uma terceira modalidade menos comum no contexto mobile é o registro de teclas via **teclado malicioso** (custom InputMethod). O malware se instala como um teclado alternativo e, quando selecionado pela vítima (ou substituído via permissão de acessibilidade), registra cada caractere digitado em qualquer aplicativo do sistema.
## Detecção
A detecção dessa técnica em dispositivos móveis requer instrumentação via **MDM (Mobile Device Management)** ou **MTD (Mobile Threat Defense)**:
- **Permissões suspeitas:** Monitorar aplicativos que solicitam `BIND_ACCESSIBILITY_SERVICE` combinado com permissões de rede (`INTERNET`, `ACCESS_NETWORK_STATE`) — essa combinação é rara em apps legítimos
- **Sobreposição de janelas:** Detectar apps com permissão `SYSTEM_ALERT_WINDOW` que sobrepõem apps bancários ou de autenticação
- **Teclados não autorizados:** Auditar InputMethod Services ativos via MDM; qualquer teclado não corporativo em dispositivos gerenciados deve gerar alerta
- **Comportamento de rede:** Correlacionar eventos de acessibilidade com picos de tráfego de saída para IPs/domínios desconhecidos — exfiltração geralmente ocorre segundos após a captura
- **Análise estática:** Em MDMs com capacidade de análise de app, verificar o manifesto Android (`AndroidManifest.xml`) para `<service android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">`
## Mitigação
As principais mitigações mapeadas no MITRE ATT&CK para essa técnica são:
- [[m1011-user-guidance|M1011 - User Guidance]]: Educar usuários para nunca conceder permissão de acessibilidade a apps que não sejam ferramentas de acessibilidade verificadas. Orientar sobre os riscos de instalar apps fora das lojas oficiais.
- [[m1012-enterprise-policy|M1012 - Enterprise Policy]]: Em dispositivos corporativos, usar políticas MDM para bloquear instalação de apps de fontes desconhecidas e restringir quais serviços de acessibilidade podem ser ativados.
Medidas complementares:
- Habilitar **Google Play Protect** em todos os dispositivos Android gerenciados
- Implementar solução MTD (ex: **Lookout**, **Zimperium zIPS**, **Microsoft Defender for Mobile**) com análise comportamental
- Para ambientes financeiros: adotar autenticação multifator baseada em hardware (FIDO2/Passkeys) em vez de SMS ou campos de texto
## Contexto LATAM
> [!latam] Relevância para Brasil e América Latina
> O Brasil é um dos países com maior concentração de trojans bancários móveis do mundo. Famílias como **BRATA**, **Ghimob**, **PixPirate** e variantes do **Grandoreiro** para Android usam T1417 como técnica central para roubo de credenciais PIX. O **PixPirate** foi documentado em 2024 abusando de acessibilidade para iniciar transferências PIX fraudulentas automaticamente sem interação da vítima. O ecossistema de fraude bancária mobile no Brasil movimenta bilhões de reais por ano, segundo **FEBRABAN** e **Apura Cyber Intelligence**.
## Referências
- [MITRE ATT&CK T1417](https://attack.mitre.org/techniques/T1417/) — Input Capture (Mobile)
- [Google Android AccessibilityService Docs](https://developer.android.com/reference/android/accessibilityservice/AccessibilityService)
- [Kaspersky - BRATA Banking Trojan Analysis](https://securelist.com/brata-the-brazilian-rat-for-android/92343/)
- [Cleafy - PixPirate Deep Dive (2024)](https://www.cleafy.com/cleafy-labs/pixpirate)
- [ESET - Ghimob: A Tétrade brasileiro Android RAT](https://www.welivesecurity.com/2020/10/29/ghimob-tetrade-threat-mobile-users/)
- [Zimperium - Android Overlay Attack Research](https://www.zimperium.com/blog/android-overlay-attacks/)