โ›๏ธOutil Drozer

Manuel d'utilisation de l'outi Drozer

Description

Drozer est un framework d'exploitation dรฉdiรฉ ร  Android permettant de faire de l'analyse statique et dynamique via l'installation et la communication avec un agent .apk ร  installer sur la machine cible et qui va permettre de faire un grand nombre d'interactions allant de la collecte d'informations jusqu'ร  l'exploitation d'applications.

Installation

Prรฉrequis

Tรฉlรฉchargement et configuration

Rendez vous sur https://github.com/WithSecureLabs/drozer/releases/tag/2.4.4 puis tรฉlรฉcharger le fichier drozer-2.4.4-py2-none-any.whl.

Tรฉlรฉchargez ensuite l'agent ici: https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

Une fois l'agent tรฉlรฉchargรฉ, on va pouvoir l'installer sur l'appareil Android avec adb comme ceci:

$ adb install agent.apk

Il reste ensuite ร  lancer le serveur dans l'application "drozer Agent" installรฉe en switchant le bouton en bas ร  droite sur "ON".

L'agent Drozer s'exรฉcute sur le port 31415, il faut donc transfรฉrer le port avec la commande ci-dessous pour รฉtablir la communication entre le client Drozer et l'agent.

$ adb forward tcp:31415 tcp:31415

Vรฉrifier ensuite le bon fonctionnement du serveur en lancant la commande:

$ drozer console connect

Lister / Rechercher des packages

Dans le shell drozer:

dz> run app.package.list [-f exemple]

Renseignements sur un package

dz> run app.package.info -a com.example.targetapp

Lire le fichier AndroidManifest

dz> run app.package.manifest com.example.targetapp

Lister la surface d'attaque d'un package

dz> run app.package.attacksurface com.example.targetapp

Activities

Lister les activitiรฉs exportรฉes

dz> run app.activity.info -a com.example.targetapp

Lancer une activitรฉ

dz> run app.activity.start --component com.example.targetapp com.example.targetapp.MainActivity

Content providers

Lister les content providers

dz> run app.provider.info -a com.example.targetapp

Trouver des URIs

dz> run scanner.provider.finduris -a com.example.targetapp

Lire les fichiers dans le file system

dz> run app.provider.read content://com.example.targetapp...

Tรฉlรฉcharger le contenu d'un fichier

dz> run app.provider.download content://com.example.targetapp...

Requรชter un content provider

dz> run app.provider.query content://com.example.targetapp.DBContentProvider/Passwords/ --vertical

Envoyer de nouvelles donnรฉes ร  un content provider

dz> run app.provider.insert content://com.example.targetapp.DBContentProvider/Passwords/ --string <DBcolumn> <contenu>

#Types de donnรฉes
--string
--float
--integer
--long
--short
--boolean

Mettre ร  jour le contenu d'un content provider

dz> run app.provider.update content://com.example.targetapp.DBContentProvider/Passwords/ --selection "<DBcolumn>=?" --selection-args <contenu> --string <DBcolumn> <contenu>

Supprimer le contenu d'un content provider

dz> run app.provider.delete content://com.example.targetapp.DBContentProvider/Passwords/ --selection "<DBcolumn>=?" --selection-args <contenu>

Services

Lister les services

dz> run app.service.info -a com.example.targetapp

Interactions avec un service

dz> run app.service.send  //Permet d'envoyer un message ร  un service et d'intercepter la rรฉponse
dz> run app.service.start  //Permet de lancer un service
dz> run app.service.stop  //Permet de stopper un service

Broadcast Receivers

Lister les broadcast receivers

dz> run app.broadcast.info -a com.example.targetapp

Interactions avec les broadcast

dz> run app.broadcast.info  //Permet d'obtenir des informations sur les boraidcast
dz> run app.broadcast.send  //Permet d'envoyer un broadcast avec un intent
dz> run app.broadcast.sniff  //Permet d'enregistrer un broadcast reveiver pouvant sniffer des intents particuliers

Lister les applications debuggable

dz> run app.package.debuggable

Autre

Ouvrir un shell sur la machine

dz> run shell.start

Tรฉlรฉcharger / Envoyer un fichier sur la machine

dz> run tools.file.upload
dz> run tools.file.download

Derniรจre mise ร  jour