Belkasoft Forensic Studio Ultimate. Conclusiones


Después de varias semanas probando Belkasoft Forensic Studio Ultimate / Evidence Center gracias a una licencia temporal que me cedieron desde Belkasoft, voy a cerrar esta serie con mis impresiones personales sobre este producto.

Hasta el momento he colgado todo estos artículos detallando las pruebas que he realizado:

Resumen ejecutivo
Belkasoft Forensic Studio (o Evidence Center) Es un software potente que requiere una inversión relativamente baja (unos 1.000 dólares USA). Si trabajas como perito informático y necesitas procesar evidencias voluminosas merece la pena adquirirlo. Cuanto más voluminosa sea la evidencia y más variados los tipos de datos a procesar más rentable resultará la inversión.
La alternativa al producto de Belkasoft es EnCase que es la referencia del sector y que cuesta cuatro veces más. Para un laboratorio donde trabajen varios peritos igual es más interesante comprar EnCase porque es mucho más popular y porque permite desarrollar extensiones a medida mediante EnScript (un lenguaje propietario).

Principales ventajas
Lo que más me ha gustado de Forensic Studio:
  • Fácil de usar, coherente, sencillo.
  • Organizado, es muy fácil clasificar información de diferentes casos o incluir en un caso varias evidencias diferentes.
  • Bastante ágil cuando se manejan volúmenes de información por debajo de 10 GB. A partir de aquí se hace cada vez más pesado aunque imagino que esto depende mucho de la configuración del sistema que estemos usando.
  • Soporta miles de pruebas, incluyendo pruebas no tan populares como sistemas de mensajería instantánea chinos, rusos, coreanos, etc.
  • Busca información "fuera de archivos": memoria, ficheros borrados, etc.
  • Permite pasar fácilmente al modo manual: visor hexadecimal, ubicación de las pruebas por desplazamiento y longitud, etc.
  • Está orientado a usuarios técnicos avanzados: permite trabajar con las pruebas recuperadas mientras el programa sigue analizando datos, se pueden repartir las ventanas en múltiples monitores, etc.
  • Muy productivo a la hora de recuperar muchísimas pruebas (aunque, a veces, provoque falsos positivos).
Funciones que estarían bien ("nice to have")
Lo siguiente no son inconvenientes, más bien algunas funciones que, después de usar el software estas semanas, me hubiese gustado añadir:
  • Posibilidad de grabar desde el propio visor hexadecimal. Cuando se localiza un trozo interesante dentro de un área de memoria (por ejemplo), se puede ver el contenido en el visor pero hay que ir al fichero original para cortar el bloque interesante. No costaría nada poder exportar el bloque de bytes "en bruto" desde el visor.
  • Herramientas de análisis personalizadas. No sé si un lenguaje de script, pero al menos algún mecanismos para añadir nuestros propios tipos de pruebas para extender el producto. ¿qué pasa si tenemos que analizar un disco duro que usa algún software no muy popular que no está soportado? Se me ocurren dos tipos de extensiones:
    • Configuración similar a la de scalpel donde puedes indicar la estructura de los ficheros a buscar, indicando una firma característica, una estructura típica, tamaño, etc.
    • Un filtro tipo strings que exporte todo el contenido que parezca una cadena de texto. 
  • Un visor para bases de datos SQLite. Está bien localizar los datos pero, como antes, sería más cómodo poder analizar el contenido desde la propia herramienta.
Inconvenientes, problemas, defectos
  • La traducción al español es horrible. Lo peor de una traducción no es que sea extraña o poco común, lo peor es que sea confusa. Si tuviese que instalar otra vez el programa lo haría directamente en inglés.
  • Las tareas que llevan mucho tiempo parecen bloquear el programa, por ejemplo, al recuperar ficheros borrados de la imagen de 100GB. Está claro que es comprensible pero sería de agradecer que el software atendiera a los eventos de Windows para que el usuario no aborte el proceso temiendo que se ha quedado colgado.
  • Durante las pruebas se ha quedado colgado una vez. Esto no es grave pero que el programa se cuelgue después de 4 horas de trabajo no debe hacer mucha gracia cuando tienes un deadline a la vista.
  • Consume un gran volumen de espacio en disco, el análisis del disco de 100GB ocupó en mi sistema 28GB. Estos no son los datos recuperados, son las referencias a los datos recuperados (lo que creció la base de datos con el nuevo caso, vamos).
  • Las pruebas extraídas de memoria (volcado de RAM, ficheros de hibernación y paginación) no se pueden exportar directamente a archivo. 
  • No detecta la información de algunas máquinas virtuales. Esto es un problema porque el uso VM se está extendiendo entre los usuarios menos técnicos.
  • Soporta varios servicios cloud pero no soporta "Ubuntu one", casualmente el que uso yo.
  • Utiliza MD5 como algoritmo Hash. Y no tiene opción para añadir otros algoritmos.
