"Security & Pure Forensics"

.

miércoles, 31 de octubre de 2012

Forensics XBOX 360


Hola lectores,

En la última conferencia que di en la Universidad Politécnica de Valencia en el curso de Forense Judicial informático hable de un caso  de robo de propiedad intelectual.  Lo curioso del tema es que el dispositivo  fue una XBOX 360 de Microsoft y como hay muy poco escrito sobre ello creo conveniente compartirlo.

El caso (de forma resumida) es que una empresa dedicada a los videojuegos, sospecha que un empleado descontento ha copiado de forma no autorizada el código fuente del próximo juego que tenía a punto de sacar al mercado.

Después de indagar y realizar diversos análisis forenses de su portátil y móvil nos encontramos con la XBOX la cual resulto determinante como evidencia de que se uso el dispositivo fuera de la empresa para usos ilícitos.

En este post voy a reflejar la problemática de hacer un análisis a este tipo de dispositivo sin pretender ser una guía o manual al uso, ya que depende de la versión de XBOX y actualizaciones que este tenga.


XBOX 360

Es la segunda videoconsola de sobremesa producida por Microsoft. Como principales características, están su unidad central de procesamiento basado en un IBM PowerPC y su unidad de procesamiento gráfico que soporta la tecnología Shaders. El sistema incorpora un puerto especial para agregar un disco duro externo y es compatible con la mayoría de los dispositivos con conector USB gracias a sus puertos USB 2.0. Los accesorios de este sistema pueden ser utilizados en un ordenador  como son los mandos y el volante Xbox 360.


COMPONENTES

El principal escollo es la falta de documentación por parte del fabricante y uno de los principales problemas que teníamos es como hacer un clonado del disco duro para trabajar con una imagen sin dañar el dispositivo. Además hay que hacerlo realizando la pericia correctamente, es decir etiquetando y fotografiando todos los elementos e incorporarlos a un acta que refleje el inventario del dispositivo.

He encontrado a día de hoy un sitio (ver aquí) donde refleja fielmente los componentes de la XBOX que muestro a continuación y que a nosotros nos vinieron de maravilla y de los cuales reflejo en este post.



1.- Parte frontal


2.- Parte trasera

3.- Desensamblado


4.- Componentes

En nuestro proceso solo precisábamos extraer el disco duro así que os dejo unas imágenes del proceso


5.- Extracción del disco

Una vez extraído empezamos con la clonación pero antes de ello nos encontramos con que el formato del sistema de ficheros es distinto a lo conocido.  La copia la haremos en tres formas diferentes, lo hacemos con FTK, con 'dd' en un Linux Live CD y una de nuestras clonadoras preferidas en modo hardware como HardCopy.

Los resultados obtenidos son dos copias a ficheros RAW (uno desde Linux y otro con FTK) y una copia completa de disco a disco.

FATX

La herramienta FTK nos indica que el sistema de ficheros es FATX y que contiene seis particiones:

  1. Área de configuración del disco
  2. Área 1 de cache
  3. Área 2 de cache
  4. Área 3 de cache
  5. Ficheros de sistema
  6. Almacén de juegos

FATX es un formato propietario para la Xbox. Se asemeja a las mismas ideas básicas de diseño como FAT16 y FAT32 . Los FATX se simplifican pero son incompatibles con el tradicional FAT, por lo que es imposible montar este sistema de ficheros desde un ordenador.

FTK nos muestra lo siguiente:

Los dos primeros sectores del disco (0x400 bytes de la Data0000) dan información sobre la consola y se crea cuando el dispositivo está configurado. Contiene información sobre el dispositivo y contiene una firma.

El diseño es como sigue:

 Offset 
Longitud
Descripción
0
0x1A8
Certificado de Seguridad de la consola
0x1A8
0x80
Firma (parte del certificado de consola)
0x228
0x14
Dispositivo ID
0x23C
4 (UINT32)
Tamaño del certificado (0x228)
0x240
8 (UINT64)
Tamaño del dispositivo en bytes
0x248
4 (UINT32)
Velocidad de lectura en KBs
0x24A
4 (UINT32)
Velocidad de escritura en KBs
0x24E
0x1B2
Relleno (0x00)


