Liste de contrôle Android APK

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Learn Android fundamentals

Static Analysis

  • Vérifier l’utilisation de obfuscation, vérifier si le mobile est rooté, si un émulateur est utilisé et les contrôles anti-manipulation. Read this for more info.
  • Les applications sensibles (comme les apps bancaires) doivent vérifier si le mobile est rooté et agir en conséquence.
  • Rechercher des interesting strings (passwords, URLs, API, encryption, backdoors, tokens, Bluetooth uuids…).
  • Accorder une attention particulière aux APIs firebase .
  • Read the manifest:
  • Vérifier si l’application est en mode debug et essayer de “l’exploiter”
  • Vérifier si l’APK autorise les backups
  • Exported Activities
  • Unity Runtime: exported UnityPlayerActivity/UnityPlayerGameActivity with a unity CLI extras bridge. Test -xrsdk-pre-init-library <abs-path> for pre-init dlopen() RCE. See Intent Injection → Unity Runtime.
  • Content Providers
  • Exposed services
  • Broadcast Receivers
  • URL Schemes
  • L’application saving data insecurely internally or externally?
  • Y a-t-il un password hard coded or saved in disk? L’application utilise-t-elle des using insecurely crypto algorithms?
  • Toutes les librairies sont-elles compilées avec le flag PIE ?
  • N’oubliez pas qu’il existe tout un ensemble de static Android Analyzers qui peuvent beaucoup vous aider lors de cette phase.
  • android:exported mandatory on Android 12+ – les composants exportés mal configurés peuvent permettre l’invocation d’intents externes.
  • Vérifier la Network Security Config (networkSecurityConfig XML) pour cleartextTrafficPermitted="true" ou des exceptions par domaine.
  • Rechercher des appels à Play Integrity / SafetyNet / DeviceCheck – déterminer si l’attestation personnalisée peut être hookée/contournée.
  • Inspecter les App Links / Deep Links (android:autoVerify) pour des redirections d’intent ou des problèmes d’open-redirect.
  • Identifier l’utilisation de WebView.addJavascriptInterface ou loadData*() qui peut mener à une RCE / XSS dans l’app.
  • Analyse cross-platform bundles (Flutter libapp.so, React-Native JS bundles, Capacitor/Ionic assets). Dedicated tooling:
  • flutter-packer, fluttersign, rn-differ
  • Scanner les librairies natives tierces pour des CVE connus (e.g., libwebp CVE-2023-4863, libpng, etc.).
  • Évaluer les règles SEMgrep Mobile rules, Pithus et les résultats de scan assistés par IA de la dernière MobSF ≥ 3.9 pour des découvertes supplémentaires.

Dynamic Analysis

  • Préparer l’environnement (online, local VM or physical)
  • Y a-t-il un unintended data leakage (logging, copy/paste, crash logs)?
  • Les Confidential information being saved in SQLite dbs?
  • Exploitable exposed Activities?
  • Exploitable Content Providers?
  • Exploitable exposed Services?
  • Exploitable Broadcast Receivers?
  • L’application transmitting information in clear text/using weak algorithms? Un MitM est-il possible?
  • Inspect HTTP/HTTPS traffic
  • Celle-ci est vraiment importante, car si vous pouvez capturer le trafic HTTP vous pouvez rechercher des vulnérabilités Web courantes (Hacktricks contient beaucoup d’informations sur les vulnérabilités Web).
  • Vérifier d’éventuelles Android Client Side Injections (probablement une analyse statique du code aidera ici)
  • Frida: Just Frida, utilisez-le pour obtenir des données dynamiques intéressantes de l’application (peut-être des mots de passe…)
  • Tester les Tapjacking / Animation-driven attacks (TapTrap 2025) même sur Android 15+ (aucune permission d’overlay requise).
  • Tenter overlay / SYSTEM_ALERT_WINDOW clickjacking et Accessibility Service abuse pour l’escalade de privilèges.
  • Vérifier si adb backup / bmgr backupnow peuvent encore extraire les données de l’app (apps qui ont oublié de désactiver allowBackup).
  • Chercher des Binder-level LPEs (e.g., CVE-2023-20963, CVE-2023-20928); utiliser des kernel fuzzers ou PoCs si autorisé.
  • Si Play Integrity / SafetyNet est appliqué, essayer des hooks runtime (Frida Gadget, MagiskIntegrityFix, Integrity-faker) ou du replay au niveau réseau.
  • Instrumenter avec des outils modernes:
  • Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
  • Tracing système dynamique à l’échelle globale avec perfetto / simpleperf.

Some obfuscation/Deobfuscation information

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks