DFIR - HUNTING

.

KILL CHAIN, DIAMOND, RESILIENCE, DETECT...

Normas, métodos, buenas prácticas.

SONDAS, AMENAZAS, INCIDENTES, ANALISIS

Productos, configuraciones y análisis.

CYBERWARFARE, GOBIERNOS, APT AVANZADO

Los mejores casos en Conexión Inversa.

CIBERGUERRA, MALWARE

Te contamos como se diseñan y como se aplican.

ATAQUES EN RED, INTRUSIONES, MALWARE Y APTs

Todo lo necesario para minimizar el impacto.

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.

jueves, 4 de octubre de 2012

CLOUD FORENSICS (La nube, Amazon y el análisis forense)

Hola lectores,

Ni que decir tiene las ventajas de vivir en la nube, prácticamente todo se desarrolla bajo esta nueva forma de acceder a los datos y aplicaciones, La irrupción de estos servicios han cambiado la forma tradicional de trabajar y ahora los datos se encuentran distribuidos en cientos o miles de servidores. El acceso universal, los datos al momento y el auge del ancho de banda nos permiten otras reglas del juego inimaginable hace unos años. 

La nube no es algo nuevo es una reinvención (como muchas cosas del mundo de la informática) recuerdo mis diez años en  banca y ya apreciábamos el concepto de nube. ¿Qué es si no el dinero digital? Cuando haces un ingreso en tu oficina tus euros se reconvierten en ceros y unos y son distribuidos en discos por el ciberespacio.

Recuerdo que a finales de los años 90, los técnicos de Amazon se dieron cuenta que tenían una gran infraestructura pero que apenas utilizaban un pequeño porcentaje de su capacidad. Más tarde presentaron los Servicios que hoy ya conocemos e inundando de conceptos como IaaS, SaaS, LaaS.

Pero las ventajas son evidentes y están ahí, ahorro de costes de infraestructura, copias de seguridad, delegación en la continuidad de negocio, etc.

PROBLEMÁTICA DEL CLOUD

Al hacer uso del cloud computing una parte importante de la seguridad del sistema recae sobre la empresa que provee los servicios en la nube y como no le aplica la LOPD y su reglamento., LSSI y el código penal en el caso de que estuviera en España. Pero ante un caso de fraude de los muchos que conocemos la cosa se puede complicar hasta extremos inimaginables.

En el caso tradicional en el que el perímetro estaba más o menos controlado tenía cabida el análisis forense de una forma exhaustiva, pero ahora que el perímetro se ha extendido hacia la nube nos deja un problema mayor.




En el caso de que los datos se encuentren en la nube y tengamos que analizar un caso de fraude nos vamos a encontrar con la siguiente problemática:

  • No disponemos de control de datos
  • No hay acceso a la infraestructura física
  • Debemos de contemplar aspectos legales de la jurisdicción entre países y multipropiedad (Proveedor del servicio - Cliente)
  • Falta de herramientas para ampliar la escala (Copia de discos, integridad ,análisis)
  • Sistemas distribuidos y virtuales (y lo que es peor, compartidos con otras empresas ajenas al fraude)
  • No hay interfaces estándar( ya que cada proveedor de la nube utiliza los propios o APIs públicas)
  • Normalmente no suelen cooperar (Normalmente requieren actuación judicial)
  • Dificultades en la obtención de pruebas forense (Obtención de logs, explotación, evidencias dispersas)
  • Dificultad de constatar esas pruebas en los tribunales (Normalmente el proveedor del servicio utiliza sistema de almacenamiento distribuido y que cambia según necesidades)
Por lo tanto podríamos decir que la visión tradicional de un caso forense está muy complicada en un entorno 'Cloud'. Para ello me vais a permitir poner un ejemplo que escenifique todo esto:

ADQUISICIÓN DE DISCOS EN LA NUBE DE AMAZON

Consideremos un ejemplo, donde un ordenador se ha utilizado para planear un asesinato. Si la policía retira el disco duro para la realización de las  imágenes, deben de confiar en su hardware clonador para leer el disco correctamente. Si se ejecutan herramientas forenses en el equipo en vivo, puede que tengan que confiar en la integridad del sistema operativo anfitrión, además del hardware. Es decir es una confianza limitada a sus aptitudes y equipamiento.

Si el equipo sospechoso es alojado en la nube (por ejemplo en Amazon), se tienen que pedir permisos judiciales para su acceso, por lo que el tiempo se maximiza. Por otro lado las herramientas forenses que dispone la policía no son adecuadas para la clonación y a buen seguro que no se fían del proveedor del servicio para la ejecución de programas forenses en un caso tan delicado como es un asesinato.

Entonces dado que el equipo está en Amazon, consideremos ahora cómo llevar a cabo una extracción del disco de IaaS de cloud computing, considerando las posibilidades que tenemos.

Previamente debemos entender la nomenclatura que utiliza Amazon y de la cual he creado una diapositiva para su mayor comprensión de las definiciones S3, EBS, EC2 y AMI


