
Le framework d'évaluation de sécurité leader pour Android.
drozer est un framework de test de sécurité pour Android.
drozer vous permet de rechercher des vulnérabilités de sécurité dans les applications et les appareils en jouant le rôle d'une application et en interagissant avec l'environnement d'exécution Android, les points de terminaison IPC d'autres applications et le système d'exploitation sous-jacent.
drozer fournit des outils pour vous aider à utiliser, partager et comprendre les exploits Android publics.
drozer est un logiciel open source, maintenu par Reversec. Un guide d'utilisation introductif est disponible sur Reversec Labs
Il s'agit d'une version BÊTA d'une réécriture de drozer ; cette version est mise à jour pour prendre en charge python3.
Actuellement, les problèmes connus suivants sont présents :
Pour aider à garantir que drozer peut être exécuté sur tous les systèmes, un conteneur Docker a été créé avec une version fonctionnelle de drozer.
Vous pouvez utiliser pip ou pipx (de préférence, si disponible) pour installer la dernière version de drozer depuis PyPI :
pipx install drozer
Alternativement, vous pouvez télécharger les versions individuelles depuis GitHub et exécuter :
pipx install ./drozer-*.whl
Si ce n'est pas déjà fait, pensez à exécuter :
pipx ensurepath
pour garantir que les paquets installés par pipx apparaissent dans votre PATH
Pour construire drozer à partir des sources, vous pouvez exécuter :
git clone https://github.com/ReversecLabs/drozer.git
cd drozer
pip install .
Pour construire les composants natifs Android avec un SDK spécifique, vous pouvez définir la variable d'environnement ANDROID_SDK avec le chemin. Par exemple :
Linux/macOS :
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell :
New-Item -Path Env:\ANDROID_SDK -Value 'C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar'
Windows - cmd :
set ANDROID_SDK = "C:\Users\drozerUser\AppData\Local\Android\sdk\platforms\android-34\android.jar"
L'emplacement de l'outil d8 utilisé peut également être modifié en définissant D8.
drozer peut être installé en utilisant Android Debug Bridge (adb).
Téléchargez la dernière version de l'agent drozer ici.
adb install drozer-agent.apk
Vous devriez maintenant avoir la console drozer installée sur votre PC et l'Agent en cours d'exécution sur votre appareil de test. Maintenant, vous devez connecter les deux et vous êtes prêt à commencer l'exploration.
Nous utiliserons le serveur intégré à l'agent drozer pour cela. Tout d'abord, lancez l'Agent, sélectionnez l'option "Serveur intégré" et appuyez sur "Activer" pour démarrer le serveur. Vous devriez voir une notification indiquant que le serveur a démarré.
Ensuite, suivez l'une des options ci-dessous.
Par défaut, l'agent drozer écoute les connexions TCP entrantes sur toutes les interfaces sur le port 31415. Pour vous connecter à l'Agent, exécutez la commande suivante :
drozer console connect --server <adresse IP du téléphone>
Si vous utilisez le conteneur Docker, la commande équivalente serait :
docker run --net host -it drozerdocker/drozer console connect --server <adresse IP du téléphone>
Dans certains scénarios, la connexion à l'appareil via le réseau peut ne pas être viable. Dans ces cas, nous pouvons tirer parti des capacités de redirection de ports d'adb pour établir une connexion via USB.
Tout d'abord, vous devez configurer une redirection de port appropriée afin que votre PC puisse se connecter à une socket TCP ouverte par l'Agent dans l'émulateur ou sur l'appareil. Par défaut, drozer utilise le port 31415
adb forward tcp:31415 tcp:31415
Vous pouvez maintenant vous connecter à l'agent drozer en vous connectant à localhost (ou simplement en ne spécifiant pas l'IP cible)
drozer console connect
Vous devriez voir une invite de commande drozer :
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
L'invite confirme l'ID Android de l'appareil auquel vous êtes connecté, ainsi que le fabricant, le modèle et la version du logiciel Android.
Vous êtes maintenant prêt à commencer à explorer l'appareil.
drozer est distribué sous licence BSD à 3 clauses. Voir LICENSE pour les détails complets.
drozer est un logiciel Open Source, rendu excellent par les contributions de la communauté.
Pour le code source complet, signaler des bugs, suggérer des fonctionnalités et contribuer des correctifs, veuillez consulter notre projet Github :
https://github.com/ReversecLabs/drozer
Les rapports de bugs, demandes de fonctionnalités, commentaires et questions peuvent être soumis ici.
| Commande | Description |
|---|
| run | Exécute un module drozer |
| list | Affiche une liste de tous les modules drozer pouvant être exécutés dans la session en cours. Cela masque les modules pour lesquels vous ne disposez pas des autorisations appropriées. |
| shell | Démarre un shell Linux interactif sur l'appareil, dans le contexte du processus Agent. |
| cd | Monte un espace de noms particulier comme racine de la session, pour éviter de devoir taper à plusieurs reprises le nom complet d'un module. |
| clean | Supprime les fichiers temporaires stockés par drozer sur l'appareil Android. |
| contributors | Affiche une liste des personnes qui ont contribué au framework drozer et aux modules utilisés sur votre système. |
| echo | Affiche du texte dans la console. |
| exit | Termine la session drozer. |
| help | Affiche l'aide sur une commande ou un module particulier. |
| load | Charge un fichier contenant des commandes drozer et les exécute en séquence. |
| module | Trouve et installe des modules drozer supplémentaires depuis Internet. |
| permissions | Affiche une liste des autorisations accordées à l'agent drozer. |
| set | Stocke une valeur dans une variable qui sera passée comme variable d'environnement à tous les shells Linux lancés par drozer. |
| unset | Supprime une variable nommée que drozer passe à tous les shells Linux qu'il lance. |