Buenas a todos!! He tenido la oportunidad de probar una herramienta forense de la que seguramente habréis escuchado hablar. Se trata de Belkasoft Evidence Center, una suite que nos permite realizar un análisis forense de diversos tipos de evidencia, desde dispositivos de almacenamiento (o imágenes adquiridas de los mismos) hasta adquisiciones de dispositivos móviles.
En esta entrada recorreremos sus principales características y analizaremos las bondades que nos ofrece 🙂 Vamos a ello!
Creación de un caso e importación de la imagen de disco
En primer lugar, podremos hacer click en el botón correspondiente a Caso nuevo que puede localizarse fácilmente como el primer botón en la barra de herramientas superior.
Se nos pedirán algunos datos típicos de las investigaciones forenses, véase un nombre del caso, el directorio donde lo guardaremos, el nombre del investigador y el huso horario que se utilizará a la hora de visualizar las marcas de tiempo en el programa. Asimismo, podemos proporcionar una breve descripción del caso.
Una vez hagamos click en Create and open se nos abrirá una ventana pidiendo que agreguemos las evidencias del caso. Como puede verse, podemos agregar diversos tipos de evidencia:
- Imagen de disco, ya sea en formato E01, AFF, DD…
- Una unidad de almacenamiento del sistema (como podría ser un disco clonado).
- Una imagen de adquisición de backup de un dispositivo móvil, incluso si se adquiere mediante JTAG, chip-off o herramientas de terceros como UFED.
- Una imagen de memoria, ya sea un dump o bien un fichero pagefile.sys o hiberfil.sys.
- Una carpeta que pueda contener ficheros de prueba.
Por otra parte, también se nos presenta la opción de adquirir y analizar in-situ una ufffnidad de almacenamiento, un dispositivo móvil o incluso realizar una adquisición de una cuenta de almacenamiento en la nube.
En nuestro caso agregaremos una imagen de prueba, que consiste en un fichero VMDK de una máquina virtual Windows 7 creada para éste fin.
Como se puede ver también, puede seleccionarse realizar un análisis de datos para encontrar artefactos (predeterminado y conveniente) y aparte realizar una búsqueda de ficheros cuyo hash coincida con un valor en una base de datos de hashes en el programa. Esto puede ser muy interesante si buscamos un indicador de compromiso o IOC concreto en nuestra investigación.
Puede también realizarse un análisis comparativo que nos indicará si alguno de los artefactos descubiertos en el caso aparece también en otro que hayamos tratado anteriormente.
Se nos pregunta a continuación el tipo de información que queremos obtener de la prueba. Tenemos una selección de opciones disponibles muy grande. Tendremos que utilizar la lógica de todos modos para deseleccionar las opciones que seguramente no nos interesen, como por ejemplo la búsqueda de datos de navegadores móviles o de MacOS, dado que trabajamos con una imagen Windows.
Un punto de mejora del programa podría ser no tener todas estas opciones preseleccionadas si puede autodetectarse que se trata de un sistema de ficheros con un sistema operativo Windows.
Nos permite seleccionar las opciones Analyze y Carve. La primera nos servirá para realizar un recorrido y análisis de cada uno de los ficheros del sistema analizado y para intentar recuperar ficheros e información en los sectores no utilizados del sistema de ficheros. La segunda nos permitirá recuperar información borrada buscando en el espacio marcado como sin utilizar del sistema de ficheros, haciendo uso de una base de datos de firmas de tipos de fichero.
Un detalle que me ha hecho especial gracia es la búsqueda de datos de juegos online, como puede ser World of Warcraft 🙂
Una vez hagamos click en Finish se nos preguntará si deseamos agregar otra fuente de información. De momento, indicaremos que no y nos concentraremos en el análisis del disco.
Automáticamente veremos que se nos abre una pestaña del explorador de proyectos o Case Explorer y poco a poco veremos aparecer los diferentes artefactos en la parte izquierda. Asimismo en la parte inferior podemos ver el número de tareas en ejecución. Haciendo click en dicho indicador podemos ver en detalle qué operaciones son y en qué estado se encuentran, con mayor nivel de detalle si seleccionamos cada una de ellas, dentro de la pestaña Task Manager.
Como comentarios, para una imagen VMDK de 40GB el uso de memoria RAM y CPU no fue para nada excesivo en comparación con otros productos que he probado y sin llevar excesivo tiempo en completar todas las tareas (40 minutos en un procesador moderno). Además el programa no se bloquea en ningún momento del análisis. La herramienta parece estar muy bien optimizada.
Un punto interesante es que de forma automática encuentra y analiza el fichero pagefile.sys contenido en el sistema de ficheros de Windows, que analiza como una prueba de memoria adjunta al disco en el Case Explorer y pudiendo recuperar, entre otros datos, información de los ficheros cargados o logs del sistema en dicha memoria de intercambio, en este caso de la herramienta de evaluación de rendimiento WinSAT.
Resumen del análisis en Overview
Una vez acabadas todas las tareas de análisis, accederemos a la pestaña Overview, donde tendremos agrupados por categorías los elementos más interesantes y resaltables de la extracción.
Estos elementos se encuentran agrupados a alto nivel; si queremos buscar algo específico, debemos ir a la pestaña Case Explorer como veremos más adelante.
Como podemos ver, aquí podemos encontrar rápidamente la información más jugosa. Encontramos por ejemplo la configuración de red de la máquina bajo Network, como se ve en la imagen anterior. Podemos encontrar también, por ejemplo, las cuentas de usuario registradas en el sistema operativo bajo Windows/Windows accounts:
Muy interesante, las aplicaciones instaladas registradas en el sistema bajo Registered Applications y las tareas programadas bajo Scheduled Tasks, pudiendo localizar rápidamente elementos potencialmente maliciosos:
También podemos encontrar información interesante sobre el hardware del sistema bajo Mounted devices y Connected Usb devices.
Por lo demás, también se nos mostrarán agrupadas a alto nivel las imágenes, vídeos, documentos y más elementos. Sin embargo, dejaremos la inspección de éstos al Case Explorer.
Análisis de artefactos en Case Explorer
Si nos dirigimos ahora a la pestaña Case Explorer nos encontramos con los siguientes tipos de artefacto extraídos de la imagen de disco:
- Datos de explorador web.
- Documentos.
- Ficheros cifrados.
- Mensajería instantánea.
- Buzones de correo.
- Otros ficheros.
- Imágenes.
- Ficheros de sistema.
- Vídeos.
Es una selección bastante estándar de elementos que podrían interesarnos de cara a realizar el procedimiento forense. Dentro de cada uno de los apartados tenemos una serie de subcategorías que nos permitirán consultar tipos más concretos de elemento.
Cabe destacar que muchos de estos elementos serán falsos positivos, un hecho muy común en este tipo de herramientas cuando realizan tareas de carving basadas en firma. Tocará como es habitual inspeccionar estos elementos manualmente en caso de querer realizar un examen forense completo de la imagen.
Si seleccionamos una subcategoría, nos aparecerá a la derecha una galería o una lista con los diferentes elementos encontrados de la misma. Al seleccionar cada uno de ellos nos aparecerán las propiedades del mismo, tales como el tipo de fichero, su nombre, el path del mismo, su offset y tamaño y sus tiempos MAC (Modified, Accessed, Created).
Podríamos encontrar otro tipo de datos más concretos de la subcategoría, como por ejemplo las dimensiones de una imagen y su preview en una pestaña separada. Aparecen también datos relacionados con el análisis, como la prueba de la que se origina y una pestaña que nos permitirá observar el elemento en código hexadecimal.
Un ejemplo de visualización de imágenes:
Visualización de documentos, en este caso un fichero RTF:
En cualquier caso, podemos abrir de forma externa el elemento que estamos inspeccionando haciendo click en él en la galería. Además nos ofrece varias opciones si hacemos click derecho en el elemento, tales como crear un reporte específico para el elemento o los seleccionados, guardarlo en una base de datos local, etc.
Especialmente interesante es la categoría System Files, en la que podremos encontrar entre otros los hives de registro tanto del sistema como de cada uno de los usuarios del mismo.
Podremos por ejemplo explorar los usuarios presentes en el sistema en el hive SAM o las tareas programadas bajo el hive SOFTWARE. De t odos modos, la inspección del registro podremos hacerla de forma más fácil e intuitiva en el Registry Explorer como veremos más adelante.
Inspección del sistema de ficheros en File System
En esta pestaña podremos visualizar el árbol de directorios y ficheros de la prueba, en este caso del sistema de archivos que contiene el sistema Windows. Incluye, por supuesto, los ficheros ocultos.
En la parte inferior tenemos un desplegable de características del fichero que tenemos seleccionado en ese momento. Tenemos de nuevo el path del fichero relativo al proyecto, los tiempos MAC y el tamaño del mismo. Adicionalmente tendremos una pestaña que nos permite realizar una visualización del fichero en formato hexadecimal.
Sin embargo, en esta pestaña no se nos permite observar el texto plano del fichero como sí que se nos permitía en Case Explorer. Un punto de mejora podría ser permitir previsualizar el texto del fichero, dado que muchos de ellos no se reconocerán a priori como ficheros de texto pero podrán extraerse strings de ellos, más fáciles de ver en una pestaña específica que en el correspondiente hexadecimal. Lo que sí se permite, como se ve en la imagen anterior, es seleccionar porciones del visor hexadecimal y automáticamente decodificarlas. Permite también copiar el texto del fichero haciendo click derecho en el mismo y seleccionando dicha opción.
Inspección del registro
Evidence Center tiene también una funcionalidad de inspección del registro a partir de los hives conseguidos en el análisis del sistema de ficheros. Para ello, debemos primero exportar dicho hive desde la pestaña File System. Tomaremos como ejemplo SOFTWARE.
Haremos click derecho en él y seleccionaremos la opción Copy files to folder. Seleccionaremos el directorio destino de la exportación y aceptaremos el diálogo.
Hecho esto, abriremos la pestaña Registry Viewer abriendo el menú View y seleccionando dicha opción. Al abrir la nueva pestaña se nos abrirá un diálogo pidiendo que introduzcamos el fichero de hive a leer y se nos mostrará inmediatamente en forma de árbol, de forma muy similar a la utilidad regedit.
Al recordar al regedit de Windows el manejo es intuitivo, pero echo en falta poder abrir directamente el fichero de registro desde algún menú contextual en File Explorer y ahorrar el proceso de exportación e importación del hive.
Línea de tiempo
En la pestaña Timeline tendremos una gráfica en la que se nos muestran todos los eventos detectados en los artefactos de la adquisición, ya sea a partir de logs de eventos, modificación de ficheros o cualquier otro cambio relevante.
Aunque la gráfica puede darnos una idea muy útil acerca de los volúmenes de actividad en el tiempo, podría ser mejor hacer click en el botón del medio a la derecha y que representa la visualización en forma de lista. En ella podremos ver a primera vista los elementos más importantes de cada evento y además establecer filtros sobre dicha lista.
Tal como se ve en la imagen anterior, en la parte inferior podremos ver los detalles del elemento seleccionado.
Inspección de memoria
Como vimos a la hora de importar las evidencias, es posible realizar un análisis de una adquisición de memoria RAM de un sistema. Para ello podemos utilizar cualquier tipo de dump, como aquel generado con la misma herramienta de Belkasoft, RAM Capturer.
El análisis, sin embargo, se centra en la adquisición de artefactos, sin llegar a mostrar información acerca de los procesos, la MFT y otros elementos que podrían ser interesantes para el análisis.
Deberemos por tanto depender de una herramienta externa como Volatility para el análisis de memoria.
Exportación del caso a Evidence Reader
Si queremos mostrar las evidencias del caso a otro investigador, podemos ejecutar la exportación del mismo a un informe visible con Evidence Reader. Se creará una carpeta que contiene una exportación completa del caso, así como un ejecutable con el programa mencionado que permitirá visualizarlo de forma muy similar a Evidence Center, pero solamente con sus funciones de visualización.
Para ello podemos hacer click en el menú superior Tools y seleccionar Export to Evidence Center. Se nos pedirá qué casos y evidencias son los que deseamos exportar y dónde guardar la exportación, pudiendo copiar o no el ejecutable de Evidence Center.
El proceso acaba de forma muy rápida y se nos abre una ventana del explorador mostrando el resultado.
Rápidamente podemos localizar el icono de Evidence Reader, pudiendo abrirlo con doble click y de forma automática nos mostrará el caso con todas las pruebas que podemos ver en Evidence Center y con una interfaz prácticamente igual.
Un detalle extraño es que no se nos permite ver la pestaña File System, sino que tendremos que explorar los elementos directamente desde Case Explorer. Esto puede deberse a que realmente no se copia el sistema de ficheros completo de la prueba (que conllevaría un gran tamaño de la exportación). Por la misma razón, no podemos exportar los ficheros origen de los artefactos.
Un punto de mejora podría ser la exportación de un sistema de ficheros «de pega», mostrando la estructura de directorios y nombres de los ficheros del sistema sin contener los datos de los ficheros en sí.
Conclusión
Belkasoft Evidence Center contiene un gran número de herramientas útiles para la inspección de evidencias forenses. Especialmente me ha gustado la optimización de la suite, así como la posibilidad de inspeccionar el registro desde la misma aplicación.
La timeline permite localizar eventos de forma rápida y estoy seguro de que a la hora de manejar varios casos la búsqueda de artefactos en común puede ayudar a los procesos de threat hunting de una organización.
El punto a mejorar más importante sería una inspección de memoria más avanzada, ya sea mediante métodos propios o desde un wrapper interno a Volatility o similares.
Espero que hayáis disfrutado el artículo y podáis ahora conocer un poco más esta herramienta y espero pueda ayudaros con vuestros casos forenses 🙂 Un saludo y disfrutad!!