El paso principal una vez ya iniciada la sesión en Amazon Web Services, es analizar una copia del volumen, o una instantánea. En Amazon los discos duros virtuales son llamados Elastic Block Storage (EBS) y los volúmenes Simple Storage Service (S3), y aunque no están disponible para su descarga podemos hacer lo siguiente.

POSIBILIDAD 1

  • Crear una instantánea de una unidad  





  • Una vez creada la instantánea, crear un volumen sobre ella, adjuntar el nuevo volumen como solo lectura y luego crear una imagen de disco del volumen que en este caso podría ser descargado. Para ello podemos emplear la siguiente secuencia de comandos:

  • # ec2-bundle-vol-k <private_keyfile> -c <certificate_file> -u <user_id>
    NOTA:  El <private_keyfile> es el archivo que contiene la clave privada, <certificate_file> es el archivo que contiene el certificado y <user_id> es el ID asociado con su cuenta de AWS.


POSIBILIDAD 2
  • La segunda posibilidad es para separar el volumen del host que se investiga, adjuntarle a una instancia en EC2 Linux, y utilizar una copia de bajo nivel (por ejemplo la herramienta dd ) para crear una copia que puede ser almacenado en S3 y en última estancia descargarlo.
  • Una vez que disponemos del disco su examen es idéntico al que haríamos con nuestras herramientas de toda la vida. Por otro lado como nos podemos conectar por SSH o RDP en Windows podemos utilizar volcados de memoria a disco o procesos en concreto.
POSIBILIDAD 3
  • Amazon ofrece un servicio (AWS) para exportar datos de S3 en un dispositivo físico y enviarlo al solicitante. Extrae y transfiere los datos a dispositivos de almacenamiento utilizando la red interna de alta velocidad de Amazon, sin tener que pasar por Internet.
  • El cliente debe proporcionar el dispositivo de almacenamiento y se cobra entre 80$ y 140$ (depende el tamaño) por dispositivo de almacenamiento utilizado. Además 2,49$ de datos por hora.
  • La petición se realiza desde el panel de control y se genera lo siguiente durante la realización del proceso
  • AWS guarda un informe del registro de exportación en su compartimento de registro específico. El informe contiene información por archivo, que incluye la fecha y la hora de la transferencia, la situación de su dispositivo de almacenamiento, la suma de comprobación de HASH y el número de bytes.
  • El problema es que no manda un clonado de disco tan solo los datos copiados.

OTRAS POSIBILIDADES - UTILIZANDO FTK

En este caso lo mejor es utilizar una suite de herramientas que permitan el volcado del disco para su posterior análisis. Hemos utilizado la suite FTK de Accesdata y más en concreto RDMS (Remote Data Mounting Services) que permite  la capacidad de adquirir una imagen forense de una unidad remota física o lógicas. Como curiosidad la transmisión utiliza SSL para el envío de datos entre el agente y el equipo del analista.

Los pasos son sencillos:

Añadiendo el agente

Añadiendo la ip y el puerto del agente

Instalación

Objetos que se pueden recopilar

Adquisición de imágenes y generación de huella

Una vez seleccionadas las opciones empieza la transferencia a nuestro equipo desde la nube. El tiempo de transferencia es considerable dependiendo del ancho de banda. Cuando tengamos el disco es cuestión de aplicar nuestras técnicas de análisis.

FORENSICS CAPABILITY MODEL

No nos asustemos, no he inventado un estándar, solo que el titulo me ha parecido correcto dado que visto como evoluciona el servicio informático habrá que diseñar un conjunto de estrategias para que proveedores del servicio y clientes puedan disponer de un framework donde tenga cabida el análisis forense y poder determinar pistas en caso de fraude.

Desgraciadamente muchas de las herramientas que disponemos del estilo 'open source' dejarán de tener uso al no disponer de control de los routers, cortafuegos o simplemente los logs de acceso. Deberemos de tener una política clara en la parte legal y en la parte de la empresa habrá que pensar que la fuga de datos es más sencilla que nunca.

Por lo tanto, es conveniente:
  • Disponer de un sistema centralizado de logs de infraestructura y logs de aplicación.
  • Un sistema de análisis de eventos basado en la información proporcionada por los logs
  • Un sistema de patrones e inteligencia
  • Tecnología DLP para el puesto de trabajo y dispositivos móviles
  • Procedimientos para empleados y proveedores del servicio
  • Procedimientos legales y técnicos para la adquisición de datos o discos en la nube y/o su cadena de custodia
  • Procedimientos de cifrado de la información a subir a la nube y de borrado seguro de estos una vez que no se necesitan.
Mientras tanto deberemos de hacer una reflexión y pensar si los que nos suministran servicio en la nube cuentan  con medidas de seguridad fiables. De lo contrario, el servicio perderá a todos sus clientes. Está en su interés emplear las técnicas más avanzadas para proteger los datos de sus clientes ya que el próximo fraude que está por llegar esta en la nube.

Análisis Forense en profundidad 2.0 - Nuevo Curso -

Buenas lectores, De nuevo y de la mano de @securizame llega una nueva entrega del curso "Análisis Forense en profundidad 2.0" ...