Checklist APK Android
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos 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
- Verificare l’uso di obfuscation, verifiche per rilevare se il dispositivo è rootato, se è in esecuzione su un emulator e controlli anti-tampering. Read this for more info.
- Le applicazioni sensibili (come le app bancarie) dovrebbero verificare se il dispositivo è rootato e agire di conseguenza.
- Search for interesting strings (password, URL, API, crittografia, backdoor, token, UUID Bluetooth…).
- Particolare attenzione a firebase APIs.
- Read the manifest:
- Verificare se l’applicazione è in modalità debug e provare a sfruttarla
- Verificare se l’APK consente i backup
- Exported Activities
- Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity with a
unityCLI extras bridge. Test-xrsdk-pre-init-library <abs-path>for pre-initdlopen()RCE. See Intent Injection → Unity Runtime. - Content Providers
- Exposed services
- Broadcast Receivers
- URL Schemes
- Is the application saving data insecurely internally or externally?
- Is there any password hard coded or saved in disk? Is the app using insecurely crypto algorithms?
- All the libraries compiled using the PIE flag?
- Non dimenticare che esiste una serie di static Android Analyzers che possono aiutarti molto durante questa fase.
-
android:exportedmandatory on Android 12+ – componenti exported mal configurati possono consentire l’invocazione di intent esterni. - Controllare la Network Security Config (
networkSecurityConfigXML) percleartextTrafficPermitted="true"o override per domini specifici. - Look for calls to Play Integrity / SafetyNet / DeviceCheck – determinare se l’attestazione personalizzata può essere hookata o bypassata.
- Ispezionare App Links / Deep Links (
android:autoVerify) per problemi di intent-redirection o open-redirect. - Identify usage of WebView.addJavascriptInterface or
loadData*()that may lead to RCE / XSS inside the app. - Analyse cross-platform bundles (Flutter
libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Dedicated tooling: flutter-packer,fluttersign,rn-differ- Scansionare le librerie native di terze parti per CVE note (e.g., libwebp CVE-2023-4863, libpng, etc.).
- Valutare SEMgrep Mobile rules, Pithus and the latest MobSF ≥ 3.9 AI-assisted scan results for additional findings.
- Controllare gli add-on ROM OEM (OxygenOS/ColorOS/MIUI/OneUI) per ulteriori exported ContentProviders che bypassano i permessi; provare
content query --uri content://com.android.providers.telephony/ServiceNumberProvidersenzaREAD_SMS(e.g., OnePlus CVE-2025-10184).
Dynamic Analysis
- Preparare l’ambiente (online, local VM or physical)
- Ci sono unintended data leakage (logging, copia/incolla, log di crash)?
- Confidential information being saved in SQLite dbs?
- Exploitable exposed Activities?
- Exploitable Content Providers?
- Exploitable exposed Services?
- Exploitable Broadcast Receivers?
- L’applicazione sta transmitting information in clear text/using weak algorithms? È possibile un MitM?
- Inspect HTTP/HTTPS traffic
- Questo è molto importante, perché se riesci a catturare il traffico HTTP puoi cercare vulnerabilità Web comuni (Hacktricks ha molte informazioni sulle vulnerabilità Web).
- Verificare la presenza di possibili Android Client Side Injections (probabilmente qualche analisi statica del codice aiuterà).
- Frida: Usa Frida per ottenere dati dinamici interessanti dall’applicazione (forse qualche password…)
- Testare Tapjacking / Animation-driven attacks (TapTrap 2025) anche su Android 15+ (non è richiesto il permesso overlay).
- Provare overlay / SYSTEM_ALERT_WINDOW clickjacking e Accessibility Service abuse per escalation di privilegi.
- Verificare se
adb backup/bmgr backupnowpuò ancora estrarre i dati dell’app (app che hanno dimenticato di disabilitareallowBackup). - Verificare la presenza di Binder-level LPEs (e.g., CVE-2023-20963, CVE-2023-20928); usare kernel fuzzers o PoC se permesso.
- Se Play Integrity / SafetyNet è applicato, provare runtime hooks (
Frida Gadget,MagiskIntegrityFix,Integrity-faker) o replay a livello di rete. I fork recenti di Play Integrity Fix (≥17.x) incorporanoplaycurl—concentrarsi su combinazioni ZygiskNext + PIF + ZygiskAssistant/TrickyStore per recuperare verdict DEVICE/STRONG. - Strumentare con strumenti moderni:
- Objection > 2.0, Frida 17+ (Android 16 support, ART offset fixes), NowSecure-Tracer (2024)
- Tracing dinamico di sistema con
perfetto/simpleperf. - Per bug di telephony/provider OEM (e.g., OxygenOS CVE-2025-10184), tentare permission-less SMS read/send via la CLI
contentoContentResolverin-app; testare blind SQLi inupdate()per esfiltrare righe.
Informazioni su obfuscation/Deobfuscation
Riferimenti
- 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
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.


