# T1406 - Obfuscated Files or Information > [!danger] Técnica mobile de Defense Evasion onde malware ofusca código-fonte, strings, configurações e payloads para impedir análise estática, dificultar engenharia reversa e evadir detecção por antivírus e ferramentas de segurança. ## Visão Geral A técnica **T1406 - Obfuscated Files or Information** descreve o uso de ofuscação por malware móvel para dificultar a análise e detecção. A ofuscação pode ser aplicada em múltiplos níveis: código-fonte (renomeação de classes, métodos e variáveis), strings (encriptação de URLs de C2, tokens de API e comandos), recursos do aplicativo (assets encriptados, imagens com dados esteganografados), e estrutura do APK/IPA (manipulação do manifesto, packing customizado). No ecossistema Android, a ofuscação é particularmente prevalente porque ferramentas como ProGuard e R8 são usadas legitimamente para proteção de propriedade intelectual, o que significa que a presença de ofuscação por si só não é indicativa de malware. Atacantes exploram esta ambiguidade utilizando ofuscadores comerciais (DexProtector, DexGuard) e customizados para seus payloads maliciosos. Esta técnica complementa diretamente [[t1407-download-new-code-at-runtime|T1407 - Download New Code at Runtime]], já que o código baixado dinâmicamente é quase sempre ofuscado. Também se relaciona com técnicas de [[t1437-application-layer-protocol|T1437 - Application Layer Protocol]] quando strings de configuração de C2 (URLs, portas, chaves de encriptação) são ofuscadas para evitar extração por análise estática. As formas mais sofisticadas de ofuscação mobile incluem: encriptação AES/XOR de strings com chaves derivadas em tempo de execução, empacotamento do DEX com desempacotamento via código nativo (JNI), uso de reflexão para chamadas de API sensíveis, e controle de fluxo opaco (opaque predicates) que confundem decompiladores como JADX e JEB. ## Attack Flow ```mermaid graph TB A["📦 Resource Development<br/>Malware desenvolvido<br/>e ofuscado"] --> B["🛡️ Defense Evasion<br/>Código e strings ofuscados<br/>para evadir detecção"] B --> C["📧 Initial Access<br/>App passa revisão<br/>da Play Store"] C --> D["💻 Execution<br/>Código desofuscado<br/>em tempo de execução"] D --> E["🔒 Defense Evasion<br/>Download de código<br/>ofuscado adicional"] E --> F["📋 Collection<br/>Módulos de captura<br/>de credenciais"] F --> G["📡 Exfiltration<br/>Dados exfiltrados<br/>via C2 encriptado"] classDef attack fill:#e74c3c,stroke:#c0392b,color:#ecf0f1 classDef neutral fill:#3498db,stroke:#2980b9,color:#ecf0f1 classDef highlight fill:#e67e22,stroke:#d35400,color:#ecf0f1 class A neutral class B attack class C neutral class D,E highlight class F,G highlight ``` ## Detecção | Método | Descrição | Fonte de Dados | |--------|-----------|----------------| | Análise de entropia | Identificar seções de alto nível de entropia indicando dados encriptados ou compactados | [[ds0041-application-vetting\|Application Vetting]] | | Detecção de packers | Identificar uso de packers comerciais ou customizados no APK | [[ds0041-application-vetting\|Application Vetting]] | | Análise de reflexão | Detectar uso excessivo de Java Reflection para ocultar chamadas de API | [[ds0041-application-vetting\|Application Vetting]] | | Strings encriptadas | Identificar padrões de strings codificadas em base64 ou encriptadas com XOR/AES | [[ds0041-application-vetting\|Application Vetting]] | | Manifesto analysis | Verificar discrepâncias entre permissões declaradas e funcionalidade visível | [[ds0041-application-vetting\|Application Vetting]] | | Comparação de versões | Comparar versões do mesmo app para detectar adição de camadas de ofuscação | [[ds0041-application-vetting\|Application Vetting]] | ### Regra Sigma ```yaml title: Android Obfuscated Malware Indicators id: b2c3d4e5-f6a7-8b9c-0d1e-2f3a4b5c6d7e status: experimental description: Detecta indicadores de ofuscação em aplicações Android durante vetting logsource: category: antivirus product: mobile_security detection: selection_packer: detection_name|contains: - 'Android.Packed' - 'Android.Obfus' - 'Packer.' - 'Jiagu' selection_behavior: detection_name|contains: - 'DexClassLoader' - 'Reflection.Suspicious' - 'NativeLoad' selection_entropy: detection_name|contains: - 'HighEntropy' - 'Encrypted.Payload' condition: selection_packer or selection_behavior or selection_entropy falsepositives: - Apps legítimos usando ProGuard/R8 - SDKs de proteção contra pirataria - Games com assets encriptados level: medium tags: - attack.defense_evasion - attack.t1406 ``` ## Mitigação - **Application Vetting avançado** - Implementar análise estática e dinâmica combinada, com ferramentas capazes de desofuscar código automaticamente ([[m1005-application-vetting\|M1005]]) - **Sandbox analysis** - Executar apps suspeitos em sandbox com monitoramento comportamental por período estendido - **Machine Learning detection** - Utilizar modelos ML treinados para identificar padrões de ofuscação maliciosa versus legítima - **Play Store policies** - Aplicar políticas rigorosas da Google Play para rejeitar apps com ofuscação excessiva - **Allowlisting corporativo** - Permitir apenas apps aprovados em dispositivos gerenciados via MDM ([[m1012-enterprise-policy\|M1012]]) - **Threat Intelligence sharing** - Compartilhar hashes e padrões de ofuscação de malware conhecido via plataformas MISP - **Educação do usuário** - Orientar sobre riscos de sideloading e instalação de apps fora de fontes oficiais ([[m1011-user-guidance\|M1011]]) ## Relevância LATAM/Brasil A ofuscação é uma característica universal do malware bancário brasileiro, com técnicas que evoluíram significativamente nos últimos anos: **Ofuscação em camadas:** Trojans bancários como [[s0531-grandoreiro|Grandoreiro]] utilizam múltiplas camadas de ofuscação - ProGuard para o código base, encriptação AES para strings de configuração C2, e empacotamento customizado para módulos de overlay attack. Esta abordagem em camadas exige que analistas desofusquem cada nível sequencialmente, aumentando significativamente o tempo de análise. **Esteganografia em assets:** Famílias de malware brasileiro utilizam imagens BMP e PNG com dados maliciosos esteganografados nos canais de cor, uma técnica que evade scanners que analisam apenas código executável. O payload real é extraído em tempo de execução pelo módulo nativo do app. **String encryption dinâmica:** URLs de C2, nomes de bancos-alvo e templates de overlay são encriptados com chaves derivadas de informações do dispositivo (IMEI, Android ID), tornando a extração estática de IOCs impossível sem acesso a um dispositivo infectado real. **Impacto no PIX:** A ofuscação é crítica para o sucesso de malware direcionado ao sistema PIX brasileiro. Sem ofuscação adequada, os módulos de interceptação de transações PIX seriam rapidamente identificados por equipes de segurança de bancos. A sofisticação da ofuscação utilizada por [[gopix|GoPIX]] e variantes similares reflete a importância financeira do alvo. O ecossistema de cibercrime brasileiro também se destaca pela comercialização de ferramentas de ofuscação customizadas em fóruns underground, onde desenvolvedores vendem serviços de "crypting" específicamente otimizados para evadir detecção pelo Google Play Protect e antivírus populares no Brasil. ## Referências - [MITRE ATT&CK - T1406](https://attack.mitre.org/techniques/T1406/) - [MITRE ATT&CK Mobile - Obfuscated Files or Information](https://attack.mitre.org/techniques/T1406/) - Kaspersky Securelist - Análise de ofuscação em malware bancário brasileiro - ESET WeLiveSecurity - Técnicas de evasão em trojans Android LATAM - Check Point Research - Evolução de packers Android maliciosos