Omitir la fijación de certificados con Frida en un dispositivo Android

February 14, 2022
Pruebas de acceso móviles

Las aplicaciones móviles modernas implementan niveles adicionales de controles de seguridad que impiden que un atacante intercepte el contenido de la conexión HTTPS. Esta implementación no permitirá que las herramientas de proxy comunes intercepten y registren el tráfico de la aplicación.

Esto puede suponer un gran obstáculo para los investigadores de seguridad o los encargados de realizar pruebas de penetración, ya que disuadiría a los intentos de interponer la comunicación entre la aplicación móvil y el punto final del servidor.

En este blog, analizaremos nuestra experiencia reciente al evitar la fijación de un certificado SSL en una aplicación móvil del sector financiero. El blog se centra en la técnica de elusión utilizada en la plataforma Android.

El concepto de fijación de certificados

En la conexión HTTPS, se lleva a cabo un enlace tripartito entre la aplicación móvil y el servidor, donde el certificado del servidor se comprueba sobre la base de una autoridad de certificación confiable.

Con el certificado fijado en la imagen, las aplicaciones utilizan su certificado autofirmado y realizan validaciones en el emisor del certificado mientras la aplicación se ejecuta en el dispositivo Android. La aplicación se codificará de forma que solo confíe en un conjunto conocido de emisores, de forma que no valide ningún otro certificado y evite que el tráfico de la aplicación esté disponible a través de certificados no reconocidos. Este concepto de utilizar un certificado válido autofirmado se conoce como fijación de certificados.

¿Qué es Frida?

Frida es un marco que utilizan varias plataformas para realizar la inyección de código. La inyección se realiza a nivel de proceso, en el que un proceso se engancha para anular el valor de retorno de cualquier función de una aplicación de Android.

En caso de anclaje SSL, la lógica de la comprobación del certificado mostrará un indicador de «verdadero» cuando se encuentre un certificado no válido. Frida puede ayudarnos a anular el resultado de la validación de anclaje cambiando el indicador de respuesta de «verdadero» a «falso».

Configuración de Frida en Windows

En este blog, hemos usado Python 3.7. Puede descargar Python 3.7 para Windows desde aquí.

Tras la instalación, vaya a la carpeta «Python37\ Scripts\» e introduzca los siguientes comandos:

pip install viernes

objeción de instalación de pip

pip instala frida-tools

Configuración de Frida en un dispositivo Android

Antes de empezar, asegúrate de que el dispositivo Android esté rooteado y de que la depuración USB esté habilitada.

Descargar adb y fastboot - herramientas de plataforma para ventanas

Conecta y detecta tu dispositivo con el siguiente comando.

dispositivos adb

Haga clic en permitir la ventana emergente de depuración USB. Identifique la versión de arquitectura del dispositivo Android mediante el siguiente comando:

adb shell getprop es.product.cpu.abi

Descargar el servidor frida para tu arquitectura Android.

Inserte el servidor frida en el dispositivo Android rooteado con el comando ADB:

adb push {{download_folder_name}}\ frida-server /data/local/tmp

Proporcione permisos de lectura, escritura y ejecución al frida-server:

adb shell chmod 777 /data/local/tmp/frida-server

Descarga el certificado de la herramienta de proxy, en este blog utilizamos el certificado de proxy de Burpsuite. En BurpSuite, vaya a Proxy > Opciones y, en la sección de oyentes de proxy, haga clic en «Importar/exportar un certificado de CA»

Envíe el certificado a la misma ubicación en la que se insertó frida-server mediante el siguiente comando. Hemos mencionado la extensión del certificado como «crt» en el comando para cambiar el nombre del archivo del certificado.

adb push cacert.es /data/local/tmp/cert-es.crt

Configura un proxy en el dispositivo Android desde la configuración wifi, consulta aquí como referencia.

Agregue lógica para evitar el anclaje SSL en forma de script 'js'. Esto secuencia de comandos indicará a Frida que realice manipulaciones y anule la respuesta de la aplicación para el anclaje SSL. Esta aplicación utilizó algunas bibliotecas en las que un script básico no ayudaría a Frida a eludir el anclaje SSL. Por lo tanto, utilizamos un script universal para evitar la fijación de SSL. El script es capaz de eludir varios métodos modernos de anclaje de SSL, como:

  • Acelerador de aplicaciones
  • TrustManager Impl
  • kit de confianza
  • ok http3
  • Gestor de confianza de Sensepost

Cambie el nombre del script descargado a 'fridascript.js' y muévalo a la carpeta '\ platform-tools\'. Además, coloca el script de frida en la misma carpeta del dispositivo Android en el que está instalada frida, usando el siguiente comando:

adb push C:\platform -tools\ fridascript.js /data/local/tmp

Evite la fijación de certificados SSL con Frida

Ejecute el servidor frida en el dispositivo Android usando los siguientes comandos:

cáscara ADB

su

cd /data/local/tmp

. /frida-server &

En el dispositivo Windows, navegue hasta la carpeta «Python37\ Scripts\» donde está instalada frida e introduzca el siguiente comando para ver una lista de todos los procesos en ejecución en el dispositivo:

frida-ps -U

El paquete de la aplicación se puede localizar en la lista de procesos y, además, el paquete también se puede detectar en el archivo de manifiesto de la aplicación.

Conecta el script de frida a la aplicación móvil con el siguiente comando:

frida -U -f < <application_name>> -l C:\platform -tools\ fridascript.js --sin pausa

Se omite el anclaje SSL y se intercepta el tráfico de la aplicación.

¡¡¡Feliz hackeo!!!

Share this post
Seguridad de Wordpress
Análisis de malware
Herramientas y técnicas
Pentestes
PTAAS
Suscríbase a nuestro boletín

Suscríbase a nuestro boletín hoy mismo y mejore sus conocimientos con información valiosa. ¡Es rápido, fácil y gratuito!

Be a Team Player
¡Gracias! ¡Su presentación ha sido recibida!
¡Uy! Algo salió mal al enviar el formulario.
Latest blogs

Latest updates in cybersecurity services

View All
Blacklock Blog Image