domingo, 10 de mayo de 2020

Probando la detección de archivos eliminados en Sysmon v11


A finales del mes pasado se liberó la versión 11 de Sysmon. Esta herramienta, parte de la célebre y bien conocida suite de herramientas SysInternals, permite monitorear los sistemas Windows. A medida que Sysmon ha evolucionado, sus autores le han agregado más funcionalidades que permiten identificar las acciones que los atacantes realizan cuando comprometen uno de estos sistemas.

La última capacidad que fue agregada a Sysinternals en la versión 11 es la detección de eliminación de archivos y es que es muy común que los atacantes eliminen los archivos maliciosos después de completar un ataque, como bien sabemos esto corresponde a la fase de borrado de huellas, donde los atacantes tratan de reducir la probabilidad de ser detectados. En este artículo vamos a instalar la versión 11 de Sysmon y probar esta nueva funcionalidad.

En primer lugar, necesitamos un archivo de configuración de Sysmon. Si bien podemos crear nuestro propio archivo de configuración manualmente, esto es un trabajo monumental ya que requiere hacer muchas pruebas e ir agregando excepciones para el software legítima, así como agregar reglas para identificar técnicas de ataque. Por ello, recomiendo utilizar alguno de los archivos de configuración de la comunidad y extenderlo para cubrir nuestras necesidades.

Vamos a utilizar el archivo de configuración del investigador Olaf hartong, modificado hace 5 meses a la fecha de escritura de este artículo. Este archivo es de código abierto y está disponible en su GitHub.

Simplemente descargamos el archivo de configuración y lo instalamos con el comando
Sysmon -i config.xml




Ahora pasaremos a extender el archivo de configuración para habilitar la nueva función de monitoreo de la versión 11, el borrado de archivos, para ello basta agregar las siguientes líneas en el archivo de configuración, con esto se van a auditar todos los eventos de eliminación de archivos en el sistema.

<RuleGroup name="" groupRelation="or">
      <FileDelete onmatch="exclude">
      </FileDelete>
</RuleGroup>

Aplicamos la nueva configuración de Sysmon con la bandera -c.



Abrimos el log de eventos de Sysmon y filtramos por el evento 23, e inmediatamente vemos los eventos de borrado de archivos. Los campos registrados son: Fecha, GUID, Usuario, Imagen del programa, archivo destino (target filename), valores hash, si es ejecutable (booleano) y si está archivado (booleano), este último valor no me queda muy claro aún.


Habilitar el monitoreo de todos los archivos eliminados, generará una importante cantidad de eventos,  es posible también agregar condiciones específicas, por ejemplo auditar sólo los archivos que estén dentro de ciertas carpetas.


Aplicamos el nuevo archivo de configuración. Ahora los únicos eventos registrados de archivos eliminados son lo que están en esa ruta, por ejemplo el siguiente evento muestra que se eliminó el archivo file.txt desde la terminal de comandos cmd. Esta ruta es sólo un ejemplo, generar la configuración apropiada para el evento FileDelete necesitará más pruebas a fin de poder registrar eventos interesantes, manteniendo un buen balance entre cantidad de eventos generados y el valor potencial de estos eventos.



Monitorear archivos eliminados es una capacidad que faltaba en versiones anteriores de Sysmon y que viene muy bien para incrementar la visibilidad de seguridad en los equipos Windows.

1 comentario:

  1. Tienes actualizacion para el post , sobre el balance de registro y calidad?.

    ResponderEliminar