📝Pasos preliminares:
- Contar con un dispositivo con root o emulador con root
- Tener instalado Python y configurado
- Dispositivo en modo desarrollador y usb de depuración (si es físico)
- Burp o otro similar para utilizar de proxy
- Los siguientes comandos son usando la terminal(CMD) tener en cuenta para no tener ningún inconveniente
1️⃣ Paso instalar Frida-tools con PIP (Python) y objection:
pip install frida-tools objection
Si utilizas Python 3 puedes utilizar pip3
2️⃣ Paso identificar que arquitectura es nuestro dispositivo:
Debemos saber que arquitectura si usamos dispositivos fisicos es ARM en caso de emulador es x86 pero para poder asegurarnos podemos hacerlo con adb en la terminal debemos hacerlo desde el adb.exe en caso de que utilices android studio puedes ubicarlo en :
C:\Users\usuario\AppData\Local\Android\Sdk\platform-tools
o buscas en android studio la ubicación de tu SDK en Settings:
Puedes utilizar otro emulador como:
- https://www.genymotion.com que ofrece un plan gratis
Para ubicar el ADB en genymotion usualmente esta en:
archivos de programas -> Genymobile -> Genymotion -> tools
Si esta el adb.exe estamos en la ubicación correcta
Una vez que localizamos nuestro adb.exe debemos abrir la terminal y ir a la ubicación del mismo.
Ejecutamos el siguiente comando para saber que arquitectura corresponde nuestro dispositivo:
adb shell getprop ro.product.cpu.abilist
En mi caso utilizo un dispositivo fisco por lo mismo imprime:
luego de identificar nuestra arquitectura debemos descargar Frida server:
Frida GitHub
en mi caso es el frida-server-16.2.1-android-arm64.xz si utilizas un emulador debes utilizar el frida-server-16.2.1-android-x86.xz
cuando redacto esta documentación la ultima versión es 16.2.1
3️⃣ Paso levantar el Frida server
Posterior a descargar el server debemos llevarlo a la carpeta en la que esta nuestro adb.exe para poder pasarlo al dispositivo/emulador.
luego de ponerlo en la carpeta copiamos el nombre y abrimos en la terminal la ubicación de la carpeta para pasarle el server a nuestro dispositivo/emulador debemos ejecutar:
adb push frida-server-16.2.1-android-arm64 "/data/local/tmp"
Si todo salió bien nos saldrá: 1 file pushed
Debemos darle permisos de ejecución con el siguiente comando:
adb shell "chmod 755 /data/local/tmp/frida-server-16.2.1-android-arm64"
Debemos levantar el server ahora en el dispositivo.
Vamos en donde esta nuestro adb.exe y abrimos una terminal para ejecutarlo:
Primero nos conectamos al dispositivo con:
adb shell
Nos saldrá el nombre del dispositivo en la terminal:
Debemos activar el superUsuario con el comando: su
Se cambia el $ por el # esto quiere decir que estamos como superUsuario
posterior a ello debemos ejecutar el Frida-server debe estar en la misma ubicación donde pusheamos del equipo utilizando el siguiente comando:
/data/local/tmp/frida-server-16.2.1-android-arm64 &
Si al ejecutar no nos notifica nada es que levanto el server bien.
Posterior debemos abrir otra consola y volver a la misma ubicación del adb.exe para identificar los paquetes-aplicaciones o los PIDsque corre en nuestro Frida-server con el siguiente **comando **y buscar el que nos interesa:
frida-ps -U
Debemos tener abierto nuestra app que queremos hacer el bypass
Nos lista todos las apps que están corriendo nuestro dispositivo/emulador debemos identificar el que queremos utilizar.
Tendremos 2 opciones podemos identificarlo con el PID que nos saldra o debemos obtener el identificador de la app.
En el caso de hacer el bypass con el PID **puedes anotarlo y ir al **paso 4
En el caso que solo que quieras hacerlo por su identificador/paquete te muestra el nombre de la app debes utilizar este comando para identificar su paquete:
adb shell pm list packages -3 | findstr "nombreApp"
4️⃣Paso desactivar el SSL Pinning
Ir a nuestra raíz de la pc y envase a la elección que hiciste debes ejecutar uno de los siguientes comandos:
Opciones:
Con el paquete-identificador utilizamos el siguiente comando:
objection --gadget com.ejemplo.paquete explore
Con el PID utilizamos el siguiente Comando:
objection -g numeroPID explore
Nos saldrá el dispositivo y la app con su identificador:
Ahora debemos ejecutar el bypass con el comando:
android sslpinning disable
Una vez que lo ejecutamos estará listo el bypass 🎉
Podremos registrar los endpoints con nuestro proxy que estuviéramos utilizando.
Si te sirvió y interesa otros temas relacionado a Frida y protección del mismo puedes seguir el repo:
https://github.com/LucasGinard/Manual-Pentesting-Android
En caso de inconvenientes puedes abrir un issue en el mismo repo para poder ayudarte.
🎁Extra :
Si necesitas matar Frida-server del dispositivo:
Debemos identificar el PID que utiliza del dispositivo debemos ubicarnos en la raíz de nuestro equipo y ejecutar donde estaba el adb.exe:
adb shell ps | findstr frida-server
Nos saldrá el PID a identificar es el primer conjunto de números en este caso es 361 debemos tener en otra terminal el adb corriendo para eliminarlo:
root **361 **1 2241216 50480 0 0 S
Luego debemos ir a la ubicación del adb.exe y ejecutar nuestro dispositivo como superUsuario **y matar el server con **killer NumeroPID:
kill -9 361
Top comments (0)