Recomendaciones de despliegue y configuración
Está claro que nadie compra e instala una solución de este tipo para fines "recreativos". Los usuarios que compran estas soluciones son profesionales cuyo trabajo depende del buen funcionamiento del mismo. Desde este punto de vista es lógico pensar que el usuario debe maximizar el rendimiento del software y minimizar los riesgos de indisponibilidad, pérdida de datos y demás incidentes. Con la experiencia de un par de semanas que acumulo, me atrevo a enumerar una serie de recomendaciones básicas a los futuros usuarios del Forensic Studio:
  • Comprar el software y contratar el mantenimiento anual. El mantenimiento sale por unos 300$ al año. Un usuario profesional de una herramienta de este tipo no se puede permitir el lujo de quedarse obsoleto o sin soporte. 
  • Utilizar un equipo específico para este software. No digo que haya que tener un ordenador para cada aplicación que usemos pero, en este caso, Forensic Studio no debería instalar en un ordenador de uso personal, un portátil o cualquier "trasto" que tengamos rodando por el laboratorio.
  • No instalar en una máquina virtual. Por prestaciones y porque añade un nivel más de drivers al acceso a los discos que puede impedir utilizar algunas funciones de exploración.
  • Prestar atención a la configuración de memoria y disco duro. La velocidad de lectura de disco es crítica y para eso yo compraría una unidad RAID externa con 4 bahías "hot-swappeables" y conectores eSATA / USB 3.0 donde poder "enchufar" los discos que se traigan del "campo de batalla". También es importante usar SATA para los discos que sean SATA: los adaptadores USB son prácticos pero pierden prestaciones (y algo de información de bajo nivel) con la traducción. 
  • Usar base de datos MS SQL Server en lugar de SQLite. Por muchos motivos: acceso multiusuario, prestaciones, copias de seguridad, herramientas de optimización, etc

Con esto doy por terminado el análisis que he podido realizar de este programa. Hope it helps!

</ Belkasoft Forensic Studio Ultimate. Conclusiones>



Belkasoft Forensic Studio Ultimate. Algunas "features" interesantes

Mensajes anteriores sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria
Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone
Belkasoft Forensic Studio Ultimate. Análisis completo de un sistema Win7
Belkasoft RamCapturer


Para terminar el repaso de Belkasoft Forensic Studio Ultimate / Evidence Center, voy a repasar algunas funciones que no había comentado. Por supuesto no he probado todas las posibilidades de este software porque (1) hay cientos de tipos de pruebas soportados, (2) no tenía evidencias de todos los tipos y (3) he probado los casos que me han parecido más "probables".

Por ejemplo no he probado cosas tan interesantes como:
  • "Gadu-Gadu": servicio IM popular en Polonia
  • "ICQ": ¿todavía hay gente usando ICQ?
  • "QQ": EL servicio IM de China
  • "Yandex Disk": Servicio Cloud originario de Rusia
  • "Odnoklassniki": El Tuenti ruso
  • "Karos": Juego on-line del que se pueden extraer los mensajes de chat
  • ... y así hasta más de 400 tipos de pruebas diferentes: la lista completa en su web

Búsquedas
Las búsquedas se hacen sobre los datos extraídos por la herramienta, es decir, los datos ya procesados. Por este motivo, si el software no extrae la información de un tipo concreto tampoco lo va encontrar la función de búsqueda. 


