iOS Forensics
Jesús Balsa y Christian García
Informática forense
¤  “La informática forense, o análisis forense digital, es la
disciplina que se encarga, como parte de la demostración
objetiva de la comisión de un delito, de la recopilación,
recuperación y análisis de los datos contenidos en todo tipo
de dispositivos con capacidad para almacenar datos
digitales.“
¤  Esta labor es importante en los procesos judiciales, pero
también puede emplearse en el sector privado.
iOS
¤  Sistema de ficheros HFS+ (Hierarchical FileSystem)
¤  Dos particiones
¤  1) Boot/firmware
¤  Sólo lectura excepto actualizaciones y jailbreak
¤  SSOO y aplicaciones básicas
¤  2) Datos de usuario y aplicaciones
Estructura de un sistema iOS
Fases de un análisis forense
Evaluación
¤  Notificar y obtener la autorización
¤  Revisar las políticas y la legislación
¤  Identificar a los miembros del equipo
¤  Realizar una valoración inicial
¤  Prepararse para la adquisición de pruebas
¤  Documentación detallada con información de los
procedimientos realizados.
Preparación para la adquisición
¤  Preparación de medios para almacenamiento de “segundos
originales” (clonación bit a bit).
¤  Para limpiar los discos se puede utilizar:
¤  Software:
¤  DiskWipe (Windows - Gratuita)
¤  Bleachbit (Linux – Gratuita)
¤  DiskUtility (Mac – Integrada en el sistema)
¤  Hardware:
¤  Drive eRazer
Adquisición de datos
¤  Desde backup
¤  Desde dd y netcat
¤  Kits forenses
¤  Cellebrite
¤  Oxygen Forensics
Adquisición desde backup
¤  iTunes
¤  Sin passcode o bien pareado previamente con el equipo
¤  Windows 7: %USER%AppDataRoamingAppleComputerMobileSyncBackup<UDID>
¤  Mac:

$HOME/Library/ApplicationSupport/MobileSync/Backup/<UDID>

¤  iTools
¤  Sin passcode o bien pareado previamente con el equipo

¤  libimobiledevice
¤  Sin passcode

¤  Backup cifrado guardado en el PC/Mac
¤  Sólo fuerza bruta (Ivan Golubev’s Password Recovery Suite ó
Elcomsoft Password Recovery)
Adquisición desde dd y netcat
Requisitos:
¤  Dispositivo con jailbreak
¤  Servidor SSH instalado y netcat o que permita instalarlos
¤  Servidor SSH con clave por defecto “alpine” o clave débil
Comandos a utilizar:

dd if=/dev/disk0s2 bs=4096 | nc NUESTRA_IP PUERTO

nc –l 9000 | dd of=NOMBREARCHIVO.img
Adquisición con kits forenses
¤  Cellebrite UFED Logical y UFED Ultimate (Hardware)
¤  Adquisición automática de los datos del terminal
¤  Funciona tanto con jailbreak como sin él
¤  Bypass del código de bloqueo iOS (sólo si es numérico, que es lo más
común)
¤  Generación automática de hash SHA-1 ó MD5 (ya obsoleto)
¤  Herramienta óptima
¤  Precio muy elevado: Logical desde 4700€+IVA y Ultimate desde 8500€+IVA
Adquisición con kits forenses
¤  Oxygen Forensics y UFED Phisical Analyzer (Software)
¤  Sólo compatible hasta iPhone 4, iPad 2
Análisis de los datos
¤ Opciones de análisis
¤  Exploración manual
¤  Fuentes
¤  A partir de un backup
¤  A partir de imagen en bruto
obtenida con dd (jailbreak)
¤  Inspección del sistema de archivos
¤  ¿Qué explorar?

¤  Exploración automatizada
¤  Kits comerciales para análisis forense
Análisis de los datos
A partir de un backup - Casos
¤  Si está cifrado à Fuerza bruta.... (Tiempos con GPUs en 2011)1

