Hoy lanzamos iHide, una nueva aparejo para eludir la detección de jailbreak en las aplicaciones de iOS. Puede instalar iHide agregando el repositorio https://repo.kc57.com en Cydia o haciendo clic aquí en un dispositivo iOS con Cydia instalado. Adicionalmente, puede consultar el código y compilarlo/instalarlo usted mismo si lo prefiere.
Una vez instalado, iHide agregará una nueva entrada en el panel de configuración de iOS que se puede usar para habilitar/deshabilitar eludir los métodos comunes de detección de jailbreak. Simplemente habilite iHide, seleccione cualquier aplicación para habilitarla e iHide intentará eludir las técnicas comunes de detección de jailbreak. Esto debería ser todo lo que necesita para ponerse en marcha.

Para obtener detalles sobre la creación de iHide, ¡sigue leyendo!
Fondo
Durante las interacciones móviles, a menudo probamos en dispositivos rooteados o con jailbreak porque esto nos da la capacidad de hacer cosas como inspeccionar el argolla, conectar código interesante con Frida o evitar la fijación de certificados con herramientas como SSL Kill Switch 2. En su veterano parte, esto funciona ¡excelente! Sin bloqueo, de vez en cuando nos encontramos con aplicaciones que implementan alguna forma de detección de jailbreak.
¿Qué es la detección de Jailbreak?
La detección de jailbreak es cualquier mecanismo que implementa un desarrollador para identificar si la aplicación se está ejecutando en un dispositivo con jailbreak. Los desarrolladores de aplicaciones pueden implementar la detección de jailbreak por una variedad de razones, como:
- Protección de la información de la cuenta en las aplicaciones bancarias
- Protección de datos confidenciales en soluciones de encargo de dispositivos móviles (MDM)
- Alertar las trampas en los juegos, especialmente en los que son multijugador o tienen compras en el interior del muestrario
Una vez que una aplicación con detección de jailbreak determina que se está ejecutando en un dispositivo con jailbreak, generalmente realiza una de las siguientes acciones:
- Alerta al agraciado pero aún funciona normalmente
- Alerta al agraciado y limita el golpe a las funciones o se niega a ejecutarse por completo
- Sale silenciosamente sin previo aviso

Cómo funciona la detección de Jailbreak
La detección de jailbreak funciona buscando diferencias entre un stock y un sistema con jailbreak. Algunas cosas comunes que buscan las aplicaciones para determinar dónde se le ha hecho jailbreak a un dispositivo incluyen:
- Aplicaciones relacionadas con Jailbreak como Cydia
- Archivos Dylib relacionados con herramientas y ajustes populares de jailbreak
- Archivos de registro/archivos plist relacionados con herramientas y ajustes populares de jailbreak
- Comunicación de ojeada/escritura a directorios normalmente no accesibles
- Llamadas a funciones del sistema como fork () para confirmar un comportamiento inesperado
- Un servicio SSH de audición en el dispositivo

Cómo combatir la detección de jailbreak
Hay varias herramientas disponibles para evitar la detección de jailbreak. La mayoría de ellos funcionan enganchando o ‘método swizzling’ para alterar la razonamiento o los resultados de las detecciones comunes de jailbreak. Liberty Lite es una opción popular y que usamos con frecuencia. Ocasionalmente, nos encontramos con una aplicación que utiliza una técnica de detección de jailbreak que las herramientas existentes no eluden con éxito.
En esta situación, normalmente usaríamos alguna combinación de seguimiento de llamadas a través de Frida, depuración en vivo y observación arrobado para determinar la técnica de detección. A veces puede ser una técnica que no está cubierta por las herramientas existentes. A menudo, puede ser una técnica conocida como apañarse archivos relacionados con jailbreak, pero el archivo específico identificado por la razonamiento de detección de jailbreak no está oculto por las herramientas existentes.
Una vez que identifiquemos la técnica, crearíamos un script Frida personalizado o usaríamos un depurador para ocultar un archivo específico o modificaríamos la razonamiento de detección de jailbreak para que siempre regrese con éxito. Si admisiblemente esto funciona, no es tan conveniente ni tan portátil como usar un ajuste de iOS.
Creando iHide
Con una técnica de detección de jailbreak identificada, el objetivo era implementar el bypass en una aparejo que pudiera instalarse/actualizarse fácilmente en un dispositivo y habilitarse/deshabilitarse fácilmente cuando fuera necesario por aplicación. Además quería que la aparejo se pudiera usar sin estar conectada a una MacBook que ejecutara un script o un depurador de Frida. Finalmente, el objetivo era tener poco de código campechano donde se pudieran pegar nuevos desvíos según fuera necesario.
Supuse que esta sería la oportunidad perfecta para instruirse algunos ajustes de crecimiento con Theos. Si aún no ha pabellón platicar de Theos, es un entorno de compilación multiplataforma que incluye varias plantillas que se pueden usar para el crecimiento de ajustes de iOS. Empecé a trabajar en la creación de un ajuste e integrando algunos de los bypass de mis scripts de Frida… ¡y así es como nació iHide!
Para el extensión auténtico, es probable que iHide no funcione en todo. Omite varias técnicas de detección comunes en las aplicaciones para las que lo necesitábamos, como Microsoft Intune y algunas otras, donde las herramientas disponibles que probamos no funcionaron en ese momento. Se puede instalar pegado con otras herramientas para ocultar jailbreak (aunque recomendaría habilitar solo una a la vez). Si la aparejo de su selección no funciona actualmente para poco, puede intentar usar iHide.
Si se encuentra con aplicaciones que no son compatibles, siéntase disponible de desplegar una solicitud en el plan de GitHub; puedo considerar pegar soporte cuando tenga tiempo. Si desea actualizaciones o tiene alguna pregunta, no dude en comunicarse en Twitter @_Kc57 o el Discord de TrustedSec.