Como se puede ver en la imagen se puede buscar un texto "libre", expresión regular o "palabra de archivo" (parte de la ruta del archivo) o algunos tipos predefinidos. Lo más útil me ha parecido la capacidad de buscar direcciones IP y "nombres humanos" en todos los registros extraídos. Esto simplifica mucho la tarea porque puedes localizar las personas con las que ha contactado el sospechoso bien sea por e-mail, IM o en el chat de un juego. 

Fichero PCAP
No entiendo muy bien la necesidad de esto pero ahí está. El propio programa extrae de los ficheros PCAP las "conversaciones" entre dos "servicios". Para que esto funcione hay que tener una captura de tráfico. Si la evidencia procede de un delincuente es muy raro que él mismo haga capturas de tráfico. Por otra parte, si la captura la hacemos nosotros es lógico pensar que tenemos algún programa potente para analizar el tráfico capturado. 


E-MAIL
Cualquier e-mail capturado por Forensic Studio es reconocido y mostrado como tal. Esto aplica a mensajes en clientes de correo (el cliente Outlook para Exchange), en aplicaciones Web (gmail) o en volcados de memoria. En todos los casos, el mensaje se analiza y se muestran por separado cabeceras, adjuntos y texto. También se muestra el contenido "en crudo" por si no nos fiamos de la herramienta y queremos procesarlo "manualmente".


SKYPE
Uso "Skype" como ejemplo de lo que puede hacer Forensic Studio con las sesiones de mensajería instantánea. Básicamente, identifica los perfiles de los que quedan rastros en la evidencia, los interlocutores y los mensajes intercambiado con su fecha y su hora. Sencillo y rápido.




INFORMES
Todos los elementos analizados se pueden exportar en forma de informes. Se puede sacar en XML, CSV, HTML, etc. para su posterior proceso y su inclusión en nuestros documentos adaptados a las plantillas que utilicemos. En mi caso, no soy muy partidario de incluir enormes listados con un montón de información que nadie consulta y que no es realmente relevante.
En cualquier caso, adjunto un ejemplo de informe usando la plantilla HTML propia de Belkasoft. Por supuesto, se puede modificar el XSS original para personalizar la página HTML resultante.



Falsos positivos
Esto merece una mención especial. Como Forensic Studio es capaz de identificar más de 400 tipos diferentes de pruebas es bastante probable que identifique un montoncito de basura digital abandonada en un rincón del disco duro como algo significativo. En el ejemplo se ve cómo localizó un presunto chat de Nate (herramienta IM de SK Telecom, Corea del Sur), con texto en chino y todo.


El texto significa según Google Translator: "? agujero ? ? ? ? ? moverse lentamente ? ? Qi Jian ? ? Lan". 
Por supuesto, en estos caso lo apropiado es ignorar el asunto. A veces por el afán de demostrar todo lo que somos capaces de localizar incluimos en nuestros informes pruebas que no son totalmente sólidas (como este falso positivo). Es mejor, en caso de duda, no incluir algo de lo que no estamos 100% seguros. Si se incluye un dato falso en un informe, la parte contraria puede descubrirlo, ponerlo de relieve y anular por extensión todo el trabajo realizado.



Este post cierra la serie sobre el funcionamiento de Belkasoft Forensic Studio. Mañana colgaré un análisis personal resumiendo lo que más me ha gustado y lo que menos de esta solución.

Referencias a otros posts sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria
Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone
Belkasoft Forensic Studio Ultimate. Análisis completo de un sistema Win7
Belkasoft RamCapturer

</ Belkasoft Forensic Studio Ultimate. Algunas "features" interesantes>

Seguridad en Internet explicada en 4 minutos (INFOGRAFIA)



Belkasoft Forensic Studio Ultimate. Análisis completo de un sistema Win7


Mensajes anteriores sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria
Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone
Belkasoft RamCapturer


