Laboratorio para Análisis de aplicaciones iOS

Contenido:

1Laboratorio iOS:

  • Jailbreak.
  • Cydia
  • Instalación de Herramientas:
    • OpenSSH
    • SSLKillSitchv2
    • NewTerm y herramientas de terminal
    • Frida & Objection
  • Burpsuite
    • Configuración del proxy
    • Burpsuite Mobile Assistant

2Frida & Objection

  • Evaluación
  • Arsenal
  • Scripts

1: Laboratorio iOS:

Dispositivo físico: Iphone 6S (en este ejemplo).

Se denomina jailbreak al proceso de suprimir algunas limitaciones en el sistema operativo iOS mediante el uso de núcleos modificados. El equivalente en Android es permisos de root, a diferencia con Android el jailbreak es imprescindible si se quiere ejecutar software no autorizado por Apple.

Un jailbreak tethered requiere que el dispositivo esté conectado a un ordenador cada vez que se inicie y un jailbreak untethered no.

La mayoría de las herramientas instalan automáticamente Cydia, un cliente nativo de APT para iOS usado para instalar aplicaciones y software, algunas no son aplicaciones en sí, sino extensiones y modificaciones para el sistema y otras aplicaciones las cuales son llamadas tweaks.

Lo que se consigue con el jailbreak es quitar limitaciones, cabe destacar que si bien este proceso aporta mejoras también será perjudicial en algunas áreas, como son rendimiento y seguridad, además en el proceso de desbloquear el dispositivo se corre el riesgo de pérdida total del equipo (brick) o en una actualización de sistema operativo.

Las aplicaciones de iOS almacenan datos en el entorno limitado de la aplicación que no es accesible al público (pero está disponible para root y la aplicación en sí). Sin acceso de root, no es posible acceder al sandbox de la aplicación, ver qué datos se almacenan y cómo se almacenan. Además, la mayoría de los archivos de nivel de sistema son propiedad de root. El proceso para hacer jailbreak a las diferentes versiones de iOS puede variar dependiendo del dispositivo y versión de software, bastara con buscar en Google.

(Por motivos legales no se facilitaran detalles relacionados con la manipulación del dispositivo)

El resultado final será tener instalada la aplicación Cydia.

Repositorios de interes.

Instalación de herramientas:

Después de liberar un dispositivo iOS, es recomendable instalar algunas utilidades, la mayoría se pueden instalar desde Cydia. Cydia es un contenedor GUI para apt y, una vez que apt está instalado, el resto se puede instalar a través de la línea de comandos. Se prefiere Cydia debido a la facilidad de uso.

  • OpenSSH: Una utilidad para conectarse de forma remota al Sistema de archivos iOS. OpenSSHutility o SSDropBear
  • Frida: Kit de herramientas de instrumentación dinámica para desarrolladores, ingenieros inversos e investigadores de seguridad.
  • Herramientas recomendadas de BigBoss: Herramientas de CLI como wget, tar, vim, etc., que no vienen preinstaladas con el Repositorio de Cydia.
  • Cydia substrate: Un requisito importante para muchos de los ajustes y herramientas. Se requiere para modificar el software durante el tiempo de ejecución en el dispositivo sin acceso al código fuente.
  • Class-dump-z, class-dump, classdump-dyld: Herramienta para ingeniería inversa de iOS que ayuda a volcar las declaraciones para las clases, categorías y protocolos.
  • Cycript: Proporciona un mecanismo para modificar aplicaciones en tiempo de ejecución mediante la combinación de Objective-C ++ y la sintaxis de JavaScript.
  • Consola de instalación de IPA: Utilidad de línea de comandos para instalar aplicaciones de terceros en un dispositivo iOS con jailbreak.
  • AppSync: Ajuste de iOS que permite la instalación de un paquete IPA firmado, modificado y falso en el dispositivo iOS.
  • GDB del repositorio cydia.radare.org: Depurador GNU para IOS con jailbreak en arm64.
  • MTerminal: Terminal en el dispositivo para ejecutar comandos sin la necesidad de un equipo de escritorio.
  • Filemon: Software de monitoreo del sistema de archivos iOS en tiempo real.
  • Introspy-iOS: Herramienta que ayuda a analizar aplicaciones iOS utilizando un enfoque de blackbox.
  • SSL Kill Switch 2: Herramienta que evita la validación SSL y la fijación de SSL en aplicaciones iOS.
  • Hopper: Herramienta de ingeniería inversa que ayuda a descomprimir, descompilar y depurar aplicaciones.
  • IDA Pro: Herramienta avanzada de ingeniería inversa de aplicaciones.
  • BurpSuite: Proxy de intercepcion para realizar MITM en aplicaciones iOS.
  • FileDP: Herramienta para extraer la clase de protección de datos de los archivos en el dispositivo iOS.
  • Libimobile: Biblioteca de protocolos multiplataforma para instrumentación de dispositivos iOS.

OpenSSH:

El proceso para instalar OpenSSH a través del Cydia es el siguiente:

Ya sera posible la conexión al dispositivo:

SSLKillSwitchv2

Herramienta para deshabilitar la validación e incluso la fijación de certificados SSL.

Subida del fichero al dispositivo mediante scp:

Instalación mediante el gestor de paquetes dpkg:

NewTerm

Repositorio de Chariz > NewTerm > instalar…

Actualizar APT e instalar aplicaciones como de costumbre…

Herramientas – Frida

frida-ls-devices

frida –U iOSapp

Herramientas – Objection

Instalación de Objection mediante pip3

Burpsuite – Configuración del proxy

Para interceptar las comunicaciones cifradas (HTTPS) se precisa la instalación del certificado de Burpsuite, para ello es necesario navegar a http://ip:puerto, descargar e instalar el certificado.

Confianza en el certificado:

Así ya es posible la intercepción de las comunicaciones cifradas por protocolo seguro (HTTPS):

BurpsuiteBurpsuite Mobile Assistant

CONFIGURACION DE Burpsuite MA

3: Frida & Objection

FRIDA: Es necesario la instalación del paquete Frida-preA12-devices desde el repositorio de Frida (https://build.frida.re/).

Y ya es posible la instrumentación de aplicaciones:

Laboratorio terminado:

Hasta este punto, es posible la obtención de una aplicación para iOS, la instalación de ésta en un dispositivo con permisos de administración (jailbreak) y la capacidad de interceptar las comunicaciones cifradas ademas de instrumentar con las funciones y clases de dicha aplicación.

EXTRA: Adquisición del binario iOS:

Varias formas de adquirir binarios de iOS:

  • Mediante iTunes (App Store en Mac), «Aplicaciones», nombre de la aplicación en la «Biblioteca», «Mostrar en Finder» para obtener la ruta iPA. Ademas, al sincronizar con iTunes, el archivo .IPA se envía a la carpeta iTunes. Extraiga el archivo .IPA de la carpeta iTunes.
  • Con acceso al código fuente, es posible compilar la aplicación binaria directamente. Esto es útil cuando se trabaja con dispositivos con jailbreak antiguos, ya que permite compilar la aplicación para que se ejecute en el dispositivo más antiguo y realizar las pruebas.

El análisis de una aplicación móvil se compone de un análisis estático y ademas un análisis dinámico, esta entrada solo habla muy brevemente de como montar el laboratorio, para mas información sobre este tipo de análisis pueden visitar otras entradas del mismo blog.

Aplicaciones para pruebas:

Myriam (GeoSn0w )

Algunas herramientas más:

Juan Espin Escrito por:

Sé el primero en comentar

Deja una respuesta