Android APK Checklist
Reading time: 6 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Aprenda os fundamentos do Android
- Conceitos básicos
- Dalvik & Smali
- Pontos de entrada
- Atividades
- Esquemas de URL
- Provedores de Conteúdo
- Serviços
- Receivers de Broadcast
- Intents
- Filtro de Intent
- Outros componentes
- Como usar ADB
- Como modificar Smali
Análise Estática
- Verifique o uso de ofuscação, verificações para notar se o celular foi rootado, se um emulador está sendo usado e verificações de anti-tampering. Leia isso para mais informações.
- Aplicações sensíveis (como aplicativos bancários) devem verificar se o celular está rootado e devem agir em consequência.
- Procure por strings interessantes (senhas, URLs, API, criptografia, backdoors, tokens, uuids do Bluetooth...).
- Atenção especial às APIs do firebase.
- Leia o manifesto:
- Verifique se a aplicação está em modo de depuração e tente "explorá-la".
- Verifique se o APK permite backups.
- Atividades exportadas.
- Provedores de Conteúdo.
- Serviços expostos.
- Receivers de Broadcast.
- Esquemas de URL.
- A aplicação está salvando dados de forma insegura internamente ou externamente?
- Existe alguma senha codificada ou salva no disco? O aplicativo está usando algoritmos criptográficos inseguros?
- Todas as bibliotecas compiladas usando a flag PIE?
- Não se esqueça de que há uma série de Analisadores Estáticos do Android que podem ajudar muito durante esta fase.
-
android:exported
obrigatório no Android 12+ – componentes exportados mal configurados podem levar à invocação de intents externas. -
Revise a Configuração de Segurança da Rede (
networkSecurityConfig
XML) paracleartextTrafficPermitted="true"
ou substituições específicas de domínio. - Procure chamadas para Play Integrity / SafetyNet / DeviceCheck – determine se a atestação personalizada pode ser interceptada/burlada.
-
Inspecione App Links / Deep Links (
android:autoVerify
) para problemas de redirecionamento de intent ou redirecionamento aberto. -
Identifique o uso de WebView.addJavascriptInterface ou
loadData*()
que podem levar a RCE / XSS dentro do aplicativo. -
Analise pacotes multiplataforma (Flutter
libapp.so
, pacotes JS do React-Native, ativos do Capacitor/Ionic). Ferramentas dedicadas: flutter-packer
,fluttersign
,rn-differ
- Escaneie bibliotecas nativas de terceiros em busca de CVEs conhecidos (por exemplo, libwebp CVE-2023-4863, libpng, etc.).
- Avalie as regras SEMgrep Mobile, Pithus e os últimos resultados de varredura assistida por IA do MobSF ≥ 3.9 para descobertas adicionais.
Análise Dinâmica
- Prepare o ambiente (online, VM local ou física)
- Existe algum vazamento de dados não intencional (logs, copiar/colar, logs de falhas)?
- Informações confidenciais sendo salvas em bancos de dados SQLite?
- Atividades expostas exploráveis?
- Provedores de Conteúdo exploráveis?
- Serviços expostos exploráveis?
- Receivers de Broadcast exploráveis?
- A aplicação está transmitindo informações em texto claro/usando algoritmos fracos? é possível um MitM?
- Inspecione o tráfego HTTP/HTTPS
- Este ponto é realmente importante, porque se você conseguir capturar o tráfego HTTP, pode procurar por vulnerabilidades comuns na Web (Hacktricks tem muitas informações sobre vulnerabilidades da Web).
- Verifique possíveis Injeções do Lado do Cliente do Android (provavelmente alguma análise de código estático ajudará aqui).
- Frida: Apenas Frida, use-a para obter dados dinâmicos interessantes do aplicativo (talvez algumas senhas...).
- Teste para Tapjacking / Ataques baseados em animação (TapTrap 2025) mesmo no Android 15+ (nenhuma permissão de sobreposição necessária).
- Tente overlay / clickjacking de SYSTEM_ALERT_WINDOW e abuso do Serviço de Acessibilidade para escalonamento de privilégios.
-
Verifique se
adb backup
/bmgr backupnow
ainda pode despejar dados do aplicativo (aplicativos que esqueceram de desativarallowBackup
). - Investigue LPEs em nível de Binder (por exemplo, CVE-2023-20963, CVE-2023-20928); use fuzzers de kernel ou PoCs se permitido.
-
Se o Play Integrity / SafetyNet estiver em vigor, tente hooks em tempo de execução (
Frida Gadget
,MagiskIntegrityFix
,Integrity-faker
) ou replay em nível de rede. - Instrumente com ferramentas modernas:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
- Rastreamento dinâmico em todo o sistema com
perfetto
/simpleperf
.
Algumas informações sobre ofuscação/Deofuscação
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.