Análisis Forense de Dispositivos iOS – Fase de Análisis
La serie de artículos sobre análisis forense de dispositivos iOS, es una iniciativa de La Comunidad DragonJAR que pretende aportar un poco de documentación en español sobre las metodologías y procedimientos forenses necesarios para llevar a cabo el análisis de un dispositivo móvil con sistema operativo iOS de Apple (iPhone, iPad, iPod Touch, etc…).
En la entrega anterior de esta serie, comentábamos los procesos de adquisición, en los cuales dábamos inicio formalmente a la investigación, se crearon los segundos originales, realizando la copia bit a bit de los dispositivos a analizar, también iniciamos la documentación donde se registran todos los procedimientos realizados en cada una de las etapas y por cada una de las personas que las lleven a cabo, ademas se realizó el etiquetado y archivado de la evidencia.
El paso a seguir en nuestro análisis forense de dispositivos iOS, como lo indica el diagrama, es la fase de análisis, en la cual debemos extraer toda la información que podamos de los segundos originales, para luego relacionarla con el caso y poder brindar los datos necesarios para que un juez o la persona quien encargó el análisis, tome las respectivas acciones con base en ellos.
- Análisis Forense de Dispositivos iOS – Fase de Análisis
- Análisis Forense de Dispositivos iOS – Fase de Análisis - Parte técnica
- Análisis forense en iOS - Aplicaciones de terceros
- Análisis forense en iOS con Oxygen Forensic Suite 2011
- Análisis forense en iOS con Lantern 2
- Análisis forense en iOS con otras herramientas
Análisis Forense de Dispositivos iOS – Fase de Análisis
En esta fase se debe iniciar el análisis de los dispositivos, para llevar a cabo esta labor, definiremos los objetivos y criterios de búsqueda a utilizar para dar con la información que necesitamos, utilizaremos una copia del segundo original generado previamente y una vez comprobada (determinar si los hash corresponden al segundo original) analizaremos sus archivos para extraer y relacionar la información que nos permita cumplir con los objetivos planteados, las etapas de este paso son:
- Análisis de datos de la red: Normalmente cuando realizamos una investigación donde están relacionados equipos de computo, lo primero que hacemos en la fase de análisis es identificar los dispositivos de defensa (IDS, IPS, Firewall, Proxy, etc...) y de comunicación que se encuentran en la red, ya que normalmente al recuperar sus logs y relancionarlos con el equipo que estamos analizando, podemos obtener una buena cantidad de información sobre el comportamiento de ese equipo en la red donde se encuentra. Pero cuando tratamos con dispositivos móviles el escenario es muy diferente, ya que por lo general ellos cuentan con su propia red de datos o se conectan a distintas redes según donde se encuentren y en la mayoría de casos, las redes a las que se conectan, no cuentan con alguna implementación de defensa a la cual sacarle logs.
- Análisis los datos host: Utilizando una copia de su segundo original, procesamos la información obtenida de cada sistema adquirido, de la lectura de las Aplicaciones, logs y las configuraciones propias del iOS, (esto se puede hacer manualmente o con herramientas automatizadas). En cada caso esta etapa debe estar limitada a los parámetros y criterios de búsquedas definidos inicialmente para nuestro caso, ya que la información encontrada en estos dispositivo, suele ser extensa y puede complicar el análisis de datos si no definimos previamente lo que estamos buscando.
- Análisis los medios de almacenamiento: Al analizar los medios de almacenamiento (en modo de solo lectura para evitar alterar la evidencia), debemos determinar si los archivos no tienen algún tipo de cifrado, es recomendable crear una estructura de Directorios y Archivos recuperados para ubicar fácilmente los datos, estudiar los Metadatos en especial las fechas de creación, actualización, acceso, modificación, que nos pueden ayudar a determinar una linea de tiempo a evidencia debe ser cargada de solo lectura.
Análisis Forense de Dispositivos iOS – Fase de Análisis - Parte técnica
La mayoría de procesos que llevamos a cabo en esta fase de análisis, consisten en parsear información que se encuentra almacenada en los dispositivos iOS, ya que por defecto estos dispositivos no utilizan ningún tipo de cifrado en sus archivos y casi toda la información que necesitamos esta asequible por medio de un cliente para sqlite o en archivos .plist, existen varias herramientas que permiten sacar la información mas relevante de nuestro dispositivo iOS, convirtiendo la información que se encuentra en los archivos mencionados, para que los podamos visualizar mas fácilmente, en este articulo veremos como hacer este proceso manualmente y como se lleva a cabo utilizando herramientas.
A continuación les mostraré las rutas y archivos mas relevante para un análisis forense y como podemos extraer de ellos la información que nos interesa para llevar a un feliz termino nuestro análisis forense en un dispositivo iOS:
- Applications: Es un enlace simbólico a -> /var/stash/Applications.pwn
- Developer: Esta vacío
- Library: Como en cualquier sistema Mac OS X, contiene los plugins, configuraciones, etc..
- System: Contiene las preferencias del sistema y del dispositivo
- User: Es un enlace simbólico a -> /var/mobile
- bin: Contiene los ejecutables del sistema
- boot: Esta vacío
- cores: Esta vacío
- dev: Esta vacío
- etc: Es un enlace simbólico a -> private/etc/
- lib: Esta vacío
- mnt: Esta vacío
- private: Contiene los directories etc y var (aquí encontraremos los archivos fstab, passwd y muchos mas)
- sbin: Contiene los ejecutables del sistema
- tmp: Es un enlace simbólico a -> private/var/tmp/
- usr: Contiene los datos de zona horaria y ejecutables del sistema
- var: Es un enlace simbólico a -> private/var/
Algunos archivos que pueden interesarnos, podemos abrirlos con cualquier editor de texto, otros son bases de datos en SQLite y otros son "listas de propiedades" con extensión .plist, por lo tanto necesitamos clientes para poder visualizar correctamente, cada uno de estos archivos:
Listado de clientes SQLite Multiplataforma:
Listado de clientes para abrir archivos .plist
- XCode incluye un visor de .plist (Mac OS X)
- La gente de Oxygen Forensics hace poco sacó su visor gratuito de .plist (Windows)
- Plist Editor (Windows)
- plutil.pl (Linux)
También es recomendable descargarnos la herramienta CFAbsoluteTimeConverter (para mac) o la herramienta DCode (para windows) que nos ayudará a convertir los tiempos absolutos que encontraremos en varios archivos, a tiempo relativo que entendemos fácilmente (convierte esto 324520032 a esto jueves 14 de abril de 2011 19:27:12 Hora de Colombia).
La siguiente es una lista de archivos de interés, de los cuales podemos extraer mucha información que nos ayudarán en nuestro análisis forense de dispositivos iOS:
- /private/etc/master.passwd y /private/etc/passwd utilizando john the ripper o cualquier otra herramienta para crackear passwords, podremos obtener las claves del sistema
- En la carpeta /private/var/Keychains/ encontraremos los archivos TrustStore.sqlite3, keychain-2.db, ocspcache.sqlite3 donde encontraremos en texto plano algunas de las contraseñas guardadas por los usuarios en diferentes aplicaciones.
- /private/var/logs/ y /private/var/log/en estas carpetas encontraremos una gran cantidad de logs del sistema iOS que nos pueden ayudar en la elaboración de nuestra linea de tiempo.
- /var/wireless/Library/Logs logs sobre las conexiones inalámbricas (3G, Bluetooht, WiFi) del dispositivo
- /private/var/preferences/SystemConfiguration encontramos una gran cantidad de información sobre la configuración del equipo, rangos de ips, información sobre las redes inalámbricas a las que se ha conectado, nombre del teléfono y mucha mas información.
- /private/var/root/Library/Caches/locationd encontraremos información que nos ayudaran a georeferenciar el dispositivo y el famoso archivo consolidare.db del que ya hemos hablado en la comunidad.
- /private/var/root/Library/Lockdown/ en esta carpeta encontraras los certificados públicos y privados del dispositivo
- /private/var/root/Library/Cookies/ aquí encontraremos las cookies que están almacenadas en el dispositivo, las cuales nos pueden arrojar información muy útil sobre los sitios visitados y permitirnos realizar un robo de sección para intentar entrar a los servicios que visitaron desde el dispositivo (para esto ultimo debemos solicitar autorización por escrito).
- /private/var/run aquí encontraremos los logs del system
- /private/var/tmp encontraremos información temporalmente almacenada por las aplicaciones, aveces encontramos información interesante
Para la carpeta /private/var/mobile/Library vamos a crear un espacio aparte, ya que de que al igual que en Mac OS, de la carpeta Library podremos sacar una gran cantidad de información sobre el dispositivo que nos sea útil.
- /private/var/mobile/Library/Logs Esta carpeta de logs es bastante interesante, por que nos muestra los errores de las aplicaciones instaladas en el equipo, podremos sacar buena información de todos estos archivos.
- /private/var/mobile/Library/AddressBook una de las mas importantes, en ella encontraremos los archivos AddressBookImages.sqlitedb donde están almacenadas las imágenes asociadas a los contactos y AddressBook.sqlitedb que hacen referencia a nuestra libreta de contactos.
Las tablas mas importantes en esta base de datos son AB Group. ABGroupMembers, ABMultiValue, ABMultiValueEntry, ABPerson y ABRecent.
- /private/var/mobile/Library/SMS la siguiente base de datos que nos llama la atención, es la de los mensajes SMS, en ella podremos encontrar el archivo sms.db y la carpeta Drafts con los borradores que estén guardados en el dispositivo iOS.
Las tablas mas importantes en esta base de datos son Group_member, Message, Msg_group, Msg_Pieces
- /private/var/wireless/Library/CallHistory/ en esta carpeta encontraremos el archive call_history.db donde esta el listado de las ultimas 100 llamadas realizadas por el dispositivo.
Las tablas mas importantes en esta base de datos son Call y Data
- /private/var/mobile/Library/Calendar aquí encontraremos el Calendar.sqlitedb que contiene toda la información sobre los calendarios del dispositivos, alarmas y fechas lo que nos puede ser muy útil en nuestra investigación forense
Las tablas mas importantes en esta base de datos son Calendar, Event, Task, Recurrence, Alarm,
- /private/var/mobile/Library/Maps encontraremos los archivos History.plist y Directions.plist con la información que tengamos almacenada en la aplicación mapas, del dispositivo iOS
- /private/var/mobile/Library/Mail encontraremos mucha información sobre los correos recibidos desde el dispositivo, las cuentas de correo, los tiempos de actualización, archivos adjuntos y mensajes de correo electrónico.
- /private/var/mobile/Library/Preferences gran cantidad de archivos de configuración para el sistema iOS y muchas de las aplicaciones instaladas, de ellos podemos sacar mucha información útil para nuestra investigación, algunos de los mas relevantes son:com.apple.Maps.plist: ultimas búsquedas en el programa de mapas
com.apple.mobiletimer.plist y com.apple.mobilecal.alarmengine.plist: información sobre las alarmas puestas en el reloj
com.apple.mobilephone.speeddial.plist: números de llamada rápida
com.apple.youtube.plist: últimos vídeos buscados en la aplicación de youtube
com.apple.mobilesafari.plist ultimas búsquedas en safari
com.apple.preferences.datetime.plist zona horaria del dispositivo
com.apple.springboard.plist lista de aplicaciones estándar y añadidas por el usuario
com.apple.stocks.plist el stock de acciones listadas en la aplicación bolsa
com.apple.weather.plist listado de ciudades añadidas a la aplicación de clima
- /private/var/mobile/Library/Safari encontramos los favoritos del safari Bookmarks.db, el historial History.plist y los buscadores usados SearchEngines.plist ademas del archivo SuspendState.plist que almacena las "pestañas" o paginas suspendidas de Safari
- /private/var/mobile/Library/Spotlight aquí encontraremos un listado con las aplicaciones abiertas por medio del buscador spotlight db.sqlitedb y los mensajes que están indexados por este buscador SMSSearchdb.sqlitedb
La tabla mas importante en esta base de datos es Content
- /private/var/mobile/Library/SpringBoard aquí encontraremos las aplicaciones instaladas applicationstate.plist la organización de estas aplicaciones dentro del equipo IconState.plist y una miniatura del fondo utilizado LockBackgroundThumbnail.jpg
- /private/var/mobile/Library/Voicemail aqui encontraras los correos de voz que se encuentren en el dispositivo
La tabla mas importante en esta base de datos es voicemail
- /private/var/mobile/Library/Notes la información ingresada en la aplicación notas de iOS
- /private/var/mobile/Library/Keyboard en esta carpeta encontraremos un curioso archivo, (idioma)-dynamic-text.dat que almacena todas las palabras que escribimos desde el dispositivo para generar un diccionario con las palabras que mas usamos, algunos pueden llamarlo funcionalidad, yo lo llamo keylogger nativo.. juzguen ustedes.
- /private/var/mobile/Media/DCIM/100APPLE y /private/var/mobile/Media/PhotoData en estas carpetas encontraremos las fotos tomadas con el dispositivo iOS, ademas de las bases de datos de donde podremos sacar buena información, recuerda que por defecto las fotos tomadas con un dispositivo iOS incluye la posición GPS del lugar donde fue tomada en sus meta-datos, por lo que puede ser de mucha utilidad.
- /private/var/mobile/Media/Recordings encontraremos las notas de voz y una base de datos Recordings.db con la fecha de creación, duración, y ruta, ademas de las etiquetas personalizadas de la nota (si la tiene) CustomLabels.plist
La tabla mas importante en esta base de datos es ZRECORDING
- /private/var/mobile/Library/Logs/ADDataStore.sqlitedb esta base de datos nos puede arrojar muy buena información, ya que almacena cuando utilizamos una aplicación y cuanto tiempo la estuvimos utilizando.
La tabla mas importante en esta base de datos Scalars, con sus campos daySince1970 (que dice el numero de días pasados desde el 1 de enero de 1970) y el campo value nos dice en segundos cuanto tiempo hemos usado la aplicación
Análisis forense en iOS - Aplicaciones de terceros
Una de las ventajas de utilizar métodos manuales para examinar la evidencia en un análisis forense, es la posibilidad de extraer información de cualquier sitio y no solo de los lugares "preestablecidos" por las herramientas automatizadas, esto toma especial importancia en los dispositivos iOS ya que es posible instalar un sin fin de aplicaciones de terceros sobre él, que pueden arrojarnos información muy útil para nuestra investigación.
En la ruta /private/var/mobile/Applications encontraremos todas las aplicaciones instalada en el dispositivo iOS, y cada una de ellas contiene información que puede sernos de utilidad para llevar a buen termino nuestra investigación.
Por ejemplo la aplicación iBearMoney que se utiliza para llevar un registro de nuestro dinero día a día, tiene en su interior una base de datos en sqlite (/private/var/mobile/Applications/3C2D2624-2F48-40C4-AA67-8C1091AB50C9/iBearMoney.app/database.sql) puede añadir información importante acerca del movimiento de dinero realizado por la persona que utilizaba el dispositivo iOS.
¿Subes archivos a tu sitio desde tu dispositivo iOS? pues si utilizas FTPOnTheGo o FTPOnTheGoPro debes tener cuidado ya que esta aplicación almacena los datos de conexión a tu servidor en texto plano almacenado en esta base de datos (/private/var/mobile/Applications/1B238725-3D83-4384-9B46-7C6C7D29BEBC/FTPOnTheGoPro.app/bookmarks.sql), igual que la aplicación de WordPress para iOS, almacena los datos en plano de la conexión a tu blog en el archivo (/private/var/mobile/Applications/3C285A95-13D7-4916-AD8B-A3766AAA6C01/Documents/WordPress.sqlite)
Pasa lo mismo con muchas aplicaciones, por ejemplo el famoso WhatsApp expone en texto plano todos los mensajes que enviamos por ese medio en una base de datos (/private/var/mobile/Applications/D4309E4E-4323-46F7-9D70-6E7EAABDAA7F/Documents/ChatStorage.sqlite) y también almacena las fotos y miniaturas que nos envíen por la aplicación (/private/var/mobile/Applications/D4309E4E-4323-46F7-9D70-6E7EAABDAA7F/Library/Caches)
La tabla mas importante en esta base de datos es ZMESSAGE
Algo mas preocupante es que la aplicación iSSH, la mas popular a la hora de realizar conexiones SSH desde dispositivos iOS, NO CIFRA nuestras claves, por lo que cualquier persona que pueda acceder al archivo (/private/var/mobile/Applications/E94D647C-07A4-406C-9D86-C0D3BA6DA94A/Library/Preferences/config.dat) puede ver en texto claro el usuario, clave y la dirección de nuestro servidor.
Si eres fanático del GDT, espero que no anotes tareas comprometedoras en tu 2Do, ya que estas son almacenadas sin cifrar en (/private/var/mobile/Applications/E52F4760-CDA8-44BC-B3AD-2AB57267770C/Documents/2do.db)
Y así podríamos seguir por días, con todas las aplicaciones instaladas en los dispositivos iOS ya que por norma general los desarrolladores NO CIFRAN la información sensible, si quieres encontrar esta información debes examinar dentro de la carpeta de la aplicación en los directorios Documents, Library y tmp, pero también examinar el contenido de la aplicación (click derecho, mostrar contenido del paquete) ya que muchas veces dentro de ellas podemos encontrar información que puede sernos útil.
Ya vimos que examinar el contenido de un dispositivo iOS no es complicado, solo debemos conocer la estructura del dispositivo y tener muy claro lo que estamos buscando; Ahora vamos a ver como facilitar aun mas esta labor, utilizando herramientas automatizadas para realizar el análisis forense de dispositivos iOS.
Análisis forense en iOS con Oxygen Forensic Suite 2011
La primera herramienta que vamos a ver es la Suite Oxygen Forensic 2011 que podrás probar gratis 30 días o ejecuciones llenando este formulario.
Oxygen Forensic 2011 es una completa Suite con soporte para mas de 2000 dispositivos móviles, entre los cuales se encuentran los de Apple, entre la información que podemos extraer con el se encuentra:
- Información básica del dispositivo y de la SIM
- La lista de contactos con toda su información y foto si la tiene
- Archivos Multimedia (fotos, vídeos, audios, etc..)
- Mensajes SMS
- Log de eventos
- Información del calendario
- Notas almacenadas en el dispositivo
- Navegador de archivos capturados
- Genera una linea de tiempo
- Extrae archivos de las aplicaciones instaladas
- Historial, favoritos y chache del navegador web
- Listado de diccionarios personalizados
- Correos electrónicos con sus adjuntos
- Llamadas realizadas, recibidas y perdidas
- EL trafico de en las redes GPRS, EDGE, CSD, HSCSD y Wi-Fi
- Información de la SIM card (si aplica)
- Notas de voz y buzón de voz
- Geoposicionamiento del dispositivo
- Saca una firma con hash MD5, SHA-1, SHA-2, a los archivos
- Genera reportes del dispositivo
Análisis forense en iOS con Lantern 2
- Información Información del dispositivo y de la SIM
- La lista de contactos con toda su información
- Llamadas realizadas, recibidas y perdidas
- Archivos Multimedia (fotos, vídeos, audios, etc..)
- Mensajes SMS/MMS
- Notas almacenadas en el dispositivo
- Información del calendario
- Historial, favoritos y chache del navegador web
- Conversaciones y registro de llamadas por Skype
- Las notas de voz almacenadas
- Contactos y correos de nuestros contactos en Facebook
- Geoposicionamiento del dispositivo (sacada de la red gps, wifi y los meta tags de las fotos)
- Listado de todas las conexiones inalámbricas a las que se ha conectado el dispositivo
- Fotos y vídeos almacenados en el dispositivo iOS
- Las canciones, podcast, video podcast del dispositivo
- El listado de las aplicaciones utilizadas
- Listado de documentos encontrados
- Genera una linea de tiempo
- Favoritos
- Genera reportes del dispositivo
Análisis forense en iOS con otras herramientas
- BlackLight Completa suite para el análisis forense de dispositivos iOS
- MOBILedit! Forensic Suite completa para análisis forense en dispositivos móviles, con soporte para iOS
- iPhone Explorer No es una herramienta forense pero nos ayuda a explorar los contenidos de un dispositivo iOS fácilmente (Multiplataforma)
- Phone Disk No es una herramienta forense pero con ella podemos montar los dispositivos iOS como una partición mas en nuestro equipo, facilitando la tarea de explorar en sus archivos y sacar la imagen bit a bit del dispositivo (Multiplataforma)
- JuicePhone No es una herramienta forense pero nos facilita el manejo de backups para nuestros dispositivos iOS (Mac OS)
- mdhelper nos permite gestionar los backups almacenados en iTunes de nuestro dispositivo iOS (Mac OS)
- FTK Imager complemento perfecto a Phone Disk para sacar la copia bit a bit de nuestro dispositivo una vez este montado en nuestro sistema
- FOCA No es una herramienta forense, pero nos puede facilitar la extracción de los metadatos contenidos en los archivos que encontremos en los dispositivos iOS.
- Herramientas para analizar el consolidate.db y obtener la geologalizacion de dispositivos iOS
Este articulo hace parte de una serie titulada Análisis Forense de Dispositivos iOS, conformada por cuatro entregas: