🌳Setup environnement
Outils
Android Studio IDE
Android Studio est l'IDE officiel pour le développement Android et comprend tout ce dont vous avez besoin pour créer des applications Android.
ressource: https://developer.android.com/studio/releases
Pen-Andro
Script permettant d'automatiser l'intallations d'applications, frida-server et le certificat burp suite.
ressource: https://github.com/raoshaab/Pen-Andro
Setup
lancement du service adb (Android Debug Bridge)
$ adb start-server
Lancer une emulation
Créer un nouvel émulateur en utilisant le périphérique virtuel Android (AVD) Manager, qui est inclus dans Android Studio.
Accéder à AVD
Télécharger la version Android souhaitée
Installer la version choisie
Nommez l'émulateur
Exécuter l'emulateur
Lister les emulateurs disponibles
$ adb devices
Installer une application
$ adb -s <emulator name> install exemple.apk
Extraire un apk
$ adb shell pm list packages #lister les packages
$ adb shell pm path <package>
$ adb pull /path/to/package==/exemple.apk
Setup Burp Proxy
Dans burp suite
Aller dans "Proxy > Options" puis cliquer sur "Import / export CA certificate"
Importer le certificat au format DER
Retourner dans "Options" et créer un nouveau listener sur le port souhaité et écoutant sur toutes les interfaces.
Sur l'appareil Android
Méthode 1: Proxy via paramètres WIFI
Aller dans les parametres WIFI avancés et ajouter un proxy à l'adresse de votre machine hôte et au port choisi dans burp.
Méthode 2: Global proxy
Ajouter un proxy:
$ adb shell settings put global http_proxy <IP>:<Port>
Supprimer le proxy:
$ adb shell settings put global http_proxy :0
Sur l'appareil hôte
Convertir le fichier cacert.der importé en format accepté par l'appareil mobile comme ceci:
Copier le certificat dans l'appareil android
Patch APK
Cette étape permet d'ajouter les gadgets frida à une application afin de pouvoir hook l'application plus facilement. Pour cela il existe deux solutions...
Solution automatique
Objection permet de faire ce patch automatiquement via la commande suivante:
$ objection patchapk -s example.apk [-t com.example.xyz.SpecificClass]
Note: Si il y a une erreur disant qu'il est impossible de décoder la ressource, il faut ajouter l'argument --use-aapt2
à la commande.
Objection ajoutera alors la lib frida adaptée à l'architecture du device dans les libs et dans le code puis signera le nouvel apk (example.objection.apk). Une fois cela fait, il ne reste plus qu'a remplacer l'apk original par le nouvel apk sur l'appareil.
Solution manuelle
Si la solution automatique ne fonctionne pas, il est nécessaire de faire la manipulation manuellement. Pour cela, suivre les instructions du site suivant:
Outils
Frida
Frida est une boîte à outils d'instrumentation de code dynamique. Il vous permet d'injecter des extraits de code JavaScript ou votre propre bibliothèque dans des applications natives sur Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD et QNX.
ressource: https://frida.re/docs/installation/
Objection
Objection est une boîte à outils d'exploration mobile d'exécution, optimisée par Frida =, conçue pour vous aider à évaluer l'état de sécurité de vos applications mobiles, sans avoir besoin d'un jailbreak.
ressource: https://github.com/sensepost/objection/
Dernière mise à jour