Otro caso para Belkasoft Forensic Studio Ultimate / Evidence Center. Hoy toca un caso voluminoso que suele dar pereza nada más leer la citación: analizar el contenido completo del disco duro de un ordenador. Como este es un ejemplo voy a contar el caso real y el caso de prueba que preparé para este artículo.
El caso real: lo dicho, (1) llega una citación al domicilio del perito (telegrama, correo certíficado, llamada de teléfono). (2) El perito se acerca por el juzgado, pregunta por el caso, lee en diagonal 20 páginas de un expediente de 2.000 folios, acepta el cargo y solicita una provisión de fondos. (3) Otro día con más calma vuelve el perito al juzgado, fotocopia la descripción de la prueba, algún otro dato interesante y hace un duplicado de la "evidencia digital". La "evidencia digital" es, en este caso, un disco duro lleno de polvo, "custodiado" dentro de una caja de folios, esas cajas "DIN A4, 80 g/m2". (4) El perito duplica la evidencia en otro soporte y se lleva su archivo de imagen a casa.
El caso de prueba: para esta prueba busqué imágenes que tuviera guardadas (ficheros .dd de otros casos) pero como no me parecía muy ético enseñar las vergüenzas de algún desconocido le pedí el portátil a mi sobrino (18 años, mayor de edad) y le cloné el disco duro del sistema, los otros volúmenes estaban llenos de porno, películas y juegos. Por suerte el sobrino no se negó, algo previsible porque el portátil es un regalo mío (casualmente).

Resultado: tengo en mi poder una imagen de un disco de 100 GB que contiene todo el sistema de un portátil que utiliza Windows 7. Dentro de un disco externo USB 2.0 (error). La velocidad de transferencia es clave para que las tareas de análisis no se alarguen insoportablemente.

1. Cargar la evidencia en la herramienta
Igual que en las otras pruebas comentadas en otros artículos, esta operación es inmediata:



En esta pantalla se puede seleccionar la opción calcular Hash. Utiliza el algoritmo MD5 (no es el más recomendable) y, además, lo usa de una forma un poco extraña: al realizar la extracción calcula el Hash y luego, en cualquier momento, te permite recalcularlo para comprobar que no se ha cambiado nada. Este funcionamiento podría mejorarse bastante: se podría usar un algoritmo SHA-2 y recalcular el Hash no tiene sentido si la propia herramienta no puede modificar el fichero original.

2. Resultado del análisis
Esta vez la carga de la evidencia no fue tan rápida. Teniendo en cuenta que se trataba de 100 GB, que la imagen estaba en un disco externo con un "lento" USB 2.0, que se realizó una búsqueda exhaustiva de todos los tipos de archivos y que, además, se analizó el espacio libro del disco en busca de archivos borrados... en resumen, el proceso de análisis tardó más de 4 horas. 
Este es el resultado:

Se extrajeron:
  • 302 vídeos
  • 1.003 imágenes
  • 106 documentos (Microsoft Office, OpenOffice, PDF)
  • 284.749 elementos en "Datos recuperados" (carved data), entre otros:
    • Sesiones de navegadores (Chrome, Firefox, IE)
    • Sesiones de IM (Skype, Google talk)
    • Correos electrónicos (GMail)
    • Torrents
Por supuesto, el programa extrae toda la información relevante de los datos encontrados:
  • Metadatos de fotografías y documentos
  • Fechas de modificación y acceso a los archivos
  • Contenido en hexadecimal
  • etc.
3. Algunos ejemplos
Lógicamente, no se trata de analizar todo el material obtenido, precisamente una herramienta como esta permite centrarse en la información relevante. Aquí van algunos ejemplos de contenidos encontrados.


Archivos torrent borrados. Esto es muy práctico porque lo habitual es que el fichero torrent se borre una vez descargado el contenido. 



Documentos con sus metadatos. Soporta los formatos más comunes: Microsoft Office, OpenOffice, PDF. Por supuesto se pueden extraer los archivos localizados para analizarlos manualmente, por ejemplo para abrirlos y ver su contenido. 
Aunque no lo he probado, la herramienta puede extraer documentos cifrados integrándose con Passware Kit Forensic (otros 1.000$). 



Como ya se comentó, el programa puede analizar las imágenes encontradas y localizar rostros en las imágenes, imágenes pornográficas e imágenes con texto (documentos escaneados). Esto también se puede hacer con los vídeos.


