Drozer Tutorial
Consejo de recompensa por errores: Regístrate en Intigriti, una plataforma premium de recompensas por errores creada por hackers, para hackers! ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy, y comienza a ganar recompensas de hasta $100,000!
APKs para probar
Sieve (de mrwlabs)
Partes de este tutorial fueron extraídas de la documentación pdf de Drozer.
Instalación
Instala el Cliente Drozer dentro de tu host. Descárgalo desde las últimas versiones.
Descarga e instala el archivo APK de drozer desde las últimas versiones. En este momento es este.
Iniciando el Servidor
El agente se está ejecutando en el puerto 31415, necesitamos hacer reenvío de puertos para establecer la comunicación entre el Cliente de Drozer y el Agente, aquí está el comando para hacerlo:
Finalmente, inicia la aplicación y presiona el botón "ON"
Y conéctate a ella:
Comandos Interesantes
Paquete
Encuentra el nombre del paquete filtrando por parte del nombre:
Información básica del paquete:
Lee Manifiesto:
Superficie de ataque del paquete:
Actividades: Tal vez puedas iniciar una actividad y evitar algún tipo de autorización que debería impedirte lanzarla.
Proveedores de contenido: Tal vez puedas acceder a datos privados o explotar alguna vulnerabilidad (Inyección SQL o Traversal de Ruta).
Servicios:
es depurable: Más información
Actividades
El valor "android:exported" de un componente de actividad exportado está establecido en "true" en el archivo AndroidManifest.xml:
Listar actividades exportadas:
Iniciar actividad:
Tal vez puedas iniciar una actividad y evitar algún tipo de autorización que debería impedirte lanzarla.
También puedes iniciar una actividad exportada desde adb:
El nombre del paquete es com.example.demo
El nombre de la actividad exportada es com.example.test.MainActivity
Proveedores de contenido
Este post era tan extenso que puedes acceder a él en su propia página aquí.
Servicios
Un servicio exportado se declara dentro del Manifest.xml:
Dentro del código verifica la función **handleMessage
** que recibirá el mensaje:
Listar servicio
Interactuar con un servicio
Ejemplo
Eche un vistazo a la ayuda de drozer para app.service.send
:
Tenga en cuenta que primero enviará los datos dentro de "msg.what", luego "msg.arg1" y "msg.arg2", debe verificar dentro del código qué información se está utilizando y dónde.
Usando la opción --extra
puede enviar algo interpretado por "msg.replyTo", y usando --bundle-as-obj
creas un objeto con los detalles proporcionados.
En el siguiente ejemplo:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
Receptores de difusión
En la sección de información básica de Android puedes ver qué es un receptor de difusión.
Después de descubrir estos receptores de difusión, debes verificar el código de los mismos. Presta especial atención a la función onReceive
ya que será la encargada de manejar los mensajes recibidos.
Detectar todos los receptores de difusión
Verificar receptores de difusión de una aplicación
Interacciones de Transmisión
Enviar un mensaje
En este ejemplo abusando del apk de FourGoats Content Provider puedes enviar un SMS arbitrario a cualquier destino no premium sin pedir permiso al usuario.
Si lees el código, los parámetros "phoneNumber" y "message" deben ser enviados al Content Provider.
Es debuggeable
Un APK de producción nunca debería ser debuggeable. Esto significa que puedes adjuntar un depurador de Java a la aplicación en ejecución, inspeccionarla en tiempo de ejecución, establecer puntos de interrupción, avanzar paso a paso, recopilar valores de variables e incluso cambiarlos. InfoSec institute tiene un excelente artículo sobre cómo profundizar cuando tu aplicación es debuggable e inyectar código en tiempo de ejecución.
Cuando una aplicación es debuggable, aparecerá en el Manifiesto:
Puedes encontrar todas las aplicaciones depurables con Drozer:
Tutoriales
Más información
Consejo de recompensa por errores: Regístrate en Intigriti, una plataforma de recompensas por errores premium creada por hackers, para hackers. ¡Únete a nosotros en https://go.intigriti.com/hacktricks hoy y comienza a ganar recompensas de hasta $100,000!
Última actualización