¤  Sin cifrar à Recomponer backup y acceder al contenido
¤  Herramientas
¤  iPhone Backup Analyzer: Open source, Linux
¤  iPhone Analyzer: Multiplataforma (Java)
¤  iPhone Backup Explorer: Mac y Windows
¤  iPhone Backup Viewer: Mac
[1]: iPhone and iOS Forensics. Andrew Hoog, Katie Strzempka. Ed: Syngress, 2011.
Análisis de los datos
A partir de un backup - Herramientas
iPhone Backup Analyzer (Linux)
Análisis de los datos
A partir de un backup - Contenido
¤  ¿Qué se guarda en un backup?
¤  Se almacena el contenido de la partición de usuario, excepto
vídeos y música
¤  Dicha partición está montada en: /private/var
¤  Lo que está fuera de esa ruta no se guarda (datos de sistema)
Análisis de los datos
A partir de un backup - Estructura en disco I
¤  Elementos del directorio de un backup
¤  Status.plist
Información del último backup: fecha, hora, tamaño

¤  Info.plist y Manifest.plist
Información del dispositivo: tipo de aparato, UDID, IMEI, nombre, versión
de iOS y de iTunes, nº de serie, lista de apps instaladas

¤  Manifest.mbdb
Rutas y hashes de los ficheros que contiene el backup, y en caso de
tenerla, la contraseña (cifrada) del backup

¤  Resto de ficheros: Lista de elementos nombrados mediante hashes
Análisis de los datos
A partir de un backup - Estructura en disco II
Análisis de los datos
A partir de imagen extraída con dd (Linux/Mac)
¤  Se puede acceder a todo el sistema de archivos
¤  /Applications
¤  /System
¤  /”lo_que_sea”

¤  Pueden recuperarse archivos borrados (si no se han sobrescrito)
¤  Pasos básicos
¤  Montar la imagen extraída, en modo sólo lectura
¤  sudo mount -t hfsplus -o ro,loop ~/Desktop/iPhone.dmg
~/Desktop/iPhone_montado

¤  Explorar ”a mano” los ficheros de interés
Análisis de los datos
Inspección manual del sistema
¤  ¿Qué explorar?
¤  El directorio público Media
¤  Datos de las aplicaciones
¤  Cookies
¤  Ficheros de BBDD (.db y .sqlite) y de preferencias (.plist)

¤  Claves de usuario y registros del sistema

¤  Herramientas necesarias
¤  Visor de ficheros .db y .sqlite: SQLite Manager (multiplataforma)
¤  Visor de ficheros .plist: Plist Editor Pro (Mac y Windows)
¤  Paciencia
Análisis de los datos
Inspección del sistema - Herramientas I
SQLite Manager
Análisis de los datos
Inspección del sistema - Herramientas II
Plist Editor Pro
Análisis de los datos
Inspección del sistema - El directorio público Media
¤  Ruta: /private/var/mobile/Media
¤  Contenido:
¤  Información detallada del dispositivo: Media/iTunes_Control/Device/
¤  Fotos y vídeos:
¤  Media/DCIM/100APPLE/
¤  Media/PhotoData/
¤  Por defecto las fotos incluyen metadatos con localización del GPS

¤  Almacenamiento USB: Media/general_storage/
¤  Música: Media/iTunes_Control/Music/
¤  Grabaciones: Media/Recordings/
¤  eBooks: Media/Books/
¤  Listado de las compras en la AppStore: Media/Purchases/
Análisis de los datos
Inspección del sistema - Datos de aplicaciones I
¤  Cookies:
¤ 
¤ 
¤ 
¤ 

Ruta: /private/var/mobile/Applications/[AppID_(hash)]/Library/Cookies
Permiten iniciar sesión directamente copiándolas en otro iOS
Redes sociales: tuenti, twitter, facebook* (corregido a final de 2012)
Mensajería instantánea: gtalk, imo messenger

¤  Libreta de contactos:
¤  /private/var/mobile/Library/AddressBook/AddressBook.sqlitedb

¤  Últimas 100 llamadas realizadas:
¤  /private/var/wireless/Library/CallHistory/call_history.db

