Incident Response, Security and Forensics"

.

miércoles, 5 de agosto de 2015

INCIDENT RESPONSE (II): ADQUISICIÓN DE DATOS CON CROWDRESPONSE


Buenas lectores,

Como en el anterior post vamos a continuar con la adquisición de datos, pero contando con una magnifica herramienta de nombre "CrowdResponse' pensada para ser utilizada por los equipos de respuesta ante incidentes.

CrodwResponse es una herramienta gratuita de la compañía CrowdStrike, desarrollada por Robin Keir. Robin tiene una larga historia de desarrollo de excelentes herramientas para la comunidad incluyendo las famosas SuperScan, BinText, FPIPE. 

Esta utilidad es en si un conjunto de herramientas que ayudarán a los analistas forenses a recopilar y analizar los datos. Está herramienta es modular y puede contener hasta 25 módulos diferentes.

Es compatible con todas las versiones de Windows (incluidos Windows 10 y Windows server 2012) su funcionamiento se basa en línea de comandos y se centra en la detección basándose en firmas, con un potente motor de análisis basado en YARA.

FUNCIONAMIENTO

Se compone de un archivo de configuración "config.txt" que contiene los sub-módulos que podemos ejecutar en la adquisición de datos y verificar en base a este fichero las posibles anomalías que se encuentren en el equipo a analizar.

Contenido del archivo config.txt


El archivo de configuración despliega los módulos a utilizar, todos los módulos son opcionales y llevan parámetros de configuración. Vamos a revisar algunos de ellos.

MODULO: @dirlist

Este es el módulo de directorio, está orientado al sistema de directorios y ficheros del sistema y permite las siguientes características:
  • -c  Verificar y mostrar información de firma digital
  • -e  Exclusión de ficheros o rutas utilizando un filtro de expresiones regulares
  • -f   Utilización de comodines. El valor predeterminado es "*. *"
  • -h  Calcular hashes SHA256
  • -i   Inclusión de ficheros o rutas utilizando un filtro de expresiones regulares
  • -m Calcular Hashes MD5
  •  -p Nivel de recursividad (sólo 0 = nivel superior, 1 = 1 nivel hacia abajo, etc.)
  • -q - Realizar control de sólo los primero 512 bytes del archivo
  • -r - Información de recursos de aplicaciones
  • -s - Lista recursiva
  • -t - Muestra el timestamp de archivos: creación, modificación, accesos
  • -x - Mostrar sólo procesos ejecutables de Windows (PE) 
  • -z   No realizar un hash de archivos mayores de un determinado tamaño en megabytes
  • <Dir> Ruta de archivos donde comenzar.
Veamos el siguiente ejemplo añadiendo la siguiente línea en el archivo config.txt y en concreto en el modulo @dirlist

@dirlist "%systemdrive%\users\" -c -h -m -r -s -t -z 100 -i "\\downloads\\.*\.(exe|dll)$"

Le estamos diciendo:

Busca en la carpeta 'users' y en concreto en la carpeta 'downloads' ficheros con extensión 'exe' y 'dll' (-i) con su firma digital (-c), calculando los hashes (-h y -m) con SHA256 y MD5  y obteniendo los recursos y fechas de creación, acceso y modificación de los ficheros y subdirectorios recusivos de la carpeta 'donwloads' (-r, -s, -t). El parámetro -z 100 es para indicar que no genere hashes de los archivos mayores de 100 megas.

A continuación y después de guardar el fichero 'config.txt' procedemos a ejecutar desde la línea de comandos la siguiente instrucción:

c:\>Crowdresponse.exe -i config.txt -o directorios.xml

Y este es el resultado:



MODULO: @pslist

Este módulo no es menos interesante. Permite trabajar con los procesos de memoria ram. Veamos sus características.

  • -c Verificar la firma digital del ejecutable que está en memoria.
  • -d Obtener línea de comando del proceso.
  • -e Obtener información de los archivos PE detallado para cada ejecutable del proceso
  • -m Realizar huellas (hashes MD5) de ejecutables.
  • -o Enumerar los módulos cargados para cada proceso
  • -v Determina los procesos 'svchost'.
  • -t Muestra el timestamp de archivos: creación, modificación, accesos
  • -i comprueba la inyección de procesos
Como en pasos anteriores vamos a añadir la siguiente línea:

@pslist -c -d -e -i -m -t

Que viene a decir que busque procesos en memoria con su firma digital (-c), la línea de comando del proceso (-d) , que obtenga información PE del ejecutable (-e), si tiene inyección en los procesos (-i), que calcule los hashes en MD5 (-m) y que muestre fechas de creación, acceso y modificación de los procesos (-t).

Volvemos a ejecutar el comando:

c:\>Crowdresponse.exe -i config.txt -o procesos.xml

Siendo este el resultado:



MODULO: @yara

YARA es una herramienta increíblemente útil orientada para identificar y clasificar malware.

Como muchos ya sabéis puede actuar sobre ficheros en el disco o en memoria y se ejecuta sobre un conjunto de reglas de patrones contra el objetivo que hemos de investigar.

El módulo YARA permite las siguientes características:

  • -a Analizar la memoria de todos los procesos en ejecución activos
  • -b Analizar archivos en disco de todos los procesos en ejecución actualmente activos
  • -v Descargar archivos de reglas YARA desde una URL
  • -i, -n Utilizar un filtro o expresión para incluir o excluir una expresión regular
  • -h Opción sólo para mostrar éxitos positivos
  • -o Analizar todos los archivos de los módulos cargados.
Al igual que en los módulos anteriores añadimos:

@yara -a -b -o

Es decir, analiza los procesos y ejecutables de memoria (-a, -b) y los módulos cargados de esos ejecutables (-o)

Por defecto dispone unas reglas ya incorporadas y que las cargará en el momento de leer el fichero 'config.txt'.

Volvemos a ejecutar el comando:

c:\>Crowdresponse.exe -i config.txt -o directorios_ficheros_procesos.xml

Siendo este el resultado:



Como decía anteriormente, Crowdresponse viene con una sección de reglas Yara donde podemos ampliar las cientos que hay en la comunidad o bien añadir las nuestras. Por otro lado podemos combinarlas o bien ajustarlas a la investigación que estemos haciendo.

CRconvert

Como hemos podido apreciar los resultados se hacen en ficheros XML y ya de por si es una muy buena opción para incluirlo en cualquier sistema, no obstante el conjunto de Crowdresponse incluye una utilidad que permite convertir el resultado del fichero XML en CSV o HTML.

CRconvert.exe -v -c -h -f salida.xml

El cual convertirá el fichero salida.xml a diversos ficheros en html según los módulos y reglas Yara que hayamos incluidos en el fichero config.txt





En resumen una muy buena herramienta que nos ayudará a buscar evidencias, también decir que hay muchos más módulos integrados e incorpora en su sistema modular muchas otras opciones como la reducción de prioridad de la CPU, la posibilidad de subir archivos de salida a través de SSL, y un mecanismo de autodestrucción que resuelven cuestiones como el tema de privacidad de datos cuando trabajamos en una empresa.

Utilidad indispensable para mi caja de herramientas.

Un saludo.

1 comentarios:

Gracias por tus escritos, son fascinantes, Probaré lo que publicas y si me permites, te platicaré lo que encontré en un caso que tengo de intercepción aquí en México.