La firma se deriva de un hash SHA1 considerado desde el inicio del ID de dispositivo (0x228) hasta el final de la configuración (0x1D8 bytes) y está firmado con la clave privada de la consola. Los parámetros de la clave publica están presentes en el certificado de la consola.

El Certificado de seguridad de la consola es usada por la Xbox 360 como el formato de todas las firmas RSA generadas por el mismo. La longitud total del certificado es 552 (0x228) bytes

El tamaño del certificado se utiliza para determinar cómo comprobar el archivo de configuración cuando el dispositivo está montado. Si el valor es 0x228 entonces el dispositivo se ha configurado por una Xbox y la firma es verificada usando los parámetros en el certificado de la consola, si el valor es 0x100 entonces el dispositivo está preconfigurado por Microsoft.

La estructura del disco es la siguiente:

Offset
Longitud
Información
Formato
0x2000
0x204 - 0x80000
Sector de seguridad
Binario
0x80000
0x80000000
Sistema de caché
SFCX (Cache segura de archivos para Xbox)
0x80080000
0xA0E30000
Sistema de caché
SFCX (Cache segura de archivos para Xbox)
0x10C080000
0xCE30000
SysExt
FATX ("Sub" de partición)
0x118EB0000
0x8000000
SysExt2
FATX ("Sub" de partición)
0x120eb0000
0x10000000
Xbox 1 Compatibilidad con versiones anteriores
FATX
0x130eb0000
final de unidad
Datos
FATX

El sector de seguridad es utilizado por el fabricante para comprobar que el disco duro es un producto original de Microsoft. El sector contiene detalles como el número de unidades del sector, el número de serie y el logotipo.

Offset
Longitud
Tipo
Información
0x0
0x14
cadena ascii
Número de Serie
0x14
0x8
cadena ascii
Revisión del firmware
0x1C
0x28
cadena ascii
Número de modelo
0x44
0x14
bytes
MS Hash Logo
0x58
0x4
unsigned int
Número de sectores en el disco
0x5C
0x100
bytes
RSA Firma
0x200
0x4
int firmado
MS Tamaño Logo
0x204
MS Tamaño Logo
imagen
MS Logo


También contiene la "UserAddressableSectorCount", que es lo que controla la cantidad de espacio en disco que se permite utilizar. En resumen, es lo que nos impide el uso de cualquier tamaño de disco y el poder utilizar diferente marca discos duros.


DIRECTORIOS

Los directorios se almacenan en un formato tabular, debido a que los directorios son archivos normales con el bit "directorio", se distribuirá en la FATX, por lo que puede cubrir varios clústeres. Esto hace que sea posible tener muchos archivos en un directorio.

Los atributos son los siguientes:

Offset
Tamaño
Descripción
0x00
1
Longitud del archivo nombre, o 0xE5 de archivos borrados
0x01
1
Atributos del Archivo
0x02
0x2A
nombre de archivo, ya sea rellenada con bytes 0x00 o 0xFF
0x2C
4
El primer grupo de archivos, archivos vacíos para null/0x00
0x30
4
Tamaño de archivo
0x34
2
Fecha de creación
0x36
2
Hora de creación
0x38
2
Fecha de última escritura
0x3C
2
Hora del último acceso
0x3E
2
Hora del último acceso


SISTEMAS DE FICHEROS

La Xbox 360 utiliza varios sistemas de archivos para almacenar juegos, contenido de usuario y configuraciones. Los formatos más usuales son:


  • GDFX / XSF es el sistema de ficheros utilizado en los CD / DVD.
  • STFS se utiliza para guardar juegos, perfiles, juegos de arcade, contenido descargable y más. STFS también se conoce como ficheros CON / live / PIRS 
  • SFCX  se utiliza para el almacenamiento de caché para los juegos.
  • Sistema de archivos NAND se utiliza para almacenar la bootloaders, kernel, keyvault 


HERRAMIENTAS

Antes de ponernos a realizar un análisis, vamos a preparar nuestro maletín de herramientas. Los procedimientos son los usuales y podemos emplear las herramientas típicas de búsqueda, pero en nuestro caso y dada la particularidad vamos a emplear otras que sin hacer apología de la piratería son herramientas que se encuentran en el mundo pirata, entre ellas:


  • FATX-Explorer
  • XBOX Dumper
  • HD-Fatbox
  • xplorer