4. Conclusiones
Este caso es un ejemplo claro que justifica la inversión de 1.000$ (aprox) en la licencia de Belkasoft Forensic Studio. Analizar 100 GB a mano buscando todo lo que puedas encontrar, extrayendo información de ficheros borrados y documentar todo es un trabajo muy laborioso. Con esta herramienta ahorras bastante tiempo: consigues el mismo resultado (o mejor) y, además, te queda más tiempo para dormir o para trabajar en otros casos.

Un uso profesional de esta herramienta requiere un equipo preparado para ello. Lo más importante es, sin duda, disponer de discos rápidos (y voluminosos) tanto para las evidencias como para el propio programa. Para cargar las evidencias yo compraría una unidad RAID externa con 4 bahías "hot-swappeables" y conectores eSATA / USB 3.0 donde poder "enchufar" los discos que se traigan del "campo de batalla".

También es importante la velocidad y el volumen de los discos del sistema donde esté instalado. El uso de SQLite parece, a ojo, menos ágil que una base de datos MS SQL Server. Por supuesto, el SQL Server es obligatorio para instalaciones multi-usuario.
También el volumen de almacenamiento disponible es importante, el análisis del disco de 100 GB ocupó 28 GB en disco.

Utilizar MD5 para los "hashes" de las evidencias es un poco obsoleto. Aunque sólo sea para que el perito no tenga que poner en su informe que usó "una función criptográfica segura para verificar la autenticidad de la evidencia: MD5".

En este caso, el software ha dado muestras varias veces de estar a punto de quedarse colgado aunque, finalmente, sólo una vez se bloqueó totalmente. Las demás ocasiones, simplemente se queda bloqueado varios minutos hasta que termina la tarea en curso (esto también se podría mejorar).

En próximos días escribiré sobre otras "features" curiosas de este producto y colgaré un análisis personal resumiendo lo que más me ha gustado y lo que menos de esta solución.

Referencias a otros posts sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria
Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone
Belkasoft RamCapturer

</ Belkasoft Forensic Studio Ultimate. Análisis completo de un sistema Win7>

Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone

Mensajes anteriores sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria
Belkasoft RamCapturer


Sigo documentando las pruebas que he podido realizar con este producto (Belkasoft Forensic Studio Ultimate / Evidence Center). Hoy toca una prueba muy sencilla: análisis de una tarjeta de memoría de un Smartphone. Obviamente existen productos específicos para analizar dispositivos móviles como el estupendo (y caro) Oxygen Forensic Suite. Sin embargo, para algunas tareas básicas con móviles, Forensic Studio es más que suficiente.

En este ejemplo el objetivo era extraer las fotos contenidas en un móvil y cualquier información asociada a las mismas (localización, fecha de la captura, etc). Aquí me gustaría hacer un inciso para contar dos cosas:
La discreción de los peritos: no recuerdo que ningún abogado, secretario judicial, oficial o similar me haya exigido explícitamente discreción. Pero el sentido común me dice que no estaría bien que yo colgara aquí información de terceras personas que además constituyen pruebas de un proceso. Por eso todo lo que cuelgo procede de mis propios equipos, o de ejemplos creados a medida. 
El efecto CSI: se define así a las sobre-expectativas que algunos legos y/o profesionales de la carrera judicial depositan en las pruebas forenses. No todos los hechos ciertos pueden respaldarse con pruebas periciales irrefutables, a veces simplemente no se puede demostrar todo lo que sucedió (aunque ocurriera). En este caso pidieron a este perito que extrajera las fotos contenidas en un soporte digital (una tarjeta SD) y documentase la localización y el momento en que esas fotos fueron obtenidas. Por desgracia, el "malo" no sólo no tenía activada la localización en su móvil, sino que además muchas fotos procedían de una cámara tan obsoleta que no tenía GPS (y cuyo reloj estaba retrasado varios años).    
1. Cargar la evidencia en la herramienta
Como se trata de una tarjeta de memoria (una tarjeta clonada de la evidencia original depositada en el juzgado) simplemente la conecté a mi equipo después de poner la pestaña en posición "read only". Abrí la herramienta, creé un nuevo caso y elegí el origen.
Para el Evidence Center, los discos externos (USB, FireWire, tarjetas de memoria, etc.) son discos lógicos. Los discos físicos son los que tienen interfaz SATA/eSATA. 