¤  Emails de las cuentas vinculadas: /private/var/mobile/Library/Mail/
¤  SMS: /private/var/mobile/Library/SMS/sms.db
Análisis de los datos
Inspección del sistema - Datos de aplicaciones II
¤  Ficheros .plist de preferencias
¤  Ruta: /private/var/mobile/Library/Preferences
¤  Múltiples elementos con información sobre configuraciones y
búsquedas
¤  Ejemplos representativos:
¤  com.apple.mobilephone.speeddial.plist: números de llamada rápida.
¤  com.apple.preferences.datetime.plist: zona horaria del dispositivo.
¤  com.apple.mobiletimer.plist y com.apple.mobilecal.alarmengine.plist:
información sobre las alarmas puestas en el reloj.
¤  com.apple.youtube.plist: últimos vídeos buscados en la aplicación
Youtube.
¤  com.apple.mobilesafari.plist: ultimas búsquedas en Safari.
¤  com.apple.stocks.plist: stock de acciones en la aplicación bolsa.
Análisis de los datos
Inspección del sistema - Registros de interés y contraseñas
¤  Registro continuo de eventos (Logs): /private/var/logs/
¤  Redes WiFi detectadas:
¤  /private/var/preferences/SystemConfiguration/com.apple.wifi.plist

¤  Ubicaciones GPS registradas:
¤  /private/var/root/Library/Caches/locationd/consolidated.db

¤  Listado de todas las aplicaciones instaladas:
¤  /private/var/mobile/Library/Caches/com.apple.installation.plist

¤  Ficheros de contraseñas de usuario (algunas en plano):
¤  /private/var/Keychains/keychain-2.db
¤  /private/var/Keychains/TrustStore.sqlite3

¤  Ficheros de emparejamiento con ordenadores con los que ha
sincronizado:
¤  /private/var/root/Library/Lockdown/
Análisis de los datos
Kits comerciales para análisis forense
¤  Realizan la extracción, clasificación y hasheado de los ficheros
¤  Generan una línea temporal del dispositivo, permitiendo una
exploración cronológica de eventos y ficheros
¤  Algunos kits disponibles
1) Necesitan iTunes instalado
¤  Oxygen Forensic Suite (Windows)
¤  MobilEdit! Forensic (Windows)

2) No necesitan iTunes
¤  UFED Cellebrite Physical Analyzer (Windows)
Elaboración del informe
¤  Lo más claro posible para su compresión por abogados y
jueces
¤  Que ponga de manifiesto las pruebas y evidencias
encontradas
Elaboración del informe
Gracias por su atención

