Contenido del artículo
Bypass SSL Pinning sin root con Objection + Frida Mobile Security · Pentesting — El flujo completo: parchear el APK con Objection, instalarlo, localizar el proceso con frida-ps e inyectar el script universal de bypass. ¿Qué es SSL Pinning? SSL Pinning es una técnica que usan las apps móviles para validar que el certificado del servidor coincide con uno hardcodeado internamente. Esto evita ataques de Man-in-the-Middle (MitM) incluso si el atacante instala su propio certificado de CA en el dispositivo. En un pentest o bug bounty, bypassear SSL pinning nos permite interceptar y analizar el tráfico con herramientas como Burp Suite o mitmproxy. ¿Por qué este enfoque? En lugar de rootear el dispositivo, Objection usa objection patchapk para reempaquetar el APK con el gadget de Frida embebido. Al abrir la app, el gadget arranca automáticamente y expone un socket al que Frida puede conectarse, sin necesitar privilegios de root. Requisitos Python 3.8+ con pip install frida-tools objection ADB instalado y el dispositivo reconocido (adb devices) apktool y uber-apk-signer (Objection los usa internamente, pero necesita Java en el PATH) El APK objetivo descargado localmente (por ejemplo, extraído del dispositivo con adb pull) Paso 1 — Parchear el APK con Objection Objection reempaqueta el APK inyectando el Frida Gadget como librería nativa. El APK resultante se firma automáticamente con un keystore de debug. # Parchear el APK objection patchapk --source app-release.apk Paso 2 — Instalar el APK parcheado # Desinstalar versión original si ya existe adb uninstall com.target.app Paso 3 — Abrir la app y localizar el proceso Abre la app en el dispositivo. Al arrancar, el Frida Gadget embebido pausa la ejecución y espera una conexión. En el host, lista los procesos disponibles: # Listar procesos en el dispositivo conectado por USB frida-ps -Ua Paso 4 — Descargar el script universal de bypass https://codeshare.frida.re/@avltree9798/universal-android-ssl-pinning-bypass/?utm_source=chatgpt.com descargar y guardar con extension .js Paso 5 — Inyectar el script con Frida Con la app ya corriendo y el proceso identificado, inyecta el script de bypass apuntando al nombre del proceso: frida -U \ -n com.target.app \ -l universal-android-ssl-pinning-bypass.js \ --no-pause Flujo completo resumido Paso Comando 1. Parchear APK objection patchapk --source app.apk 2. Instalar adb install app.objection.apk 3. Abrir la app El gadget pausa y espera conexión 4. Buscar proceso frida-ps -Ua 5. Inyectar bypass frida -U -n com.target.app -l universal-android-ssl-pinning-bypass.js ⚠️ Usar estas técnicas únicamente en aplicaciones propias o en entornos de pentesting con autorización explícita del propietario. Hasta este momento la app ya tiene desactivado el SSL Pinning sin necesidad de root, aca se inyecta directamente frida en la apk, aca podemos hacer uso de cualquier proxy en este caso usamos burp suite, activando la interface por 0.0.0.0 en el puerto 8081 En nuestro caso en el celular conectado a la misma red local wifi primero activamos el burp suite verificamos la ip donde esta funcionando burp suite y luego en nuestro celular editamos el proxy en nuestra red, estto ara que todas las peticiones pasen por burp suite y hay si poder analizar mejor la informacion o auditar los endpoint, ya solo queda navegar por la aplicacion para recolectar el mayor numero de peticiones para luego proceder a analizar https://frida.re/docs/installation/ https://github.com/sensepost/objection #Frida #Objection #Android #SSLPinning #Pentesting #BugBounty #NoRoot