Volver al blog

Bypass de SSL Pinning a través de proxy: cómo interceptar el tráfico de aplicaciones móviles sin romper la prueba

SSL Pinning impide interceptar el tráfico de aplicaciones móviles: analizamos cómo eludirlo a través de un proxy sin conocimientos técnicos profundos.

📅6 de agosto de 2026
```html

Estás configurando un proxy, conectando el dispositivo, y aún así la aplicación no muestra tráfico o se cierra con un error. Lo más probable es que el problema esté en el SSL Pinning: una protección que los desarrolladores integran intencionalmente en la aplicación para bloquear la interceptación de solicitudes HTTPS. Esto es un dolor de cabeza para todos los que analizan el comportamiento de aplicaciones competidoras, prueban integraciones publicitarias o estudian APIs de marketplaces.

En esta guía, analizaremos qué es el SSL Pinning, por qué interfiere con el trabajo con proxies, y cómo eludirlo, paso a paso, sin teoría innecesaria.

Qué es el SSL Pinning y por qué se integra en las aplicaciones

SSL Pinning (o Certificate Pinning) es un mecanismo de seguridad en el que una aplicación móvil "graba" un certificado SSL específico o una clave pública del servidor. En cada conexión, la aplicación verifica: ¿coincide el certificado del servidor con el que está grabado internamente? Si no, la conexión se interrumpe.

En un esquema HTTPS normal, el navegador o la aplicación confían en cualquier certificado firmado por una autoridad de certificación (CA) confiable. Esto es lo que utilizan herramientas proxy como Charles Proxy o mitmproxy: insertan su propio certificado, desencriptan el tráfico y lo envían. El usuario ve todo el intercambio de datos en texto claro.

El SSL Pinning rompe este esquema. La aplicación ve el certificado de la herramienta proxy, entiende que no coincide con el "certificado nativo" del servidor y se niega a funcionar. Por eso ves errores como SSL handshake failed, Certificate verification failed o simplemente una pantalla en blanco en la aplicación.

Los desarrolladores implementan SSL Pinning por varias razones:

  • Protección contra ataques de tipo Man-in-the-Middle (MITM)
  • Prevención de ingeniería inversa de APIs
  • Protección contra bots y solicitudes automatizadas
  • Ocultación de la lógica interna de monetización e integraciones publicitarias

Entre las aplicaciones que utilizan activamente el SSL Pinning se encuentran: aplicaciones bancarias, marketplaces (Wildberries, Ozon), SDK publicitarios (Facebook, TikTok), sistemas de pago y grandes plataformas de e-commerce. Por eso, eludir el SSL Pinning es tan importante para marketers, arbitrajistas y especialistas en análisis de competidores.

Por qué el proxy no funciona si la aplicación tiene SSL Pinning

Cuando configuras un proxy en el teléfono (por ejemplo, a través de la configuración de Wi-Fi), todo el tráfico HTTP y HTTPS pasa a través del servidor proxy. Para HTTP, esto funciona sin problemas, ya que el tráfico es abierto. Pero para HTTPS, la herramienta proxy debe "hacerse pasar" por el servidor, insertando su propio certificado.

Aquí es donde surge el conflicto. Las aplicaciones normales aceptan este certificado si has instalado el certificado raíz de la herramienta proxy en el almacén de certificados del sistema del dispositivo. Pero las aplicaciones con SSL Pinning ignoran el almacén del sistema: solo verifican su certificado "grabado".

Cómo se ve en la práctica:

Conectas Charles Proxy, instalas su certificado raíz en el iPhone, inicias la aplicación del marketplace y ves un error o una pantalla en blanco. En los registros de Charles, hay vacío o registros con errores de SSL. Esta es la imagen clásica del SSL Pinning en acción.

Es importante entender: el problema no está en el servidor proxy (residencial, móvil o de centro de datos). El proxy aquí actúa como un nodo intermedio para enrutar el tráfico. El problema está en la propia aplicación, que se niega a aceptar el certificado sustituido. Por lo tanto, la solución debe buscarse a nivel de la aplicación o del dispositivo, no a nivel del servidor proxy.

Existen varios tipos de SSL Pinning, y difieren en la complejidad de eludir:

Tipo de Pinning Qué se verifica Dificultad para eludir
Certificate Pinning Certificado completo del servidor Media
Public Key Pinning Clave pública del certificado Alta
Hash Pinning Hash del certificado o clave Alta
Network Security Config Archivo de configuración de Android (XML) Baja-media

Herramientas para interceptar tráfico: Charles, mitmproxy, Burp Suite

Antes de pasar a eludir el SSL Pinning, necesitas elegir una herramienta para interceptar el tráfico. Todas funcionan bajo el mismo principio: levantan un servidor proxy local, a través del cual pasa el tráfico del dispositivo. La diferencia está en la comodidad, funciones y precio.

Charles Proxy

La herramienta más popular entre marketers y testers sin un profundo bagaje técnico. Tiene una interfaz gráfica, funciona en Windows y macOS. Permite ver todas las solicitudes y respuestas en un árbol conveniente, filtrar por dominio, editar solicitudes sobre la marcha. Es de pago, pero tiene un período de prueba. Ideal para analizar APIs de marketplaces y SDK publicitarios.

mitmproxy

Herramienta gratuita de código abierto. Funciona a través de la línea de comandos, pero tiene una interfaz web (mitmweb). Muy flexible: soporta scripts para modificar automáticamente el tráfico. Es adecuada para quienes desean automatizar el análisis o integrar la interceptación en el pipeline de pruebas. Un poco más complicada de configurar que Charles.

Burp Suite

Herramienta profesional para pruebas de seguridad. Tiene una versión Community gratuita con funcionalidad básica. Especialmente conveniente para un análisis detallado de solicitudes, trabajo con cookies y sesiones. Se utiliza activamente en el análisis de APIs de competidores e investigación de integraciones publicitarias. La interfaz es más complicada que la de Charles, pero las capacidades son más amplias.

Herramienta Interfaz Precio Para quién
Charles Proxy GUI (conveniente) De pago (~$50) Marketers, analistas
mitmproxy CLI + Web UI Gratis Técnicos
Burp Suite GUI (compleja) Gratis / Pro Testers de seguridad

Para la mayoría de las tareas de un marketer o arbitrajista — análisis de solicitudes publicitarias, estudio de la API de un marketplace, monitoreo del tráfico de la aplicación — Charles Proxy será la opción óptima. Si necesitas automatización o trabajar sin GUI — mitmproxy.

Métodos para eludir el SSL Pinning: desde simples hasta avanzados

Existen varios enfoques para eludir el SSL Pinning. Varían en complejidad, requisitos del dispositivo y confiabilidad. Analicemos cada uno, desde el más simple hasta el más poderoso.

Método 1: Instalación del certificado en el almacén del sistema (solo Android)

La forma más simple, pero solo funciona para aplicaciones que utilizan el almacén de certificados del sistema. En Android, hasta la versión 7.0, los certificados personalizados se aceptaban al mismo nivel que los del sistema. A partir de Android 7.0, las aplicaciones ignoran por defecto los CA personalizados. Si la aplicación permite explícitamente los certificados personalizados en network_security_config.xml, este método funcionará. Para la mayoría de las aplicaciones modernas con SSL Pinning, no será útil.

Método 2: Frida — parcheo dinámico de la aplicación

Frida es una herramienta para la instrumentación dinámica de aplicaciones. Permite interceptar "en tiempo real" las llamadas a funciones dentro de la aplicación y modificar su comportamiento. Para eludir el SSL Pinning existen scripts listos que desactivan la verificación del certificado sin modificar el APK. Requiere root en Android o jailbreak en iOS. Este es el método más confiable y versátil.

Método 3: Parcheo del APK (Android)

Descompilación del archivo APK usando apktool, eliminación o modificación del código de SSL Pinning, recompilación y firma de la aplicación. No requiere root, pero sí habilidades técnicas para trabajar con código smali. Funciona bien para aplicaciones con una implementación simple de Pinning a través de Network Security Config. Para aplicaciones con código nativo (C/C++) es significativamente más complicado.

Método 4: Objection — envoltura sobre Frida para principiantes

Objection es una herramienta basada en Frida con una interfaz de línea de comandos más simple. Contiene comandos integrados para eludir el SSL Pinning con un solo comando: android sslpinning disable. Es adecuada para quienes no quieren lidiar con la escritura de scripts de Frida manualmente. Requiere root o jailbreak.

Método 5: Uso de un emulador con root

En lugar de un dispositivo físico, se puede utilizar un emulador de Android (por ejemplo, Genymotion o el AVD estándar de Android Studio) con acceso root habilitado. Esto permite instalar certificados del sistema y ejecutar Frida sin el riesgo de "bloquear" un teléfono real. Es una opción conveniente para pruebas regulares en un entorno de trabajo.

Elusión paso a paso del SSL Pinning en Android

Analizaremos el escenario más práctico: un dispositivo Android o emulador con root, herramienta Objection + Frida, herramienta proxy Charles Proxy o mitmproxy.

Qué necesitarás:

  • Dispositivo Android con root o emulador Genymotion
  • Computadora con Python 3 instalado
  • Frida-server para Android (descargar desde GitHub)
  • Objection (instalado a través de pip)
  • Charles Proxy o mitmproxy en la computadora
  • ADB (Android Debug Bridge)

Paso 1: Configura la herramienta proxy en la computadora

Inicia Charles Proxy o mitmproxy. Por defecto, escuchan en el puerto 8888 (Charles) o 8080 (mitmproxy). Recuerda la dirección IP de tu computadora en la red local; la necesitarás para configurar el proxy en el dispositivo.

Paso 2: Configura el proxy en el dispositivo Android

Ve a la configuración de Wi-Fi → selecciona tu red → haz clic en "Modificar" → "Opciones avanzadas" → Proxy: Manual. Indica la IP de la computadora y el puerto de la herramienta. Ahora todo el tráfico del dispositivo pasa a través de tu proxy.

Paso 3: Instala el certificado de la herramienta proxy

Abre el navegador en el dispositivo y ve a la dirección chls.pro/ssl (para Charles) o mitm.it (para mitmproxy). Descarga e instala el certificado. En Android con root, además, mueve el certificado al almacén del sistema; esto es necesario para algunas aplicaciones.

Paso 4: Inicia el Frida-server en el dispositivo

Descarga el frida-server de la versión adecuada desde GitHub (la versión debe coincidir con la versión de Frida en la computadora). Sube el archivo al dispositivo a través de ADB:

adb push frida-server /data/local/tmp/
adb shell "chmod 755 /data/local/tmp/frida-server"
adb shell "su -c /data/local/tmp/frida-server &"

Paso 5: Conéctate a través de Objection y desactiva el SSL Pinning

En la computadora, instala Objection a través de pip y ejecútalo, indicando el nombre del paquete de la aplicación:

pip install objection
objection -g com.example.app explore

Después de conectarte, en la consola de Objection ejecuta el comando para desactivar el SSL Pinning:

android sslpinning disable

Después de esto, abre la aplicación y comienza a interactuar con ella. El tráfico aparecerá en Charles o mitmproxy en texto claro.

Paso 6: Para aplicaciones con Network Security Config

Si la aplicación utiliza network_security_config.xml, puedes descompilar el APK a través de apktool, encontrar este archivo y agregar permiso para certificados personalizados, luego recompilar y volver a firmar el APK. Esto funciona sin root, pero requiere desactivar la verificación de la firma de la aplicación.

Elusión paso a paso del SSL Pinning en iOS

En iOS, la situación es más complicada: la mayoría de los métodos requieren jailbreak. Sin él, las posibilidades son limitadas. Analicemos ambas opciones.

Opción A: Con jailbreak (iOS 14-16, checkra1n / palera1n)

Paso 1: Configura el proxy

En el iPhone, ve a Configuración → Wi-Fi → tu red → Configurar proxy → Manual. Indica la IP de la computadora y el puerto de Charles/mitmproxy.

Paso 2: Instala el certificado

Abre Safari y ve a chls.pro/ssl. Instala el perfil a través de Configuración → General → VPN y gestión de dispositivos. Luego actívalo en Configuración → General → Confianza en certificados.

Paso 3: Instala SSL Kill Switch 2 a través de Cydia/Sileo

SSL Kill Switch 2 es un tweak para iOS con jailbreak que desactiva el SSL Pinning globalmente para todas las aplicaciones. Encuéntralo en Cydia o Sileo, instálalo, reinicia el dispositivo. Después de esto, la mayoría de las aplicaciones dejarán de verificar certificados, y el tráfico será visible en Charles.

Paso 4: Alternativa — Frida + Objection en iOS

Similar a Android: instala frida-server a través de Cydia, conéctate a través de Objection en la computadora y ejecuta ios sslpinning disable. Este método es más flexible y funciona para aplicaciones que SSL Kill Switch 2 no cubre.

Opción B: Sin jailbreak (posibilidades limitadas)

Sin jailbreak, eludir el SSL Pinning en iOS es significativamente más complicado. Una de las opciones es usar la herramienta Proxyman con su función de SSL Proxying para iOS sin jailbreak. Proxyman instala un perfil especial en el dispositivo y utiliza una interfaz VPN para interceptar el tráfico. Funciona para muchas aplicaciones, pero no para todas con un Pinning estricto.

Otra opción es usar el simulador de iOS en Xcode. El simulador no tiene SSL Pinning a nivel de sistema operativo, y muchas aplicaciones se pueden ejecutar en él (si son compatibles con el simulador). Pero esto solo es adecuado para pruebas, no para análisis de aplicaciones en producción.

Qué tipo de proxy elegir para probar aplicaciones móviles

Una vez que se ha eludido el SSL Pinning, el tráfico de la aplicación pasa a través de tu herramienta proxy (Charles, mitmproxy). Pero para algunas tareas, también necesitas dirigir el tráfico a través de un servidor proxy externo, por ejemplo, para que la aplicación "vea" otra región o otra dirección IP. Aquí es importante elegir correctamente el tipo de proxy.

Proxies residenciales

Los proxies residenciales utilizan direcciones IP de usuarios domésticos reales. Las aplicaciones móviles, especialmente los SDK publicitarios y los marketplaces, confían mucho más en estas IP que en las de centros de datos. Si estás analizando el comportamiento de la aplicación según la región, los proxies residenciales ofrecerán la imagen más "limpia", cercana a la de un usuario real.

Proxies móviles

Los proxies móviles funcionan a través de redes móviles reales (3G/4G/5G). Esto es especialmente relevante al probar aplicaciones móviles: las IP de la red móvil tienen el nivel más alto de confianza en Facebook Ads SDK, TikTok y otras plataformas publicitarias. Si tu objetivo es analizar solicitudes publicitarias de la aplicación o probar el comportamiento de SDK en un entorno móvil, los proxies móviles son la opción óptima.

Proxies de centros de datos

Los proxies de centros de datos son adecuados para tareas donde la velocidad es más importante que la "naturalidad" de la IP: por ejemplo, para el scraping masivo de APIs abiertas o pruebas de rendimiento. Para el análisis de SDK publicitarios y aplicaciones protegidas, son menos preferibles, ya que son fácilmente reconocidos por los sistemas antifraude.

Tipo de proxy Confianza de las aplicaciones Velocidad Mejor escenario
Residenciales Alta Media Análisis por regiones, marketplaces
Móviles Máxima Media SDK publicitarios, Facebook, TikTok
Centros de datos Baja Alta Scraping de APIs abiertas, pruebas de carga

Escenarios prácticos: arbitraje, e-commerce, marketing

Analizaremos tareas específicas por las cuales los marketers y arbitrajistas eluden el SSL Pinning.

Escenario 1: Análisis del SDK publicitario de Facebook y TikTok

Los arbitrajistas que trabajan con Facebook Ads y TikTok Ads a menudo quieren entender qué datos envía el SDK al servidor: qué eventos se registran, cómo se forman las solicitudes de atribución, qué parámetros influyen en la optimización de campañas. Sin eludir el SSL Pinning, esto es imposible, ya que ambos SDK utilizan Certificate Pinning.

Después de eludirlo a través de Frida/Objection, se pueden ver en Charles todos los eventos del SDK: instalaciones, compras, registros, y asegurarse de que el seguimiento esté configurado correctamente. Esto es especialmente importante al configurar CAPI (Conversions API) y verificar la deduplicación de eventos.

Escenario 2: Monitoreo de precios en Wildberries y Ozon a través de la aplicación

Las aplicaciones Wildberries y Ozon utilizan SSL Pinning para proteger sus APIs. Los vendedores que desean monitorear los precios de los competidores a través de una aplicación móvil (y no de la versión web) se enfrentan a esta protección. Después de eludir el SSL Pinning, se puede estudiar la estructura de las solicitudes API y entender qué endpoints se utilizan para obtener datos sobre precios, disponibilidad y calificaciones de productos.

Importante: los datos obtenidos solo se pueden utilizar para análisis personal. El scraping automatizado a través de la reproducción de solicitudes API infringe los términos de uso de la mayoría de las plataformas.

Escenario 3: Pruebas de creatividades publicitarias de diferentes regiones

Los marketers que prueban publicidad en Facebook Ads y TikTok Ads desde diferentes regiones quieren ver cómo se comporta la aplicación al conectarse a través de una IP de un país específico. La combinación de eludir el SSL Pinning + proxy residencial de la región deseada permite ver qué contenido y qué precios se muestran a los usuarios de esa región.

Escenario 4: Pruebas de QA de su propia aplicación

Si estás desarrollando tu propia aplicación móvil o trabajando con un equipo de desarrollo, interceptar tráfico eludiendo el SSL Pinning es una práctica estándar de QA. Esto permite verificar la corrección de las solicitudes, encontrar filtraciones de datos, y comprobar el funcionamiento de la analítica y de los SDK publicitarios en condiciones reales antes del lanzamiento.

Escenario 5: Análisis de competidores en el nicho de juegos móviles y aplicaciones

Los marketers de juegos móviles utilizan la interceptación de tráfico para analizar la monetización de los competidores: qué ofertas se muestran, cómo funciona el sistema de compras dentro de la aplicación, qué redes publicitarias se utilizan. Esto ayuda a construir estrategias más efectivas de UA (User Acquisition) y monetización.

Lista de verificación: verifica la configuración antes de la prueba

Antes de comenzar a interceptar tráfico, asegúrate de que todo esté configurado correctamente. Aquí tienes la lista de verificación completa:

✅ Lista de verificación de configuración

  • La herramienta proxy (Charles/mitmproxy) está ejecutándose en la computadora y escuchando el puerto correcto
  • La computadora y el dispositivo están en la misma red Wi-Fi
  • En el dispositivo, en la configuración de Wi-Fi, se indica la IP correcta de la computadora y el puerto del proxy
  • El certificado raíz de la herramienta proxy está instalado en el dispositivo
  • En Android: el certificado se ha movido al almacén del sistema (si hay root)
  • En iOS: el certificado está activado en la sección "Confianza en certificados"
  • Frida-server está ejecutándose en el dispositivo (si usas Frida/Objection)
  • La versión de Frida en la computadora coincide con la versión de frida-server en el dispositivo
  • Objection se ha conectado exitosamente al proceso de la aplicación
  • El comando android sslpinning disable se ejecutó sin errores
  • En Charles/mitmproxy aparecen registros al trabajar con la aplicación
  • Las solicitudes HTTPS se desencriptan (no muestran error de SSL)

Problemas comunes y sus soluciones

Problema Causa Solución
El tráfico no aparece en Charles IP/puerto del proxy incorrectos Verifica la IP de la computadora y el puerto
Error de SSL en Charles Certificado no instalado o no activado Reinstala y activa el certificado
Frida no se conecta Desajuste de versiones de frida/frida-server Sincroniza las versiones
Objection no desactiva el Pinning Código nativo (C/C++) con Pinning Usa un script de Frida personalizado
La aplicación se bloquea después del bypass La aplicación verifica la integridad Desactiva también la detección de root a través de Objection

Conclusión

El SSL Pinning es una protección seria, pero no insuperable. Para la mayoría de las tareas prácticas de un marketer o arbitrajista, es suficiente con la combinación: emulador de Android con root + Frida/Objection + Charles Proxy. En iOS, SSL Kill Switch 2 con jailbreak o Proxyman sin él. Lo principal es configurar correctamente la cadena: herramienta proxy en la computadora → tráfico a través de ella → eludir el Pinning en el dispositivo.

Recuerda que eludir el SSL Pinning en aplicaciones de terceros es aceptable solo para análisis personal e investigación. El scraping automatizado y la reproducción de solicitudes API infringen los términos de uso de la mayoría de las plataformas.

Si tu tarea es analizar el tráfico de aplicaciones móviles en diferentes regiones o probar el comportamiento de SDK publicitarios de países específicos, necesitarás no solo eludir el SSL Pinning, sino también un servidor proxy de calidad. Para trabajar con plataformas publicitarias (Facebook Ads, TikTok Ads) y marketplaces, recomendamos usar proxies móviles, ya que tienen el nivel más alto de confianza en los sistemas antifraude y permiten emular correctamente un entorno móvil real.

```