Android APK Checkliste

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

Android-Grundlagen

Statische Analyse

  • Prüfe die Verwendung von obfuscation, prüfe, ob das Gerät gerootet ist, ob ein Emulator verwendet wird und führe Anti-Tampering-Checks durch. Mehr Infos.
  • Sensible Anwendungen (z. B. Bank-Apps) sollten prüfen, ob das Gerät gerootet ist und entsprechend reagieren.
  • Suche nach interessante Strings (Passwörter, URLs, API, Verschlüsselung, backdoors, Tokens, Bluetooth uuids…).
  • Besondere Aufmerksamkeit für firebase APIs.
  • Manifest lesen:
  • Prüfe, ob die Anwendung im Debug-Modus ist und versuche, sie zu exploiten
  • 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
  • Ist die Anwendung 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 Reihe von static Android Analyzers gibt, die dir in dieser Phase sehr helfen können.
  • android:exported mandatory on Android 12+ – fehlkonfigurierte exportierte Komponenten können zu externen Intent-Aufrufen führen.
  • Überprüfe die Network Security Config (networkSecurityConfig XML) auf cleartextTrafficPermitted="true" oder domain-spezifische Overrides.
  • Suche nach Aufrufen von Play Integrity / SafetyNet / DeviceCheck – beurteile, ob custom attestation gehookt/umgangen werden kann.
  • Untersuche App Links / Deep Links (android:autoVerify) auf Intent-Redirects oder Open-Redirect-Probleme.
  • Identifiziere Nutzung von WebView.addJavascriptInterface oder loadData*() die zu RCE / XSS innerhalb der App führen kann.
  • Analysiere cross-platform Bundles (Flutter libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Dedizierte Tools:
  • flutter-packer, fluttersign, rn-differ
  • Scanne Third-Party native Libraries nach bekannten CVEs (z. B. libwebp CVE-2023-4863, libpng, etc.).
  • Bewerte SEMgrep Mobile rules, Pithus und die neuesten MobSF ≥ 3.9 AI-unterstützten Scan-Ergebnisse für zusätzliche Findings.
  • Prüfe OEM-ROM-Add-ons (OxygenOS/ColorOS/MIUI/OneUI) auf zusätzliche exported ContentProviders, die Berechtigungen umgehen; versuche content query --uri content://com.android.providers.telephony/ServiceNumberProvider ohne READ_SMS (z. B. OnePlus CVE-2025-10184).

Dynamische Analyse

  • Bereite die Umgebung vor (online, lokale VM oder physisches Gerät)
  • Gibt es unerwünschte 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/unter Verwendung schwacher Algorithmen (is a MitM possible)?
  • Untersuche HTTP/HTTPS Traffic
  • Das ist sehr wichtig: wenn du den HTTP-Traffic erfassen kannst, kannst du nach gängigen Web-Vulnerabilities suchen (Hacktricks enthält viele Informationen zu Web-Vulns).
  • Prüfe auf mögliche Android Client Side Injections (wahrscheinlich hilft hier ein statischer Code-Scan).
  • Frida: Einfach Frida nutzen, 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-Berechtigung erforderlich).
  • Versuche overlay / SYSTEM_ALERT_WINDOW clickjacking und Accessibility Service abuse für Privilegieneskalation.
  • Prüfe, ob adb backup / bmgr backupnow noch App-Daten dumpen können (Apps, die vergessen haben, allowBackup zu deaktivieren).
  • Suche nach Binder-level LPEs (z. B. CVE-2023-20963, CVE-2023-20928); nutze Kernel-Fuzzer oder PoCs, wenn erlaubt.
  • Wenn Play Integrity / SafetyNet durchgesetzt wird, versuche Runtime-Hooks (Frida Gadget, MagiskIntegrityFix, Integrity-faker) oder Netzwerk-Level Replay. Neuere Play Integrity Fix Forks (≥17.x) betten playcurl ein—fokussiere auf ZygiskNext + PIF + ZygiskAssistant/TrickyStore-Kombinationen, um DEVICE/STRONG Verdicts zurückzugewinnen.
  • Instrumentiere mit modernem Tooling:
  • Objection > 2.0, Frida 17+ (Android 16 support, ART offset fixes), NowSecure-Tracer (2024)
  • Dynamisches systemweites Tracing mit perfetto / simpleperf.
  • Für OEM-Telephony/Provider-Bugs (z. B. OxygenOS CVE-2025-10184), versuche permission-less SMS read/send über die content CLI oder in-app ContentResolver; teste blind SQLi in update() zum Exfiltrieren von Rows.

Some obfuscation/Deobfuscation information

Referenzen

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