SSL Pinning es la capa adicional de seguridad implementada en el lado del cliente para permitir que la aplicación móvil solo confíe en un certificado SSL particular durante el establecimiento de la conexión HTTP y no en los certificados instalados en el almacén de confianza del dispositivo. Dado que la implementación es la implementación del lado del cliente, se puede omitir fácilmente usando las siguientes técnicas:
Enfoque automatizado
- Módulos Xposed, como SSLUnpinning 2.0 .
- FRIDA (Herramienta de Instrumentación Dinámica) - Bypass de identificación de SSL universal Script .
-
Inspeckage - Inspector de paquetes de Android
Enfoque manual
Creo que esta es la última solución, un poco compleja y la más confiable para eludir SSL Pinning. Los siguientes son los pasos para realizar lo mismo.
- Comprender la implementación de SSL Pinning. Puede consultar este blog de Medium que explica la implementación de la Fijación de SSL utilizando diferentes bibliotecas de red como como OkHttp, Volley, Retrofit, etc.
- Analice el método responsable y mapéelo con el código SMALI.
Una vez que se analiza e identifica el método responsable, podemos utilizar el siguiente enfoque para omitir el PIN Pinning:
Aplicación de manipulación indebida
-
Manipule el código SMALI para omitir la fijación de SSL.
-
Reconstruya la aplicación usando APKTool.
-
Renuncia e instala la aplicación y captura el tráfico.
Referencia: enlace
Conexión en tiempo de ejecución
Una vez que se identifica el método responsable, use hookers de tiempo de ejecución como FRIDA, JDB para conectar el método y cambiar la implementación.