Forensic iOS

  • 1.
    iOS Forensics Jesús Balsay Christian García
  • 2.
    Informática forense ¤  “Lainformática forense, o análisis forense digital, es la disciplina que se encarga, como parte de la demostración objetiva de la comisión de un delito, de la recopilación, recuperación y análisis de los datos contenidos en todo tipo de dispositivos con capacidad para almacenar datos digitales.“ ¤  Esta labor es importante en los procesos judiciales, pero también puede emplearse en el sector privado.
  • 3.
    iOS ¤  Sistema deficheros HFS+ (Hierarchical FileSystem) ¤  Dos particiones ¤  1) Boot/firmware ¤  Sólo lectura excepto actualizaciones y jailbreak ¤  SSOO y aplicaciones básicas ¤  2) Datos de usuario y aplicaciones
  • 4.
    Estructura de unsistema iOS
  • 5.
    Fases de unanálisis forense
  • 6.
    Evaluación ¤  Notificar yobtener la autorización ¤  Revisar las políticas y la legislación ¤  Identificar a los miembros del equipo ¤  Realizar una valoración inicial ¤  Prepararse para la adquisición de pruebas ¤  Documentación detallada con información de los procedimientos realizados.
  • 7.
    Preparación para laadquisición ¤  Preparación de medios para almacenamiento de “segundos originales” (clonación bit a bit). ¤  Para limpiar los discos se puede utilizar: ¤  Software: ¤  DiskWipe (Windows - Gratuita) ¤  Bleachbit (Linux – Gratuita) ¤  DiskUtility (Mac – Integrada en el sistema) ¤  Hardware: ¤  Drive eRazer
  • 8.
    Adquisición de datos ¤ Desde backup ¤  Desde dd y netcat ¤  Kits forenses ¤  Cellebrite ¤  Oxygen Forensics
  • 9.
    Adquisición desde backup ¤ iTunes ¤  Sin passcode o bien pareado previamente con el equipo ¤  Windows 7: %USER%AppDataRoamingAppleComputerMobileSyncBackup<UDID> ¤  Mac: $HOME/Library/ApplicationSupport/MobileSync/Backup/<UDID> ¤  iTools ¤  Sin passcode o bien pareado previamente con el equipo ¤  libimobiledevice ¤  Sin passcode ¤  Backup cifrado guardado en el PC/Mac ¤  Sólo fuerza bruta (Ivan Golubev’s Password Recovery Suite ó Elcomsoft Password Recovery)
  • 10.
    Adquisición desde ddy netcat Requisitos: ¤  Dispositivo con jailbreak ¤  Servidor SSH instalado y netcat o que permita instalarlos ¤  Servidor SSH con clave por defecto “alpine” o clave débil Comandos a utilizar: dd if=/dev/disk0s2 bs=4096 | nc NUESTRA_IP PUERTO nc –l 9000 | dd of=NOMBREARCHIVO.img
  • 11.
    Adquisición con kitsforenses ¤  Cellebrite UFED Logical y UFED Ultimate (Hardware) ¤  Adquisición automática de los datos del terminal ¤  Funciona tanto con jailbreak como sin él ¤  Bypass del código de bloqueo iOS (sólo si es numérico, que es lo más común) ¤  Generación automática de hash SHA-1 ó MD5 (ya obsoleto) ¤  Herramienta óptima ¤  Precio muy elevado: Logical desde 4700€+IVA y Ultimate desde 8500€+IVA
  • 12.
    Adquisición con kitsforenses ¤  Oxygen Forensics y UFED Phisical Analyzer (Software) ¤  Sólo compatible hasta iPhone 4, iPad 2
  • 13.
    Análisis de losdatos ¤ Opciones de análisis ¤  Exploración manual ¤  Fuentes ¤  A partir de un backup ¤  A partir de imagen en bruto obtenida con dd (jailbreak) ¤  Inspección del sistema de archivos ¤  ¿Qué explorar? ¤  Exploración automatizada ¤  Kits comerciales para análisis forense
  • 14.
    Análisis de losdatos A partir de un backup - Casos ¤  Si está cifrado à Fuerza bruta.... (Tiempos con GPUs en 2011)1 ¤  Sin cifrar à Recomponer backup y acceder al contenido ¤  Herramientas ¤  iPhone Backup Analyzer: Open source, Linux ¤  iPhone Analyzer: Multiplataforma (Java) ¤  iPhone Backup Explorer: Mac y Windows ¤  iPhone Backup Viewer: Mac [1]: iPhone and iOS Forensics. Andrew Hoog, Katie Strzempka. Ed: Syngress, 2011.
  • 15.
    Análisis de losdatos A partir de un backup - Herramientas iPhone Backup Analyzer (Linux)
  • 16.
    Análisis de losdatos A partir de un backup - Contenido ¤  ¿Qué se guarda en un backup? ¤  Se almacena el contenido de la partición de usuario, excepto vídeos y música ¤  Dicha partición está montada en: /private/var ¤  Lo que está fuera de esa ruta no se guarda (datos de sistema)
  • 17.
    Análisis de losdatos A partir de un backup - Estructura en disco I ¤  Elementos del directorio de un backup ¤  Status.plist Información del último backup: fecha, hora, tamaño ¤  Info.plist y Manifest.plist Información del dispositivo: tipo de aparato, UDID, IMEI, nombre, versión de iOS y de iTunes, nº de serie, lista de apps instaladas ¤  Manifest.mbdb Rutas y hashes de los ficheros que contiene el backup, y en caso de tenerla, la contraseña (cifrada) del backup ¤  Resto de ficheros: Lista de elementos nombrados mediante hashes
  • 18.
    Análisis de losdatos A partir de un backup - Estructura en disco II
  • 19.
    Análisis de losdatos A partir de imagen extraída con dd (Linux/Mac) ¤  Se puede acceder a todo el sistema de archivos ¤  /Applications ¤  /System ¤  /”lo_que_sea” ¤  Pueden recuperarse archivos borrados (si no se han sobrescrito) ¤  Pasos básicos ¤  Montar la imagen extraída, en modo sólo lectura ¤  sudo mount -t hfsplus -o ro,loop ~/Desktop/iPhone.dmg ~/Desktop/iPhone_montado ¤  Explorar ”a mano” los ficheros de interés
  • 20.
    Análisis de losdatos Inspección manual del sistema ¤  ¿Qué explorar? ¤  El directorio público Media ¤  Datos de las aplicaciones ¤  Cookies ¤  Ficheros de BBDD (.db y .sqlite) y de preferencias (.plist) ¤  Claves de usuario y registros del sistema ¤  Herramientas necesarias ¤  Visor de ficheros .db y .sqlite: SQLite Manager (multiplataforma) ¤  Visor de ficheros .plist: Plist Editor Pro (Mac y Windows) ¤  Paciencia
  • 21.
    Análisis de losdatos Inspección del sistema - Herramientas I SQLite Manager
  • 22.
    Análisis de losdatos Inspección del sistema - Herramientas II Plist Editor Pro
  • 23.
    Análisis de losdatos Inspección del sistema - El directorio público Media ¤  Ruta: /private/var/mobile/Media ¤  Contenido: ¤  Información detallada del dispositivo: Media/iTunes_Control/Device/ ¤  Fotos y vídeos: ¤  Media/DCIM/100APPLE/ ¤  Media/PhotoData/ ¤  Por defecto las fotos incluyen metadatos con localización del GPS ¤  Almacenamiento USB: Media/general_storage/ ¤  Música: Media/iTunes_Control/Music/ ¤  Grabaciones: Media/Recordings/ ¤  eBooks: Media/Books/ ¤  Listado de las compras en la AppStore: Media/Purchases/
  • 24.
    Análisis de losdatos Inspección del sistema - Datos de aplicaciones I ¤  Cookies: ¤  ¤  ¤  ¤  Ruta: /private/var/mobile/Applications/[AppID_(hash)]/Library/Cookies Permiten iniciar sesión directamente copiándolas en otro iOS Redes sociales: tuenti, twitter, facebook* (corregido a final de 2012) Mensajería instantánea: gtalk, imo messenger ¤  Libreta de contactos: ¤  /private/var/mobile/Library/AddressBook/AddressBook.sqlitedb ¤  Últimas 100 llamadas realizadas: ¤  /private/var/wireless/Library/CallHistory/call_history.db ¤  Emails de las cuentas vinculadas: /private/var/mobile/Library/Mail/ ¤  SMS: /private/var/mobile/Library/SMS/sms.db
  • 25.
    Análisis de losdatos Inspección del sistema - Datos de aplicaciones II ¤  Ficheros .plist de preferencias ¤  Ruta: /private/var/mobile/Library/Preferences ¤  Múltiples elementos con información sobre configuraciones y búsquedas ¤  Ejemplos representativos: ¤  com.apple.mobilephone.speeddial.plist: números de llamada rápida. ¤  com.apple.preferences.datetime.plist: zona horaria del dispositivo. ¤  com.apple.mobiletimer.plist y com.apple.mobilecal.alarmengine.plist: información sobre las alarmas puestas en el reloj. ¤  com.apple.youtube.plist: últimos vídeos buscados en la aplicación Youtube. ¤  com.apple.mobilesafari.plist: ultimas búsquedas en Safari. ¤  com.apple.stocks.plist: stock de acciones en la aplicación bolsa.
  • 26.
    Análisis de losdatos Inspección del sistema - Registros de interés y contraseñas ¤  Registro continuo de eventos (Logs): /private/var/logs/ ¤  Redes WiFi detectadas: ¤  /private/var/preferences/SystemConfiguration/com.apple.wifi.plist ¤  Ubicaciones GPS registradas: ¤  /private/var/root/Library/Caches/locationd/consolidated.db ¤  Listado de todas las aplicaciones instaladas: ¤  /private/var/mobile/Library/Caches/com.apple.installation.plist ¤  Ficheros de contraseñas de usuario (algunas en plano): ¤  /private/var/Keychains/keychain-2.db ¤  /private/var/Keychains/TrustStore.sqlite3 ¤  Ficheros de emparejamiento con ordenadores con los que ha sincronizado: ¤  /private/var/root/Library/Lockdown/
  • 27.
    Análisis de losdatos Kits comerciales para análisis forense ¤  Realizan la extracción, clasificación y hasheado de los ficheros ¤  Generan una línea temporal del dispositivo, permitiendo una exploración cronológica de eventos y ficheros ¤  Algunos kits disponibles 1) Necesitan iTunes instalado ¤  Oxygen Forensic Suite (Windows) ¤  MobilEdit! Forensic (Windows) 2) No necesitan iTunes ¤  UFED Cellebrite Physical Analyzer (Windows)
  • 28.
    Elaboración del informe ¤ Lo más claro posible para su compresión por abogados y jueces ¤  Que ponga de manifiesto las pruebas y evidencias encontradas
  • 29.
  • 30.
    Gracias por suatención