Luego se selecciona dentro del perfil los elementos que queremos recuperar. Como siempre es mejor seleccionar de más que de menos.

Una vez seleccionado el contenido a extraer, el análisis comienza automáticamente. Por defecto, la herramienta extrae los ficheros visibles (accesibles desde el sistema de archivos) pero se pueden recuperar archivos que han sido borrados. Utiliza el sistema de "carving" basado en firmas de formatos conocidos (proceso similar al que usan conocidas herramientas como scalpel y foremost, por ejemplo). Belkasoft ha dejado la opción sin traducir ("carve device") pero el resultado lo ha traducido como "archivos recuperados" (hay traducciones que ayudan menos que el original, en ruso).




2. Resultado del análisis
Como se ve en la imagen siguiente, se recuperaron 2.241 imágenes en ficheros normales y 22.121 en ficheros borrados (localizados mediante carving). Además, automáticamente clasifica las imágenes en varias categorías: "imágenes con datos GPS (0)", "imágenes con metadatos (566)" e "imágenes de gran tamaño (420)". 


Como se puede ver, esto ahorra mucho tiempo al perito porque se puede centrar en las imágenes con metadatos y/o datos de GPS. Por supuesto, una vez localizadas las imágenes "interesantes" se pueden exportar todos los datos a un archivo y guardar la imagen original para insertarla en el informe pericial.

3. ¿caras? ¿texto? ¿porno?
Una funcionalidad un poco sorprendente, excepto si tienes que revisar miles de fotos, es la detección automática de caras, imágenes pornográficas o textos (páginas escaneadas y cosas así). Esto funciona tanto con imágenes como con vídeos. Para los vídeos el sistema identifica, primero, los key frames de las secuencias de vídeo y, luego, aplica el filtro de las imágenes.


Estos filtros funcionan bastante bien (aunque generan bastantes "falsos positivos"). Parece lógico pensar que se trata un requerimiento de una fuerza de seguridad de algún estado que no quiere que sus expertos pierdan el tiempo viendo fotos. 

4. Conclusiones
En resumen, el trabajo con Forensic Studio para analizar un sistema de archivo en busca de imágenes y sus metadatos es muy sencillo y rápido. Todo el proceso es muy simple pero, realmente, no sabría valorar el ahorro que supone respecto de un análisis manual. Desde luego, la clave está en el volumen de archivos a analizar y el esfuerzo que suponga hacer el análisis manualmente.

En próximos días escribiré sobre el análisis de un sistema Windows 7 completo y otras "features" curiosas de este producto.

Referencias a otros posts sobre este mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft RamCapturer
Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria

</ Belkasoft Forensic Studio Ultimate. Análisis de tarjeta de memoria de un Smartphone>

Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria


En el post anterior (Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys) comentaba que una limitación del manejo de volcados de memoria es que no permite exportar los elementos localizados dentro de los archivos, como por ejemplo las imágenes. 

Por supuesto no es complicado hacerlo manualmente, especialmente porque lo que sí hace Forensic Studio es documentar la posición de la imagen dentro del archivo. 

El procedimiento es realmente sencillo. Lo primero es localizar la imagen que nos interesa usando el navegador de Forensic Studio. Se activa la previsualización y se va recorriendo la lista de imágenes hasta localizar la que nos interesa.




Una vez localizada la imagen, en el visor hexadecimal vemos su contenido. Como se trata de un JPG empieza por 0xFFE0, luego viene la longitud, y por fin la etiqueta "JFIF". Por otra parte, en la pestaña de propiedades se puede consultar la longitud y posición del elemento dentro del archivo (en este caso el pagefile.sys).

Ahora sólo tenemos que abrir el fichero pagefile.sys con nuestro editor hexadecimal preferido (HxD, claro), seleccionar el bloque indicado y guardarlo como imagen con su extensión .jpg y todo.


Ya tenemos la imagen en un archivo preparado para adjuntarlo o insertarlo en nuestro informe pericial. 

</ Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria>

Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)

Mensajes anteriores sobre el mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft RamCapturer


