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)>

No hay comentarios:

Publicar un comentario