Android APK Checklist
Reading time: 5 minutes
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
- Controlla l'uso di obfuscation, verifica se il mobile è stato rootato, se viene utilizzato un emulatore e controlli anti-manomissione. Leggi qui per maggiori informazioni.
- Le applicazioni sensibili (come le app bancarie) dovrebbero controllare se il mobile è rootato e agire di conseguenza.
- Cerca interesting strings (password, URL, API, crittografia, backdoor, token, Bluetooth uuids...).
- Attenzione speciale alle firebase API.
- Leggi il manifest:
- Controlla se l'applicazione è in modalità debug e prova a "sfruttarla"
- Controlla se l'APK consente backup
- Attività esportate
- Fornitori di contenuti
- Servizi esposti
- Ricevitori broadcast
- Schemi URL
- L'applicazione sta salvando dati in modo insicuro internamente o esternamente?
- C'è qualche password hard coded o salvata su disco? L'app sta utilizzando algoritmi crittografici insicuri?
- Tutte le librerie compilate utilizzando il flag PIE?
- Non dimenticare che ci sono un sacco di static Android Analyzers che possono aiutarti molto durante questa fase.
-
android:exported
obbligatorio su Android 12+ – componenti esportati mal configurati possono portare a invocazioni di intent esterni. -
Rivedi Network Security Config (
networkSecurityConfig
XML) percleartextTrafficPermitted="true"
o sovrascritture specifiche del dominio. - Cerca chiamate a Play Integrity / SafetyNet / DeviceCheck – determina se l'attestazione personalizzata può essere agganciata/evitata.
-
Ispeziona App Links / Deep Links (
android:autoVerify
) per problemi di reindirizzamento di intent o open-redirect. -
Identifica l'uso di WebView.addJavascriptInterface o
loadData*()
che possono portare a RCE / XSS all'interno dell'app. -
Analizza bundle cross-platform (Flutter
libapp.so
, React-Native JS bundles, risorse Capacitor/Ionic). Strumenti dedicati: flutter-packer
,fluttersign
,rn-differ
- Scansiona librerie native di terze parti per CVE noti (ad es., libwebp CVE-2023-4863, libpng, ecc.).
- Valuta i SEMgrep Mobile rules, Pithus e i risultati della scansione assistita da AI più recenti di MobSF ≥ 3.9 per ulteriori scoperte.
Dynamic Analysis
- Prepara l'ambiente (online, VM locale o fisica)
- C'è qualche unintended data leakage (logging, copia/incolla, log di crash)?
- Informazioni riservate salvate in db SQLite?
- Attività esportate sfruttabili?
- Fornitori di contenuti sfruttabili?
- Servizi esposti sfruttabili?
- Ricevitori broadcast sfruttabili?
- L'applicazione sta trasmettendo informazioni in chiaro/utilizzando algoritmi deboli? è possibile un MitM?
- Ispeziona il traffico HTTP/HTTPS
- Questo è davvero importante, perché se riesci a catturare il traffico HTTP puoi cercare vulnerabilità Web comuni (Hacktricks ha molte informazioni sulle vulnerabilità Web).
- Controlla possibili Android Client Side Injections (probabilmente un'analisi statica del codice aiuterà qui)
- Frida: Solo Frida, usala per ottenere dati dinamici interessanti dall'applicazione (forse alcune password...)
- Testa per Tapjacking / Animation-driven attacks (TapTrap 2025) anche su Android 15+ (nessun permesso di overlay richiesto).
- Prova overlay / SYSTEM_ALERT_WINDOW clickjacking e Accessibility Service abuse per l'escalation dei privilegi.
-
Controlla se
adb backup
/bmgr backupnow
può ancora dumpare i dati dell'app (app che hanno dimenticato di disabilitareallowBackup
). - Prova per Binder-level LPEs (ad es., CVE-2023-20963, CVE-2023-20928); usa fuzzers del kernel o PoC se consentito.
-
Se Play Integrity / SafetyNet è applicato, prova runtime hooks (
Frida Gadget
,MagiskIntegrityFix
,Integrity-faker
) o replay a livello di rete. - Strumenta con strumenti moderni:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
- Tracciamento dinamico a livello di sistema con
perfetto
/simpleperf
.
Some obfuscation/Deobfuscation information
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.