hacktricks/mobile-pentesting/android-checklist.md

7.7 KiB

Liste de vérification des APK Android

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Groupe de sécurité Try Hard

{% embed url="https://discord.gg/tryhardsecurity" %}


Apprenez les fondamentaux d'Android

Analyse statique

  • Vérifiez l'utilisation de l'obfuscation, vérifiez si le mobile est rooté, si un émulateur est utilisé et les vérifications anti-altération. Lisez ceci pour plus d'informations.
  • Les applications sensibles (comme les applications bancaires) doivent vérifier si le mobile est rooté et agir en conséquence.
  • Recherchez les chaînes intéressantes (mots de passe, URL, API, chiffrement, portes dérobées, jetons, UUID Bluetooth...).
  • Une attention particulière aux API firebase.
  • Lisez le manifeste:
  • Vérifiez si l'application est en mode débogage et essayez de l'exploiter
  • Vérifiez si l'APK autorise les sauvegardes
  • Activités exportées
  • Fournisseurs de contenu
  • Services exposés
  • Récepteurs de diffusion
  • Schémas d'URL
  • L'application enregistre-t-elle des données de manière non sécurisée en interne ou en externe (android-app-pentesting/#insecure-data-storage)?
  • Y a-t-il un mot de passe codé en dur ou enregistré sur le disque (android-app-pentesting/#poorkeymanagementprocesses)? L'application utilise-t-elle des algorithmes de chiffrement non sécurisés (android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
  • Toutes les bibliothèques sont-elles compilées en utilisant le drapeau PIE?
  • N'oubliez pas qu'il existe une multitude d'analyseurs statiques Android qui peuvent beaucoup vous aider pendant cette phase.

Analyse dynamique

  • Préparez l'environnement (en ligne, VM locale ou physique)
  • Y a-t-il une fuite de données non intentionnelle (journalisation, copier/coller, journaux de plantage)?
  • Des informations confidentielles sont-elles enregistrées dans des bases de données SQLite (android-app-pentesting/#sqlite-dbs)?
  • Activités exposées exploitables (android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
  • Fournisseurs de contenu exploitables (android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
  • Services exposés exploitables (android-app-pentesting/#exploiting-services)?
  • Récepteurs de diffusion exploitables (android-app-pentesting/#exploiting-broadcast-receivers)?
  • L'application transmet-elle des informations en clair/utilise-t-elle des algorithmes faibles (android-app-pentesting/#insufficient-transport-layer-protection)? Est-ce qu'une attaque de l'homme du milieu est possible?
  • Inspectez le trafic HTTP/HTTPS
  • Ceci est très important, car si vous pouvez capturer le trafic HTTP, vous pouvez rechercher des vulnérabilités Web courantes (Hacktricks a beaucoup d'informations sur les vulnérabilités Web).
  • Recherchez d'éventuelles injections côté client Android (probablement une analyse de code statique vous aidera ici)
  • Frida: Juste Frida, utilisez-le pour obtenir des données dynamiques intéressantes de l'application (peut-être quelques mots de passe...)

Informations sur l'obfuscation/Déobfuscation

Groupe de sécurité Try Hard

{% embed url="https://discord.gg/tryhardsecurity" %}

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!