Checklist de APK Android
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.
Learn Android fundamentals
- Basics
- Dalvik & Smali
- Entry points
- Activities
- URL Schemes
- Content Providers
- Services
- Broadcast Receivers
- Intents
- Intent Filter
- Other components
- How to use ADB
- How to modify Smali
Static Analysis
- Verificar o uso de obfuscation, checar se o dispositivo está rootado, se um emulador está sendo usado e verificações anti-tampering. Read this for more info.
- Aplicações sensíveis (como apps bancários) devem verificar se o dispositivo está rootado e agir em consequência.
- Procurar por interesting strings (passwords, URLs, API, encryption, backdoors, tokens, Bluetooth uuids…).
- Atenção especial às firebase APIs.
- Read the manifest:
- Verificar se a aplicação está em modo debug e tentar “exploit” ela
- Verificar se o APK permite backups
- Exported Activities
- Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity with a
unityCLI extras bridge. Teste-xrsdk-pre-init-library <abs-path>para pre-initdlopen()RCE. Veja Intent Injection → Unity Runtime. - Content Providers
- Serviços expostos
- Broadcast Receivers
- URL Schemes
- A aplicação está saving data insecurely internally or externally?
- Há alguma password hard coded or saved in disk? O app está using insecurely crypto algorithms?
- Todas as bibliotecas foram compiladas usando a flag PIE?
- Não esqueça que existe um monte de static Android Analyzers que podem ajudar muito durante esta fase.
-
android:exportedmandatory on Android 12+ – componentes exportados mal configurados podem levar à invocação externa de intents. - Revisar Network Security Config (
networkSecurityConfigXML) paracleartextTrafficPermitted="true"ou overrides por domínio. - Procurar por chamadas para Play Integrity / SafetyNet / DeviceCheck – determinar se a attestation custom pode ser hookeada/contornada.
- Inspecionar App Links / Deep Links (
android:autoVerify) em busca de redirecionamento de intent ou problemas de open-redirect. - Identificar uso de WebView.addJavascriptInterface ou
loadData*()que possa levar a RCE / XSS dentro do app. - Analisar bundles cross-platform (Flutter
libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Ferramentas dedicadas: flutter-packer,fluttersign,rn-differ- Escanear bibliotecas nativas de terceiros por CVEs conhecidos (por exemplo, libwebp CVE-2023-4863, libpng, etc.).
- Avaliar SEMgrep Mobile rules, Pithus e os resultados do scan AI-assisted do MobSF ≥ 3.9 para achados adicionais.
- Verificar add-ons de ROM OEM (OxygenOS/ColorOS/MIUI/OneUI) por exported ContentProviders extras que contornam permissões; tente
content query --uri content://com.android.providers.telephony/ServiceNumberProvidersemREAD_SMS(por exemplo, OnePlus CVE-2025-10184).
Dynamic Analysis
- Preparar o ambiente (online, local VM or physical)
- Há algum unintended data leakage (logging, copy/paste, crash logs)?
- Confidential information being saved in SQLite dbs?
- Exploitable exposed Activities?
- Exploitable Content Providers?
- Exploitable exposed Services?
- Exploitable Broadcast Receivers?
- A aplicação está transmitting information in clear text/using weak algorithms? é possível um MitM?
- Inspect HTTP/HTTPS traffic
- Isto é realmente importante, porque se você conseguir capturar o tráfego HTTP pode procurar por vulnerabilidades Web comuns (Hacktricks tem muita informação sobre web vulns).
- Verificar possíveis Android Client Side Injections (provavelmente alguma análise estática de código ajudará aqui)
- Frida: Just Frida, use it to obtain interesting dynamic data from the application (maybe some passwords…)
- Testar Tapjacking / Animation-driven attacks (TapTrap 2025) mesmo no Android 15+ (sem permissão de overlay necessária).
- Tentar overlay / SYSTEM_ALERT_WINDOW clickjacking e Accessibility Service abuse para escalonamento de privilégios.
- Verificar se
adb backup/bmgr backupnowainda podem dumpar dados do app (apps que esqueceram de desabilitarallowBackup). - Testar por Binder-level LPEs (por exemplo, CVE-2023-20963, CVE-2023-20928); usar kernel fuzzers ou PoCs se permitido.
- Se Play Integrity / SafetyNet estiverem aplicados, tentar hooks em runtime (
Frida Gadget,MagiskIntegrityFix,Integrity-faker) ou replay a nível de rede. Forks recentes do Play Integrity Fix (≥17.x) embutemplaycurl—foque em combinações ZygiskNext + PIF + ZygiskAssistant/TrickyStore para recuperar verdicts DEVICE/STRONG. - Instrumentar com ferramentas modernas:
- Objection > 2.0, Frida 17+ (Android 16 support, ART offset fixes), NowSecure-Tracer (2024)
- Tracing dinâmico system-wide com
perfetto/simpleperf. - Para bugs de telephony/provider em OEMs (por exemplo, OxygenOS CVE-2025-10184), tentar leitura/envio de SMS sem permissões via CLI
contentouContentResolverin-app; testar blind SQLi emupdate()para exfiltrar linhas.
Some obfuscation/Deobfuscation information
Referências
- CVE-2025-59489 – Arbitrary Code Execution in Unity Runtime (blog)
- Rapid7: CVE-2025-10184 OnePlus OxygenOS Telephony provider permission bypass
- TapTrap animation-based tapjacking research (TU Wien)
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.


