drozer est un framework de tests de sécurité pour Android.
drozer vous permet de rechercher des vulnérabilités de sécurité dans les applications et les appareils en assumant le rôle d'une application et en interagissant avec le runtime 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 publics d'Android.
drozer est un logiciel open source, maintenu par WithSecure, et peut être téléchargé depuis : https://labs.withsecure.com/tools/drozer/
Il s'agit d'une version BETA d'une version réécrite de Drozer ; cette version est mise à jour pour prendre en charge python3.
Actuellement, les problèmes connus suivants sont présents :
Pour 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
Vous pouvez également télécharger des versions individuelles depuis GitHub et exécuter :
pipx install ./drozer- * .whl
Si vous ne l'avez pas déjà fait, envisagez d'exécuter :
pipx ensurepath
pour garantir que les packages installés par pipx
apparaissent dans votre PATH
Pour construire Drozer à partir des sources, vous pouvez exécuter.
git clone https://github.com/WithSecureLabs/drozer.git
cd drozer
pip install .
Pour créer les composants natifs Android sur un SDK spécifique, vous pouvez définir la variable d'environnement ANDROID_SDK
sur 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:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar '
Windows-cmd :
set ANDROID_SDK = " C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar "
L'emplacement de l'outil d8
utilisé peut également être modifié en réglant D8
.
drozer peut être installé à l’aide d’Android Debug Bridge (adb).
Téléchargez le dernier agent Drozer ici.
adb install drozer-agent.apk
La console drozer devrait maintenant être installée sur votre PC et l'agent exécuté sur votre appareil de test. Maintenant, vous devez connecter les deux et vous êtes prêt à commencer à explorer.
Nous utiliserons le serveur intégré à l'agent drozer pour ce faire. 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 du port 31415. Pour vous connecter à l'agent, exécutez la commande suivante :
drozer console connect --server <phone's IP address>
Si vous utilisez le conteneur Docker, la commande équivalente serait :
docker run --net host -it withsecurelabs/drozer console connect --server <phone's IP address>
Dans certains scénarios, la connexion à l'appareil via le réseau peut ne pas être viable. Dans ces scénarios, nous pouvons exploiter les capacités de redirection de port 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 à un socket TCP ouvert par l'agent à l'intérieur de 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
Une invite de commande drozer devrait s'afficher :
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.
Commande | Description |
---|---|
courir | Exécute un module drozer |
liste | Afficher une liste de tous les modules Drozer qui peuvent être exécutés dans la session en cours. Cela masque les modules pour lesquels vous ne disposez pas des autorisations appropriées. |
coquille | Démarrez 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 d'avoir à taper à plusieurs reprises le nom complet d'un module. |
faire le ménage | Supprimez les fichiers temporaires stockés par drozer sur l'appareil Android. |
contributeurs | Affiche une liste des personnes qui ont contribué au framework drozer et aux modules utilisés sur votre système. |
écho | Imprime le texte sur la console. |
sortie | Terminez la session Drozer. |
aide | Afficher l'aide sur une commande ou un module particulier. |
charger | Chargez un fichier contenant les commandes drozer et exécutez-les dans l'ordre. |
module | Recherchez et installez des modules Drozer supplémentaires à partir d'Internet. |
autorisations | Afficher une liste des autorisations accordées à l'agent drozer. |
ensemble | Stockez une valeur dans une variable qui sera transmise en tant que variable d'environnement à tous les shells Linux générés par drozer. |
désarmé | Supprimez une variable nommée que Drozer transmet à tous les shells Linux qu'il génère. |
drozer est publié sous une licence BSD à 3 clauses. Voir LICENCE pour plus de détails.
drozer est un logiciel Open Source, réalisé grâce aux contributions de la communauté.
Pour obtenir le code source complet, signaler des bogues, suggérer des fonctionnalités et contribuer à des correctifs, veuillez consulter notre projet Github :
https://github.com/WithSecureLabs/drozer
Les rapports de bugs, les demandes de fonctionnalités, les commentaires et les questions peuvent être soumis ici.