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

Learn Android fundamentals

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 unity CLI extras bridge. Teste -xrsdk-pre-init-library <abs-path> für pre-init dlopen() 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:exported mandatory on Android 12+ – falsch konfigurierte exportierte Komponenten können zu externen Intent-Invocations führen.
  • Prüfe die Network Security Config (networkSecurityConfig XML) auf cleartextTrafficPermitted="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 backupnow noch App-Daten auslesen kann (Apps, die vergessen haben, allowBackup zu 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