# T1513 - Screen Capture
> [!warning] Captura Silenciosa de Tela em Dispositivos Móveis
> Adversários abusam de APIs legítimas do Android e iOS para capturar screenshots e gravar a tela do dispositivo sem o conhecimento do usuário, exfiltrando credenciais, dados financeiros e comúnicações privadas visíveis na interface.
## Visão Geral
A técnica T1513 descreve como malware móvel explora capacidades nativas de captura de tela para coletar informações sensíveis exibidas na interface do dispositivo. No Android, a principal via de abuso é a **MediaProjection API**, introduzida no Android 5.0 (Lollipop), que permite a qualquer aplicativo capturar o conteúdo completo da tela mediante consentimento do usuário — um consentimento que pode ser obtido de forma enganosa. Serviços de acessibilidade (`AccessibilityService`) também são usados por trojans bancários para monitorar campos de texto e telas específicas de aplicativos financeiros.
No iOS, a captura de tela em tempo real é mais restrita pelo sandbox da plataforma, porém spywares avançados como [[pegasus-spyware]] exploram vulnerabilidades de zero-day para escalar privilégios e acessar o framebuffer diretamente, capturando conteúdo sem qualquer diálogo de permissão. Ferramentas de gerenciamento de dispositivos (MDM profiles) comprometidas também podem habilitar capacidades de captura de tela em modo supervisionado.
O impacto desta técnica é especialmente severo no contexto financeiro do Brasil. Trojans bancários móveis como **BrasDex** e **PixPirate** usam screen capture combinado com serviços de acessibilidade para monitorar transações PIX em tempo real, interceptar códigos OTP exibidos na tela e automatizar transferências fraudulentas enquanto o usuário observa uma tela legítima sobreposta. Essa combinação tornou o ecossistema de pagamentos instantâneos do Brasil um alvo prioritário para adversários que operam técnicas de [[t1417-input-capture|Input Capture]] e T1513 em conjunto.
## Attack Flow
```mermaid
graph TB
A["🎯 Aplicativo Malicioso<br/>Instalado via phishing / store falsa"] --> B["🔑 Abuso de Permissão<br/>MediaProjection API<br/>ou Acessibilidade"]
B --> C["📸 Captura de Tela<br/>Screenshots periódicos<br/>ou gravação contínua"]
C --> D["🔍 Processamento Local<br/>OCR / detecção de campos<br/>financeiros e senhas"]
D --> E["📤 Exfiltração<br/>Upload para C2<br/>via HTTP/S ou DNS"]
style A fill:#e74c3c,color:#ecf0f1
style B fill:#e67e22,color:#ecf0f1
style C fill:#e74c3c,color:#ecf0f1
style D fill:#9b59b6,color:#ecf0f1
style E fill:#3498db,color:#ecf0f1
```
## Como Funciona
### Android - MediaProjection API
A **MediaProjection API** foi projetada para casos legítimos como espelhamento de tela e gravação educacional. Para abusar dela, um aplicativo malicioso deve:
1. Solicitar `Intent` via `MediaProjectionManager.createScreenCaptureIntent()`
2. O sistema exibe um diálogo de permissão — trojans ocultam isso com overlays (`TYPE_APPLICATION_OVERLAY`)
3. Após consentimento, o app obtém um `VirtualDisplay` com acesso ao framebuffer
4. Screenshots são capturados via `ImageReader` a intervalos programados ou em eventos (ex: abertura de app bancário)
**Permissões necessárias no manifesto:**
- `FOREGROUND_SERVICE` (obrigatório desde Android 10)
- `SYSTEM_ALERT_WINDOW` (para overlays enganosos)
- `INTERNET` (para exfiltração)
### Android - AccessibilityService
Trojans bancários como PixPirate registram um `AccessibilityService` que recebe eventos de toda interface do sistema. Isso permite:
- Capturar texto de campos de senha antes da ofuscação
- Detectar abertura do app do banco e iniciar gravação direcionada
- Interagir automaticamente com elementos de UI (execução de PIX)
- Ler OTPs de notificações sem acesso à câmera ou SMS
### iOS - Restrições e Bypasses
No iOS, aplicativos no sandbox **não podem** usar `ReplayKit` para gravar outras apps. O acesso ao conteúdo de tela é bloqueado pelo Springboard. Porém, spywares como [[pegasus-spyware]] e [[predator-spyware]] utilizam cadeias de exploits para:
- Escapar do sandbox via vulnerabilidades de kernel (ex: PAC bypass em iOS 14)
- Acessar buffers de tela via APIs privadas com privilégios elevados
- Usar o modo de screen sharing de FaceTime/AirPlay como vetor de captura
### Capacidades de VNC Embarcada
Alguns RATs móveis avançados implementam clientes VNC diretos, transmitindo a tela em tempo real para o operador. Essa abordagem é usada pelo [[ginp-trojan]] e variantes do [[flubot-malware]] para sessões de fraude assistida remotamente (RAT-in-the-Browser mobile).
## Detecção
### Indicadores de Compromisso (MDM/EDR)
| Vetor | Sinal de Detecção | Severidade |
|-------|------------------|-----------|
| MediaProjection API | App solicitando `createScreenCaptureIntent` sem função legítima | Alta |
| AccessibilityService | Serviço ativo em background de app não acessível declarado | Alta |
| Overlay suspeito | `TYPE_APPLICATION_OVERLAY` persistente cobrindo apps bancários | Crítica |
| Exfiltração | Upload HTTP periódico de arquivos PNG/JPEG em background | Alta |
| VNC embarcado | Porta TCP não padrão em escuta (5900, 5800, ou randomizada) | Crítica |
### Análise Comportamental
- Monitorar apps que ativam `MediaProjection` e imediatamente fazem uploads de rede
- Verificar apps com `AccessibilityService` declarado mas não listados em configurações de acessibilidade visíveis
- Detectar uso de `WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY` em apps não-sistema
- No iOS: análise de tráfego de rede para identificar uploads periódicos de imagens com tamanho consistente
### Ferramentas de Detecção
- **Android**: Google Play Protect, MTD solutions (Zimperium zIPS, Lookout), análise de permissões em onboarding MDM
- **iOS**: Mobile Threat Defense com análise comportamental, Jamf Protect, Sophos Intercept X Mobile
- **Rede**: Inspeção SSL/TLS de tráfego corporativo para detectar exfiltração de imagens
## Mitigação
| Controle | Mitigação MITRE | Descrição |
|----------|----------------|-----------|
| Gerenciamento de permissões | [[m1011-user-guidance\|M1011]] | Educar usuários a negar MediaProjection a apps sem função clara de espelhamento |
| Políticas MDM | [[m1006-use-recent-os-version\|M1006]] | Enforçar versões recentes do Android/iOS com patches de segurança |
| Detecção de malware | [[m1001-security-software\|M1001]] | Deploy de MTD (Mobile Threat Defense) em dispositivos corporativos |
| Restrição de sideload | [[m1012-enterprise-policy\|M1012]] | Bloquear instalação de APKs fora da Play Store via política MDM |
| Análise de tráfego | [[m1031-network-intrusion-prevention\|M1031]] | Monitorar uploads suspeitos de imagens em redes corporativas |
## Contexto LATAM
> [!latam] Relevância Regional - Brasil e LATAM
> O Brasil é o principal alvo de trojans bancários móveis que combinam **T1513** com automação de PIX. Malware como **PixPirate** e **BrasDex** foram documentados em 2023-2024 usando screen capture combinado com acessibilidade para executar transferências de até R$4.000 por transação de forma automatizada. A FEBRABAN reportou que fraudes mobile cresceram 165% em 2023, com trojans RAT-based representando a categoria de maior crescimento. O ecossistema **Open Finance** brasileiro, com múltiplos aplicativos financeiros e autorizações via interface, cria superfície de ataque significativa para esta técnica.
## Referências
- [MITRE ATT&CK - T1513 Screen Capture](https://attack.mitre.org/techniques/T1513/)
- [Android MediaProjection API - Developer Docs](https://developer.android.com/media/grow/media-projection)
- [PixPirate Analysis - Kaspersky LATAM](https://latam.kaspersky.com/blog/)
- [BrasDex Banking Trojan - ThreatFabric](https://www.threatfabric.com/blogs/brasdex-android-banking-trojan)
- [Pegasus iOS Screen Capture - Citizen Lab](https://citizenlab.ca/2021/09/forcedentry-nso-group-imessage-zero-click-exploit-captured-in-the-wild/)
- [FEBRABAN - Fraudes Mobile 2023](https://portal.febraban.org.br)
- [Operation Triangulation - Kaspersky](https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/)