Todas ellas permiten acceder al sistema de ficheros y poder ver, modificar y recuperar ficheros eliminados.


6.- Utilizando xplorer 360


7.- Utilizando FATXeplorer


ANÁLISIS E INVESTIGACIÓN

Vamos a proceder a realizar el análisis y para ello vamos por un lado a recuperar los ficheros borrados del disco clonado y vamos a realizar un backup de los datos para poder utilizar de una forma más cómoda desde un Windows y Linux  las herramientas que ya disponemos en estos entornos.

Por lo tanto procedemos con la recuperación y el backup a un disco duro USB



8.- Recuperación y backup

Una vez realizada la copia y tras horas de búsqueda nos encontramos un archivo contenedor que a su vez contiene referencias a ficheros de los juegos presumiblemente sustraídos y una vez cotejados con el responsable técnico del equipo de desarrollo nos indican que pertenece a su empresa.



9.- Uso del comando strings para ver el contenido


De los ficheros recuperados nos llama la atención un archivo "videoboy@twitter[1].txt".

En XBOX este fichero es muy importante ya que Twitter utiliza la geo-localización para permitir a los usuarios etiquetar sus mensajes (tweets) en un determinado punto, ciudad o ubicación exacta.
Curiosamente, Twitter almacena la última dirección IP publica junto con la fecha en una cookie, aunque la geo-localización no este autorizada por el usuario en la configuración de Twitter.

Una vez analizada nos encontramos con el siguiente resultado:

10.- Análisis de la cookie

La Cookie tiene un parámetro de nombre 'geo_locations' la cual nos da la IP donde presumiblemente se realizo el último mensaje y que geolocalizando corresponde a Madrid cerca donde la competencia tiene su empresa.

Por lo tanto disponemos de los ficheros fuente, del alias del twitter y la posición del último mensaje.

Si añadimos lo que hemos encontrado con diversas herramientas y entre ellas los metadatos de las imágenes os podéis imaginar como queda el resultado.


11.- Otros datos

A partir de ahí encontramos más evidencias lo cual indica que un análisis forense a una XBOX es posible aunque quizás sea algo más complejo por los elementos a buscar.

CONCLUSIONES
  • El tratamiento utilizado es idéntico al método tradicional de investigación de un PC
  • Las tareas de desensamblado fueron costosas y delicadas.
  • Se utilizaron diversas herramientas propias para el acceso al sistema de ficheros XBOX
  • Se encontró ficheros fuente
  • Disponíamos de la localización de la última vez que se envío un mensaje a twitter.
  • Fotografías realizadas desde la propia Xbox que por medio de datos Exif coincide con la localización de Twitter
  • La extracción de datos en bruto supuso 12 horas y más de 7.000 líneas obteniendo direcciones de correo de la competencia y fragmentos de adjuntos enviados por twitter.

7 comentarios:

Realmente útil. Enhorabuena y gracias por compartir.... ahora me toca probarlo durante este puente y cacharrear!!! Gracias por el aporte.

Pedro, en la imagen 10.- Análisis de la cookie, la ip está tapada de puta madre.

Grande Pedro!!

Que pena romper la garantía de la XBOX no?.

Ciao!

Muy interesante, aunque poner que es dificil de desmontar y que hay poca documentación no es del todo cierto. Existe gran cantidad de documentación al respecto tanto en foros sobre la consola como en Youtube. Y la dificultad de desmontarla (con conocimiento) es bastante simple.

Brais@: Hola Brais, gracias por participar, en cuanto a la documentación lo que pone en el post es "El principal escollo es la falta de documentación por parte del fabricante " por lo demás es como bien dices.

Saludos

Pedro

Me gusta mucho la tecnología, y disfruto de conseguir distintos dispositivos tecnológicos. Mis ultimas compras fueron una netbook, un gps y una play 3, que las utilizo no solo para trabajar, sino también en mis tiempos de ocio

Gracias por el aporte, tengo una pregunta. ¿Utilizaste una metodología especifica para la ejecución de todo?