Blog

Análisis forense iPhone – Parte I – Análisis del Backup (1ª parte)

Serie Análisis Forense iPhone

Esta serie está dedicada a conocer aspectos internos del funcionamiento del iPhone. Para ello se explicarán técnicas forenses de extracción y análisis de datos del teléfono así como aprender a aprovecharse de bugs para ganar acceso a elementos del sistema en principio prohibidos.

0 Como enfrentar un Iphone con passcode: Recopilación de bypasses [Todos, No Jailbreak]

1 Análisis forense iPhone – Parte I    – Análisis del Backup (1ª Parte) [Todos, No Jailbreak]

2 Análisis forense iPhone – Parte II   – Análisis del Backup (2ª Parte) [Todos, No Jailbreak]

3 Análisis forense iPhone – Parte III  – Copia bit a bit a través de SSH [Todos, Jailbreak]

4 Análisis forense iPhone – Parte IV  – Cómo atacar por Fuerza Bruta el passcode del iPhone [Todos, No Jailbreak]

5 Análisis forense iPhone – Parte V   – Cómo crackear / descifrar el Keychain [Todos, Jailbreak]

6 Análisis forense iPhone – Parte VI  – Entendiendo la estructura de claves AES

7 Análisis forense iPhone – Parte VII – Accediendo con Ramdisk [iPhone < 4S, No Jailbreak]

Después de escribir una primera entrada haciendo un repaso a los bypasses organizados según la versión de iOS he decidido realizar un análisis forense al iPhone.

/*****************************

1. Ubicación de las copias de seguridad

2. Ficheros importantes

3. Traducir ficheros a nombres legibles

*****************************/

Esta primera entrada está basada en analizar el Backup que genera iTunes en el ordenador. Existen otros métodos para la extracción de datos del iPhone como puede ser la copia integra del contenido mediante el uso del comando  “dd” a través del ssh (requiere tener el jailbreak) pero lo dejaré para otra entrada futura.

copia de seguridad

1. Ubicación de las copias de seguridad.

Dependiendo de si nuestro ordenador corre Mac OS o Windows se ubicará en sitios distintos; a continuación se muestra una tabla con las ubicaciones:

Sistema Operativo Ubicación
Windows XP C:\Documents and Settings\[USUARIO]\Application Data\Apple Computer\Mobile Sync\Backup\
Windows 7 C:\Users\[USUARIO]\AppData\Roaming\Apple Computer\Mobile Sync\Backup\
Mac OS Users/[USUARIO]/Library/Application Support/Mobile Sync/Backup

Dentro de la carpeta Backup aparecen subcarpetas con nombres como este: “9f2df5d47_____________________a9c2cba7c” (no voy a poner el mio entero jeje) que es el UDID (Unique Device Identifier) que es un código hexadecimal que se crea la primera vez que se conecta el iPhone a iTunes y que lo identifica de manera única.

tamaño

Si accedemos a esta ruta y navegamos por las carpetas veremos solo que hay ficheros con nombres “muy extraños” (que son el resultado de un hash) que no nos aclaran nada.

nombresHasheados

2. Ficheros importantes

Junto a esta cantidad de ficheros ilegibles aparecen 4 ficheros que si se pueden leer.

2.1 Info.plist:

Este fichero contiene multiple información sobre el dispositivo: IMEI, número de teléfono, nombre del dispositivo, nombre de todas las aplicaciones instaladas y demás información.

Solo con este archivo, hemos obtenido ya mucha información clave.

Infoplist

2.2 Manifest.plist:

Este fichero contiene detalles de aplicaciones asi como una referencia a si el terminal tiene el passcode activado y si el backup tiene cifrado

Manifestplist

2.3 Status.plist:

Este fichero contiene información relativa al backup: Versión con que ha sido hecho, fecha de realización y si el backup ha sido completo.

Statusplist

2.4 Manifest.mbdb:

Se trata de un fichero binario que contiene información sobre el resto de archivos del backup: tamaños de ficheros, estructura de los datos, hashes SHA-1, etc

Manifestmbdb

Como la información es un poco ilegible, vamos a pasar una herramienta creada por Alejando Ramos (@aramosf) llamada listmanifest.py que basándose en la estructura del binario “parsea” el Manifest y imprime un .csv por pantalla que nos hace más fácil la lectura del fichero.

Tras pasar la herramienta, pegar el resultado en el excel y hacer un mínimo tratamiento de los datos, nos ha quedado la siguiente tabla con información:

Manifest.mbdb analyze with listManifest.py

3. Traducir  ficheros  a nombres legibles

Estos titulos que no entendemos a priori aparecen porque Apple realiza un Hash SHA-1 a la ruta donde se aloje el fichero.

Para entenderlo vamos a mostrar un ejemplo.

Para la ruta “HomeDomain-Library/AddressBook/AddressBookImages.sqlitedb” Apple ejecuta un SHA-1 y obtiene el valor: “cd6702cea29fe89cf280a76794405adb17f9a0ee”.

Imagen 2013-07-24 a la(s) 11.18.03

Mediante un diccionario muy grande con las rutas estándares se pueden retornar los ficheros al formato original. Otra opción es parsear el Manifest.mbdb y ya tenemos todas las rutas 🙂

Existen aplicaciones para hacer estas conversiones, pero casi todas las que he probado me han parecido un poco malas porque no son capaces de hacer la traducción de todos los datos con un solo click. Es necesario ir aplicación por apliación.

Dentro de los programas que he probado, el que más me ha gustado ha sido http://www.icopybot.com/itunes-backup-manager.htm que está sólo disponible para Mac y Windows ( es una lástima que no está para Linux =S ).

Imagen 2013-07-24 a la(s) 11.03.02

Seleccionas las aplicacion que quieras retornar al valor original y la extrae. “iOS Files” congrega los ficheros del teléfono y del sistema que se guardan en el Backup.

Como se ve en la imágen, es necesario ir aplicación por aplicación dando a extraer. Con mucha paciencia se consigue traducir todo.

Finalmente nos quedan todas las carpetas organizadas y listas para ser abiertas y tratadas.

Imagen 2013-07-24 a la(s) 11.32.35

Imagen 2013-07-24 a la(s) 10.57.33

Y bueno, hasta aquí la primera parte del Post. En la segunda parte veremos las rutas donde están almacenados los datos importantes y como se encuentran organizados.

Un saludo!

Carlos Rebollo – @Charliesec
carlos@highsec.es

  1. BTshell
    BTshell07-25-2013

    VERY NICE 🙂

  2. R0dw3
    R0dw307-25-2013

    Gracias por el post Carlos!!

  3. Carlos Rebollo Rodríguez
    Carlos Rebollo Rodríguez07-26-2013

    Me alegro que os haya gustado 😉

Leave a Reply

*

    No Twitter Messages