Siguiendo los mensajes anteriores voy a documentar las pruebas que he podido realizar con este producto (Belkasoft Forensic Studio Ultimate / Evidence Center). Se trata de pruebas realizadas con el producto real con una licencia de un mes, por lo que  el comportamiento de la herramienta es el mejor posible (no es una versión demo con limitaciones ni una beta con errores puntuales). Al final de esta serie colgaré una entrada con mis impresiones personales sobre este producto.

Empiezo con el análisis de "ficheros de memoria". He agrupado volcados de memoria (obtenidos con Belkasoft RamCapturer) con análisis de los ficheros hiberfil.sys y pagefile.sys porque el funcionamiento es similar en todos los casos.

1. Obtener el fichero de memoria
Estamos hablando de ficheros en entorno Windows, "por supuesto". Los ficheros hiberfil.sys (hibernación) y pagefile.sys (paginación) se encuentran en el directorio raíz de la unidad de sistema de Windows (C:\). El volcado de memoria RAM se puede obtener con una herramienta como Belkasoft RamCapturer (ya expliqué cómo).
Existen otras herramientas para obtener la imagen de memoria (mdd, pmdump, etc.). A mí personalmente me parece que la herramienta de Belkasoft es la mejor de todas las que he probado. pmdump, por ejemplo, sólo extrae la memoria asociada a un proceso. Otras herramientas funcionan en modo usuario por lo que no pueden extraer toda la información de la memoria o la información protegida de algunos procesos.
Los ficheros hiberfil.sys y pagefile.sys se copian "normalmente" (siempre que no se intente copiar los ficheros usados por el sistema en uso). En mi caso como había arrancado el sistema con una distribución linux desde un disco duro externo, simplemente monté la partición de Windows y copié los archivos a otra unidad.

2. Manejo básico de Forensic Studio
El funcionamiento del Forensic Studio (o Evidence Center) es bastante intuitivo. El punto de partida es entender algunos conceptos utilizados (y su, a veces anti-intuitiva, traducción al español).
  • Caso: Bueno, este concepto si está claro. Podemos agrupar el trabajo en casos y un caso puede contener el análisis de varias evidencias de varios tipos procedentes de varios equipos.
  • Perfil: Define el tipo de análisis que queremos hacer. Básicamente, sirve para "afinar el tiro" y buscar sólo la información relevante al tipo de perfil. Por ejemplo, el perfil "Dropbox" restringe la búsqueda de evidencias a los archivos que están sincronizados en Dropbox.
  • Fuente: Es el contenedor de la evidencia, puede ser una carpeta con archivos "en bruto", una imagen de memoria, un disco (lógico o físico), una imagen de un disco (fichero .dd), etc. 
  • Historial: Para Belkasoft el historial de "algo" es un conjunto de elementos (items) que están relacionados. Por ejemplo, en una conversación Skype el historial son los mensajes intercambiados.
  • Datos recuperados: se entiende mejor en inglés: "Carved data". Esto es información recuperada mediante "fuerza bruta". Es el mecanismo habitual para analizar volcados de memoria o ficheros borrados (mediante la búsqueda de firmas en sectores marcados como libres).
  • Buscadores: lo mismo, "browsers" en inglés. Es decir, navegadores Web.

3. Cargar los ficheros origen en la herramienta
El proceso es bastante sencillo una vez que se tienen claros los conceptos básicos explicados anteriormente.

Para empezar, Forensic Studio siempre necesita un caso para trabajar. Así que hay que elegir un caso o crear uno nuevo.



El proceso para incorporar la evidencia al caso consiste en "buscar perfiles". En este caso, se selecciona el fichero donde se guardó el volcado de memoria. El proceso es el mismo para incluir el pagefile.sys o el hiberfil.sys.


Después se puede acotar la búsqueda indicando los elementos (o "historiales") que queremos recuperar. La lista es enorme y, excepto si estamos buscando algo muy concreto, lo más cómodo es seleccionar todo.

Después de un par de clicks en "Siguiente" con todas las opciones activadas, el análisis comienza. Mientras el análisis está en curso se puede navegar por los elementos según se van recuperando.

Cuando se trata de procesar imágenes de memoria el procedimiento usado por Forensic Studio es "fuerza bruta" y, por eso, los elementos recuperados se agrupan debajo del concepto "Datos recuperados" (Carved data). 

