Incident Response, Security and Forensics"

.

miércoles, 7 de agosto de 2013

(I) Forensics con SPLUNK: Visualizando un SuperTimeline


Hace unos días estuve en un juicio en el que dos empresas no se ponían de acuerdo en los datos mostrados sobre un informe pericial realizado por una tercera empresa que fue asignada por el Juzgado.

Los hechos se remontan en lo que llevamos de año 2013, en el que de forma reiterada y según el auto judicial se produce una eliminación masiva de datos por parte de un proveedor que gestionaba la microinformática de una conocida entidad financiera (que después del ‘gazpacho de fusiones’, se ha diluido en otras entidades). La cuestión es que la entidad responsabiliza de la perdida de datos al proveedor y le pide una cuantía económica por incumplimiento de SLA. Estos a su vez declinan la acusación indicando que es un problema de un troyano que tiene la entidad financiera. El lío está servido.

Después de este incidente y tras la mala experiencia en la presentación del informe y resultados,  la empresa del juzgado me solicita ayuda para intentar clarificar el volumen de datos que dispone, una vez obtenidas las evidencias.

Lo más importante en este caso, es mostrar al Juez y a las partes una visión amplia de lo sucedido y a ser posible de 360º. Para ello vamos a establecer una línea de tiempo con objeto de ver las incidencias en un mapa temporal.

Otro de los problemas que nos surgen, es la cantidad de datos a explotar, ya que son unos dos terabytes, por lo tanto la cuestión es donde almacenar esa cantidad  impresionante de datos y la posibilidad de explotarlos de una forma sencilla, para ello hablamos con diversos fabricantes (Oracle, IBM, etc.) y miramos alguna alternativa Open como NOSQL o HADOOP,  pero tanto por precio como por complejidad en la instalación y falta de tiempo nos decidimos por SPLUNK tras las buenas condiciones que nos propusieron.

SPLUNK

SPLUNK Es un software para buscar, monitorizar y analizar datos de aplicaciones, sistemas e infraestructura IT. Permite la captura, indexación y correlación en tiempo real, almacenándolo todo en un repositorio donde permite generar un panel o cuadro de mandos en formato gráfico.

Splunk dispone de dos versiones una de comercial (Enterprise License) diseñada para empresas, y una gratuita "Free License" para uso personal. La versión freeware está limitada a 500 MB de datos al día, y carece de algunas de las funcionalidades de la versión licenciada Enterprise.

OBTENIENDO UNA LINEA DE TIEMPO

Aunque disponía de los datos, quiero explicar una forma de obtenerlos:

Lo primero es establecer la línea de tiempo con las adquisiciones para ello utilizamos fls:

fls -m "" –r discoduro.dd > fls.body

A continuación humanizamos la salida del fichero fls.body, (esto hay que hacerlo por cada disco) y lo haremos con mactime.

mactime –b fls.body –d > fls.csv

Realizamos el montaje de los discos y utilizamos log2timeline para extraer datos relevantes.

log2timeline -f exif,pdf,mft -o mactime –r -w log2timeline.body /mnt/discomontado

Volvemos a humanizar el resultado

mactime –b log2timeline.body –d > log2timeline.csv

Otra forma de hacerlo es utilizando el ya mencionado NTFSWALK o Windows Journal Parser. El objetivo es disponer de los ficheros que nos interesa aplicar a SPLUNK para tener una visión global.

Veamos como es el procedimiento en splunk, una vez que disponemos de los ficheros:

CREANDO EL SUPERTIMELINE EN SPLUNK

1.- Tras iniciar sesión en Splunk creamos un índice donde almacenaremos los datos especificando las propiedades de importación.

Creación del índice

Lista de índices

 2.- Creamos la entrada de datos, seleccionando 'Files & directories'. Seleccionamos la ruta de acceso al fichero y configuraciones de los datos a importar, así como la estructura de ficheros (Mactime, CSV, etc.)


Files & directories

Ruta del fichero a mostrar

Parámetros de importación

Lista de ficheros para la obtención de datos

3.- Nos vamos al menú de aplicaciones y le indicamos mostrar los datos, obteniendo el siguiente resultado:

Menú de resumen

4.- Aplicamos un filtro para ver los elementos eliminados y este los muestra en modo registro.

Elementos eliminados


A continuación pulsamos en mostrar los datos y obtendremos un inmenso listado como el siguiente, pero con la particularidad de tener  360º y el mapa de los elementos eliminados en el tiempo. Si seleccionamos una barra de la gráfica, esta te permite realizar 'zoom' mostrando los datos que contiene.

Por años

Semanas
Días

Horas


CREANDO ESTADÍSTICAS

Otra de las múltiples funciones de SPLUNK es la generación de estadísticas o valores partiendo de los campos importados. Para ello se puede realizar desde la opción rejilla o gráfico.


También se puede realizar desde el editor de expresiones regulares definiendo los campos a contabilizar. En este caso se aplican los atributos de creación, acceso, eliminación y modificación, obteniendo una tabla de resultados porcentual

Editor

Resultados en formato tabla porcentual

Para verlo en otro tipo de formato más visual para el usuario y en nuestro caso los abogados de la defensa y acusación pulsamos el modo 'chart', el cual nos permite la selección de diferentes tipos de vistas.

Resultados en modo pastel

Resultados en modo barras

¿QUE MAS PUEDO BUSCAR?

Realmente depende de la creatividad y de los datos que tengamos

Por ejemplo:

Utilización de los campos de fecha para restringir los resultados de este año:

index=case date_year=2013

O hasta un cierto mes:

index=case date_year=2013 date_month=June

Hay que tener en cuenta que los términos de búsqueda no distinguen entre mayúsculas y minúsculas, pero se tratan como texto.

Tal vez queremos ver los tiempos de creación de todos los directorios, ordenados por su nombre


index=case mode=”r*” meta=”*b” | sort file

O invertir el orden:


index=case mode=”r*” meta=”*b” | sort file desc

O tal vez queremos analizar el acceso de un usuario a un determinado tipo de documento, por orden de tiempo descendente:


index=case file=”*Luis Ribera*” file=”*.docx*” | sort _time desc

CONCLUSIONES

Utilizando SPLUNK nos ha permitido ver y disponer de una visión gráfica y total de los elementos eliminados de una forma económica, sencilla, útil y sobre todo muy rápida a la hora de mostrar los datos. Si le añadimos las búsquedas y generación de estadísticas se convierte en una poderosa herramienta para la explotación de datos.

1 comentarios:

we are offering best splunk online training with job support and high quality training facilities and well expert faculty . to Register you free demo please visit ,splunk training in hyderabad