# T1433 - Access Contact List > [!warning] Acesso Malicioso à Lista de Contatos em Dispositivos Móveis > Malware em Android e iOS abusa das APIs de contatos do sistema para exfiltrar nomes, números de telefone e endereços de e-mail da vítima, alimentando campanhas de smishing, spear-phishing e propagação viral de ameaças. ## Visão Geral O acesso não autorizado à lista de contatos é uma das primeiras ações executadas por spyware e trojans bancários em dispositivos móveis. Após a instalação — frequentemente disfarçados como aplicativos legítimos — esses malwares solicitam ou exploram a permissão `READ_CONTACTS` no Android (ou `NSContactsUsageDescription` no iOS) para ler o banco de dados de contatos local. Os dados coletados incluem nomes, números de telefone, endereços de e-mail e até mesmo metadados de relacionamento social. A relevância dessa técnica vai além do simples roubo de dados. As listas de contatos são usadas como base para ataques de segunda ordem: o malware pode enviar mensagens SMS maliciosas para todos os contatos da vítima, criando um efeito de propagação viral semelhante ao modelo de [[t1566-phishing|phishing]] em larga escala. Grupos como [[g0032-lazarus-group|Lazarus Group]] utilizam essa abordagem para identificar alvos de alto valor dentro da rede social da vítima inicial, refinando a seleção para ataques de [[t1598-phishing-for-information|spear-phishing]] subsequentes. No contexto de [[financial\|setor financeiro]], a exfiltração de contatos alimenta esquemas de fraude por engenharia social. Trojans bancários como [[brata-malware|BRata]] e [[ghimob|Ghimob]] — amplamente documentados no Brasil — combinam essa técnica com captura de credenciais para maximizar o impacto. A lista de contatos também pode revelar relações corporativas, expondo parceiros de negócios e facilitando ataques à cadeia de suprimentos. ## Attack Flow ```mermaid graph TB IA["🎯 Initial Access<br/>App malicioso na loja<br/>ou sideload"] --> EX["⚡ Execution<br/>Instalação e<br/>abertura do app"] EX --> P["🔒 Persistence<br/>Device Admin ou<br/>acessibilidade"] P --> PE["👑 Privilege Escalation<br/>Solicitação de<br/>permissão READ_CONTACTS"] PE --> COL["📦 Collection<br/>Leitura do Content<br/>Provider de contatos"] COL --> C2["📡 Command & Control<br/>Envio da lista<br/>ao servidor C2"] C2 --> EXF["📤 Exfiltration<br/>Dados estruturados<br/>exfiltrados via HTTPS"] style COL fill:#e74c3c,color:#ecf0f1 style C2 fill:#3498db,color:#ecf0f1 style EXF fill:#e67e22,color:#ecf0f1 ``` ## Como Funciona ### Android - Content Provider de Contatos No Android, os contatos são armazenados em um banco de dados SQLite acessível via `ContactsContract`, o principal Content Provider do sistema. Um aplicativo com a permissão `READ_CONTACTS` pode consultar este banco de dados diretamente: ```java // Exemplo simplificado - como malware acessa contatos no Android Cursor cursor = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null ); while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String phone = cursor.getString(cursor.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER)); // Dados enviados ao C2 } ``` A permissão `READ_CONTACTS` é classificada como "dangerous" no Android, exigindo consentimento explícito do usuário. No entanto, malwares frequentemente obtêm essa permissão ao se disfarçar de aplicativos legítimos (limpadores de sistema, apps de produtividade, jogos) ou ao explorar versões antigas do Android onde as permissões eram concedidas automaticamente na instalação. ### iOS - Framework CNContactStore No iOS, o acesso a contatos é controlado pelo framework `Contacts` e requer autorização via `CNContactStore`. Embora o iOS seja geralmente mais restritivo, aplicativos maliciosos distribuídos fora da App Store (via sideloading com perfis MDM comprometidos ou exploits de jailbreak) podem contornar essas proteções. O iOS também apresenta um vetor específico: aplicativos com acesso legítimo a contatos podem exfiltrar esses dados para servidores externos sem que o sistema operacional detecte a exfiltração como atividade suspeita. ### Técnicas de Evasão Malwares sofisticados implementam estratégias para evitar detecção: - **Acesso gradual**: leem contatos em pequenos lotes ao longo do tempo, em vez de uma extração em massa imediata - **Armazenamento local temporário**: criptografam os dados localmente antes de enviar ao C2 - **Timing de exfiltração**: enviam dados apenas em janelas de conectividade Wi-Fi para reduzir suspeitas - **Mistura com tráfego legítimo**: empacotam dados de contatos junto com telemetria normal do app ## Detecção ### Indicadores no Dispositivo Monitorar os seguintes comportamentos em soluções MDM e EDR móvel (como Microsoft Intune, CrowdStrike Falcon for Mobile): - Aplicativos que solicitam `READ_CONTACTS` sem justificativa funcional clara - Acesso ao Content Provider `ContactsContract` imediatamente após instalação - Consultas em lote ao banco de dados de contatos (mais de 50 registros em sequência rápida) - Tráfego de rede imediatamente após acesso ao banco de contatos ### Regra de Detecção (MDM/EDR Móvel) ```yaml title: Acesso Suspeito a Lista de Contatos - Android id: mobile-t1433-contact-access status: experimental description: Detecta aplicativos acessando lista de contatos em volume suspeito logsource: product: android service: content-provider detection: selection: EventType: ContentProviderQuery URI|contains: 'contacts' filter_system: AppPackage|startswith: - 'com.android.contacts' - 'com.google.android.contacts' condition: selection and not filter_system timeframe: 30s aggregate: count() > 100 falsepositives: - Apps de backup de contatos legítimos - Discadores e apps de contato nativos level: medium tags: - attack.collection - attack.t1433 ``` ### Monitoramento de Rede Investigar tráfego HTTPS de saída para domínios desconhecidos imediatamente após o aplicativo obter acesso a contatos. Em ambientes corporativos, implementar inspeção SSL/TLS em dispositivos gerenciados para detectar exfiltração. ## Mitigação | Controle | Mitigação MITRE | Descrição | |----------|----------------|-----------| | Gestão de permissões | [[m1011-user-guidance\|M1011]] | Rever e restringir permissões de contatos em apps não essenciais | | MDM corporativo | [[m1006-use-recent-os-version\|M1006]] | Manter Android/iOS atualizados; aplicar políticas MDM | | Triagem de apps | [[m1005-application-vetting\|M1005]] | Analisar apps corporativos antes da distribuição | | Isolamento de rede | [[m1037-filter-network-traffic\|M1037]] | Bloquear exfiltração via filtragem de DNS e tráfego | **Recomendações imediatas:** 1. Auditar regularmente quais apps têm permissão `READ_CONTACTS` nos dispositivos corporativos 2. Configurar políticas MDM para bloquear apps de fontes desconhecidas (sideloading) 3. Treinar usuários para questionar solicitações de acesso a contatos em apps que não precisam desse recurso 4. Implementar solução de MTD (Mobile Threat Defense) em dispositivos corporativos ## Contexto LATAM > [!latam] Relevância Regional - Brasil e América Latina > O Brasil é o principal alvo de trojans bancários móveis que utilizam esta técnica. **BRata**, **Ghimob** e **Grandoreiro** (versão mobile) foram documentados exfiltrando listas de contatos de vítimas brasileiras para alimentar campanhas de smishing vinculadas a fraudes via **PIX**. Em 2024, o CERT.br registrou aumento de 34% em incidentes envolvendo malware móvel com foco em coleta de dados pessoais, com o setor financeiro como principal alvo. ## Referências - [MITRE ATT&CK T1433](https://attack.mitre.org/techniques/T1433/) - [CERT.br - Malware em Dispositivos Móveis](https://www.cert.br/docs/palestra/malware-mobile/) - [Kaspersky LATAM - Trojans Bancários Móveis 2024](https://latam.kaspersky.com/blog/) - [ESET - BRata Analysis](https://www.welivesecurity.com/la-es/) - [Google TAG - Android Malware Report](https://blog.google/threat-analysis-group/) - [Android Security Permissions Guide](https://developer.android.com/guide/topics/permissions/overview)