4. Posibilidades del análisis
El análisis completo de un fichero de 4GB tardó menos de 5 minutos en mi portátil "de trabajo" (HP con Intel i3, 8GB de RAM, Windows 8 pro). En total, se encontraron 21.444 elementos en un fichero que contenía el volcado de 4 GB de memoria. No está nada mal.

A partir de aquí, el perito sólo tiene que navegar por el árbol localizando información interesante. En este caso, se encontró:
  • Sesiones de los navegadores. Incluyendo URL, fecha de la visita, título de la página.
  • Imágenes cargadas en memoria. Al tratarse de memoria dinámica, la captura suele perder parte de la información por el camino.
  • Bases de datos SQLite en memoria.
  • Mensajes de correo electrónico. En este caso, por ejemplo, mensajes de GMail.
Por cada elemento se pueden ver sus propiedades, el contenido en hexadecimal y una previsualización (si es una imagen). Es importante recalcar que el programa informa de la ubicación del elemento en el archivo (desplazamiento y longitud) para que el perito pueda reproducir la recuperación manualmente. A continuación se muestra una imagen y un email (de gmail) "cazados" por Evidence Center.


En esta última imagen se ve que el programa ha localizado 222 elementos dentro del hiberfil.sys (6 GB) y 237 dentro del pagefile.sys (8 GB). También se puede ver que hay un "falso positivo" al localizar una sesión de Nate que no existía realmente. Nate es un servicio de mensajería instantánea de SK Telecom, Corea del Sur.

5. Conclusiones, limitaciones, mejoras, puntos fuertes
En resumen, el trabajo con Forensic Studio para analizar información de memoria (capturas de memoria RAM, ficheros hiberfil.sys y pagefile.sys) es muy sencillo y efectivo. Una vez instalado el software, crear un caso y cargar los ficheros es cuestión de minutos. El análisis realizado por el software se completa en cinco minutos y, después de eso, es cuestión del perito seleccionar las evidencias a procesar y documentarlas en el informe.

Puntos fuertes:
  • Robustez y fluidez. El software no ha fallado nunca al manejar estos ficheros (4, 6 y 8GB). El único bloqueo se produjo con una imagen de 100GB (se contará más adelante en otra entrada)
  • Localiza fácilmente los elementos más relevantes.
  • Apto para análisis más avanzados: visor hexadecimal, localización de los elementos dentro de la evidencia (desplazamiento y longitud)
Limitaciones:
  • El diseño del software está preparado para buscar elementos conocidos (chats, sesiones Web, e-mails, imágenes, etc.). Esto facilita el trabajo pero impide localizar elementos no soportados (por ejemplo, contenido de máquinas virtuales, archivos en nube de servicios no soportados, etc.). Personalmente, añadiría un parser básico para localizar texto a lo largo de toda la imagen (un "Strings") y añadiría algún tipo de parser personalizable para extender los tipos soportados (indicando una firma y el algoritmo para calcular su longitud, por ejemplo).
  • El método "Datos recuperados" (Carved data) puede dar falsos positivos. Esto no es una limitación, ya que es inevitable, pero puede arruinar el informe de un perito poco preciso. Me imagino el ridículo del perito defendiendo que el acusado brasileño (por ejemplo) mantuvo una sesión de chat en chino usando un servicio de mensajería de un operador coreano.
  • Los elementos mostrados cuando se trata de análisis de "Datos recuperados" (Carved data) no se pueden exportar desde la herramienta (sólo exporta la descripción del mismo pero no el contenido). Seguramente se trata de una decisión de diseño pero obliga a un tratamiento manual fuera de la herramienta si queremos incorporar el contenido al informe. He descrito el proceso manual para, por ejemplo, extraer una imagen: Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria

En próximos días escribiré sobre el análisis de otras fuentes y otros tipos de "historiales".

Referencias a otros posts sobre este mismo tema:
Belkasoft Forensic Studio Ultimate. Introducción
Belkasoft RamCapturer
Belkasoft Forensic Studio Ultimate. Reconstruir imágenes desde un volcado de memoria

</ Belkasoft Forensic Studio Ultimate. Análisis de ficheros de memoria (RAM DUMP, Hiberfil.sys y pagefile.sys)>