Android APK Checkliste
Reading time: 6 minutes
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
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
- Checke die Verwendung von obfuscation, prüfe, ob das Gerät gerootet ist, ob ein Emulator verwendet wird und auf Anti-Tampering-Checks.
- Sensible Anwendungen (z. B. Bank-Apps) sollten prüfen, ob das Gerät gerootet ist und entsprechend reagieren.
- Suche nach interesting strings (Passwörter, URLs, APIs, Verschlüsselung, backdoors, Tokens, Bluetooth UUIDs...).
- Besondere Aufmerksamkeit für firebase APIs.
- Read the manifest:
- Prüfe, ob die Anwendung im Debug-Modus ist und versuche, sie zu "exploit'en".
- Prüfe, ob das APK Backups erlaubt.
- Exported Activities
-
Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity mit einer
unityCLI extras bridge. Teste-xrsdk-pre-init-library <abs-path>für pre-initdlopen()RCE. Siehe Intent Injection → Unity Runtime. - Content Providers
- Exponierte Services
- Broadcast Receivers
- URL Schemes
- Speichert die Anwendung Daten unsicher intern oder extern (saving data insecurely internally or externally)?
- Gibt es ein password hard coded or saved in disk? Verwendet die App using insecurely crypto algorithms?
- Sind alle Libraries mit dem PIE-Flag kompiliert?
- Vergiss nicht, dass es eine Menge static Android Analyzers gibt, die dir in dieser Phase sehr helfen können.
-
android:exportedmandatory on Android 12+ – falsch konfigurierte exportierte Komponenten können zu externen Intent-Invocations führen. -
Prüfe die Network Security Config (
networkSecurityConfigXML) aufcleartextTrafficPermitted="true"oder domain-spezifische Overrides. - Suche nach Aufrufen zu Play Integrity / SafetyNet / DeviceCheck – bestimme, ob custom attestation gehookt/umgangen werden kann.
-
Inspiziere App Links / Deep Links (
android:autoVerify) auf Intent-Umleitung oder Open-Redirect-Probleme. -
Identifiziere die Nutzung von WebView.addJavascriptInterface oder
loadData*(), die zu RCE / XSS innerhalb der App führen können. -
Analysiere plattformübergreifende Bundles (Flutter
libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Dedizierte Tools: flutter-packer,fluttersign,rn-differ- Scanne Drittanbieter-native Libraries auf bekannte CVEs (z. B. libwebp CVE-2023-4863, libpng, etc.).
- Bewerte SEMgrep Mobile rules, Pithus und die neuesten MobSF ≥ 3.9 AI-gestützten Scan-Ergebnisse für zusätzliche Findings.
Dynamic Analysis
- Bereite die Umgebung vor (online, local VM or physical)
- Gibt es unintended data leakage (Logging, Copy/Paste, Crash-Logs)?
- Werden vertrauliche Informationen in SQLite-DBs gespeichert (Confidential information being saved in SQLite dbs)?
- Exploitable exposed Activities?
- Exploitable Content Providers?
- Exploitable exposed Services?
- Exploitable Broadcast Receivers?
- Überträgt die Anwendung Informationen im Klartext/verwendet schwache Algorithmen (transmitting information in clear text/using weak algorithms)? Ist ein MitM möglich?
- Inspect HTTP/HTTPS traffic
- Das ist sehr wichtig: Wenn du den HTTP-Traffic capture kannst, kannst du nach typischen Web-Vulnerabilities suchen (Hacktricks enthält viel Info zu Web-Vulns).
- Prüfe auf mögliche Android Client Side Injections (statische Code-Analyse kann hier helfen).
- Frida: Nutze Frida, um interessante dynamische Daten aus der Anwendung zu erhalten (vielleicht Passwörter...).
- Teste für Tapjacking / Animation-driven attacks (TapTrap 2025) sogar auf Android 15+ (keine Overlay-Permission erforderlich).
- Versuche overlay / SYSTEM_ALERT_WINDOW clickjacking und Accessibility Service abuse für Privileg-Eskalation.
-
Prüfe, ob
adb backup/bmgr backupnownoch App-Daten auslesen kann (Apps, die vergessen haben,allowBackupzu deaktivieren). - Prüfe auf Binder-level LPEs (z. B. CVE-2023-20963, CVE-2023-20928); verwende Kernel-Fuzzer oder PoCs, falls erlaubt.
-
Wenn Play Integrity / SafetyNet erzwungen wird, versuche Runtime-Hooks (
Frida Gadget,MagiskIntegrityFix,Integrity-faker) oder Netzwerk-Level Replay. - Instrumentiere mit modernen Tools:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
- Dynamisches systemweites Tracing mit
perfetto/simpleperf.
Some obfuscation/Deobfuscation information
References
tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks