Pentesting de Android: laboratorio de configuración | Por ARZ101 | Enero de 2022


Hola a todos, voy a crear una serie de publicaciones para la penetración de Android en las que describiré cómo configurar su entorno de laboratorio para probar aplicaciones, configurar un emulador raíz, usaré gennymotion como emulador, que es una máquina virtual que puede use windows o linux, pero yo configuraría esto en windows, puede hacer lo mismo para linux, será mucho más fácil.
Gennymotion es un emulador de Android basado en virutalbox para probar aplicaciones móviles, por lo que descargar La versión que viene con virtualbox
despuésr Regístrese para obtener una cuenta en gennymotion, inicie sesión y estará en esta pantalla
Ahora, no importa qué dispositivo Android elija usar, solo necesita elegir el Android con el que está familiarizado o el dispositivo compatible con su aplicación, como la mayoría de las aplicaciones no se ejecutan en Android 7 en estos días, así que simplemente elija Android 10
En la esquina superior derecha verá un botón más para agregar un dispositivo virtual
Acabo de seleccionar Moto X y mostrará la configuración, la memoria, el procesador, la resolución y la versión de Android que desea proporcionar de este dispositivo.
Cambié la versión y la asignación de memoria para este dispositivo, puede mantener la configuración predeterminada si lo prefiere
Luego haga clic en instalar y descargará la API de Android y configurará el dispositivo
Encienda la máquina cuando haya terminado.
Ahora lo siguiente a configurar es ADB
Este es el puente de depuración de Android que ayuda a obtener un shell y transferir archivos en el dispositivo, instalar apk y flash, que se usará cuando instalemos magisk, EdXposed (para Android 8.0+ o Xposed (compatible con Android 7.0)
Descarga la herramienta adb de aquí , asegúrese de que si está utilizando una versión anterior de la herramienta adb y la versión sdk del dispositivo es una versión posterior, es posible que surja el problema.
Después de descargar la herramienta, puede navegar hasta donde la guardó y ejecutar el comando adb devices
Algunos comandos importantes que usaremos principalmente son
adb shell
Esto proporcionará un shell en el dispositivo.adb install filename.apk
Esto instalará el apk en el dispositivo.adb push file /data/local/tmp
Esto copiará el archivo al dispositivo Android, generalmente usando la ruta /data/local/tmp
Entonces, al ejecutar adb shell, podemos obtener un shell en el dispositivo como root, ya que estos emuladores ya son root.
Esto realmente no necesita ser instalado, pero es posible que algunas aplicaciones no funcionen, o emuladores de Android o dispositivos rooteados, por lo que si es demasiado perezoso para navegar por el código fuente y usar otros métodos para evitar la detección de raíz, puede Estas aplicaciones son enviado con módulos.
Para instalarlos, primero instale los apks de magisk y EdXposed a través de adb, luego actualice el archivo zip de magisk para instalarlo correctamente, para EdXposed necesitamos actualizar los archivos edxposed y riru, pero para hacer esto usaremos tanto el administrador de magisk como adb shell, puede descargar estos archivos desde aquí
Otorgar privilegios de administrador de magisk
Puedes ver que muestra que magisk no está instalado
Igual que la aplicación EdXposed
Para actualizar el archivo magisk, mueva el archivo a /data/local/tmp y ejecute el comando adb shell /system/bin/flash-archive.sh /data/local/tmp/Magisk_rebuilt_1c8ebfac_x86.zip
, Donde flash-archive.sh
es un script bash para actualizar archivos, disponible de forma predeterminada en el emulador gennymotion
Reinicie su emulador (ciérrelo y ábralo nuevamente), si por alguna razón magisk no muestra que no está instalado, intente instalarlo moviendo el archivo a la aplicación magisk manager /sdcard/Download
Ahora mueva el archivo riru requerido por EdXposed adb shell /system/bin/flash-archive.sh /data/local/tmp/riru-v25.4.4-release.zip
Esto mostrará un error al actualizar el guardado, pero eso es normal, no te preocupes
Vaya a los módulos del administrador de magisk e instálelos, luego instale el archivo Riru nuevamente
Ahora, cuando reinicies y abras EdXposed, se instalará
Luego puede instalar módulos para la detección de raíces ocultas y la fijación de ssl
Frida es una herramienta de detección dinámica para inyectar secuencias de comandos en tiempo de ejecución para eludir la detección de raíz y la fijación de ssl. Por lo general, detecta la raíz a través de secuencias de comandos genéricas, o puede crear su propia secuencia de comandos para detectar la raíz al comprender la lógica utilizada por el apk, frida La secuencia de comandos es escrito en javascript
necesitas python 3.7
Para poder trabajar con frida, hay un problema al ejecutar esta herramienta si la versión de python es inferior o superior a la 3.7, se puede instalar instalando pip3
Tengo esta herramienta instalada por lo que solo me dirá que se cumplen los requisitos
Estos son los comandos para instalar frida
pip3 install frida
pip3 install frida-tools
pip3 install objection
La objeción es otra colección de herramientas que se ejecutan en tiempo de ejecución y necesita que frida la use.
también necesitas frida-server
Esto le permitirá conectarse al dispositivo y ejecutar el script, asegúrese de descargar La última versión de frida-server para el dispositivo android, en este caso usaremos la versión de 32 bits (x86) porque los dispositivos gennymotion son de 32 bits
Hágalo ejecutable después de transferirlo al emulador de Android, ejecútelo y luego ejecútelo en su host frida-ps -U
Lista de procesos en ejecución en el emulador de Android
Ahora está configurado, continúe e instale drozer, que es una herramienta de línea de comandos que se conecta al agente drozer en el dispositivo Android, tiene un montón de módulos para obtener información de apk, también para obtener un shell donde podemos ejecutar comandos, para instalar drozer, necesita Python 2 instalado, ejecute el comando pip install drozer
será instalado en C:Python27scripts
Siguiente instalación apk en el dispositivo
Luego inicie la aplicación drozer y ejecute el servidor en el puerto 31415
Este puerto está escuchando localmente, necesitamos reenviarlo para que podamos acceder a este puerto, para esto podemos usar adb para el reenvío de puertos
ejecutar comando py -2 drozer console connect
puedes usar el comando list
Esto le mostrará los módulos que puede utilizar
Podemos enumerar los paquetes o las aplicaciones instaladas en el emulador, y podemos hacer mucho más con él, lo cual cubriré al pasar por alto la detección de raíz, la fijación de ssl y la verificación de la intención.
Por lo tanto, estas son herramientas comunes para las pruebas de penetración de Android, hay algunas otras herramientas para descompilar apk para el análisis estático, trataré de cubrirlas en el próximo artículo, mostrando tanto la detección de raíz como el desvío de fijación de SSL, también tenga en cuenta que los instalé en Windows y usted prácticamente puedo instalarlos en Linux sin ningún problema porque en Windows tengo muchos problemas.