dev-resources.site
for different kinds of informations.
Como hacer bypass al SSL Pinning en Android con Frida y Objection en Windows聽10馃敁
馃摑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
Featured ones: