El viernes, October 30, Tanium lanzó una versión actualizada de nuestro módulo de respuesta ante incidentes. Me entusiasman varias de las nuevas funcionalidades que introduce esta actualización puntual, entre las que se incluyen la capacidad de detectar consumidores maliciosos de eventos WMI, realizar análisis a gran escala de tareas programadas y buscar archivos en reposo en cuestión de segundos. En esta entrada, explicaré los fundamentos técnicos y los casos de uso que subyacen a cada una de estas funciones.
Detección de malware que persiste a través de WMI
Windows Management Instrumentation (WMI) es una tecnología fundamental para la gestión del sistema, presente en todas las versiones de Windows desde XP y Server 2000. Entre sus numerosas funciones, WMI incluye un potente marco de gestión de eventos capaz de supervisar eventos del sistema de bajo nivel e iniciar automáticamente acciones cuando estos se producen. Estas acciones se implementan mediante «consumidores de eventos» que, al activarse, ejecutan una línea de comandos arbitraria o un script de Windows Scripting Host (VBScript o JScript). Si bien la complejidad del sistema de eventos de WMI ha hecho que este permanezca relativamente desconocido, investigaciones recientes[1] han puesto de manifiesto cómo los atacantes pueden aprovecharlo como mecanismo encubierto de almacenamiento y persistencia para el malware.
Afortunadamente, la identificación de consumidores maliciosos de eventos WMI constituye un excelente caso de uso de las capacidades de búsqueda y agrupación en tiempo real de Tanium. Un entorno típico de Windows cuenta únicamente con unos pocos consumidores de eventos predeterminados, y las aplicaciones de terceros rara vez instalan consumidores adicionales. Por ello, hemos desarrollado una solución que permite a nuestros clientes, por un lado, buscar de forma inmediata en sus terminales los consumidores de eventos no autorizados y, por otro, supervisar de forma proactiva la aparición de nuevas entradas maliciosas.
Nuestro nuevo sensor de respuesta ante incidentes, «WMI Event Consumers», analiza todos los consumidores de eventos de un sistema y devuelve tres campos clave: el nombre del consumidor, la clase (que define el tipo) y la plantilla de línea de comandos (que contiene, en el caso de un CommandLineEventConsumer, la línea de comandos, o bien, en el caso de un ActiveScriptEventConsumer, el script que se va a ejecutar). De forma predeterminada, se trata de un sensor de «recuento», lo que significa que Tanium cuenta cada combinación única de estos campos en todos los sistemas consultados. Esto le permite detectar fácilmente los valores atípicos que se dan con poca frecuencia.
La captura de pantalla que figura a continuación muestra un ejemplo de los datos generados por el sensor WMI en una pequeña implementación de laboratorio compuesta por unos 75 sistemas Windows. Hemos configurado un «Consumidor de eventos de línea de comandos» malicioso muy evidente, pero fíjese en cómo la columna «Count», junto con los demás campos, facilita su detección.

Análisis de las tareas programadas
A diferencia de WMI, las «Tareas programadas» son una función muy conocida de Windows que los atacantes llevan mucho tiempo utilizando de forma indebida. Las tareas programadas recurrentes pueden servir como mecanismo de persistencia para el malware, y las tareas remotas constituyen una forma sencilla de ejecutar un comando o una aplicación durante el movimiento lateral. Aunque Tanium ya contaba con sensores que permitían a los usuarios buscar tareas específicas, queríamos añadir la capacidad de agrupar y analizar rápidamente todos los archivos de «trabajos» de tareas existentes en todos los sistemas de un entorno. Los responsables de la gestión de incidentes suelen necesitar buscar tareas que ejecuten determinados patrones de comandos, sigan ciertas convenciones de nomenclatura o que, de algún otro modo, destaquen entre las tareas instaladas legítimamente por el sistema operativo o por aplicaciones de terceros.
Nuestro nuevo sensor «Tareas programadas» es compatible precisamente con este caso de uso. Enumera todas las tareas de cada sistema, independientemente de si se crearon mediante el comando «at» o «schtasks». Para cada tarea identificada, muestra el nombre del trabajo y la línea de comandos completa de lo que se ejecute. Además de la búsqueda básica, esto facilita distinguir las tareas que se producen con mayor frecuencia de aquellas que son menos habituales, así como evaluar la línea de comandos ejecutada en busca de entradas potencialmente anómalas.
La captura de pantalla que figura a continuación muestra un ejemplo de los datos que proporciona este sensor. En este entorno de demostración concreto no ocurre nada destacable, pero podemos observar que un único sistema tiene asignada la tarea de ejecutar el instalador de Dropbox, y que varios sistemas adicionales cuentan con los componentes del actualizador de Google Chrome.

Búsqueda mejorada de archivos en reposo
Los responsables de la gestión de incidentes se enfrentan a menudo a la necesidad de buscar archivos que pueden encontrarse en cualquier lugar del disco —y en todos los sistemas— utilizando criterios básicos, como un nombre parcial o completo, una ruta de acceso o un hash. Muchos productos abordan este caso de uso recorriendo todo el contenido de una unidad, analizando los archivos y calculando los hash cada vez que es necesario realizar una búsqueda. Esto suele ser lento y consumir muchos recursos.
En Tanium, queríamos resolver este problema sin apartarnos de nuestros principios fundamentales de rapidez y escalabilidad. Nuestra solución se denomina simplemente «Tanium Index» y forma parte de nuestros módulos de respuesta ante incidentes y de detección de indicadores de compromiso (IOC). Una vez instalado, Index utiliza un mecanismo sencillo para crear un catálogo inicial de todos los archivos del disco, junto con los metadatos correspondientes. A continuación, utiliza un sistema de supervisión de bajo nivel para actualizar de forma eficiente el índice a medida que se crean, modifican, renombran o eliminan nuevos archivos. De media, el índice solo ocupa unas pocas docenas de megabytes de espacio en disco.
¿Cuál es la ventaja para un investigador? Esto significa que puede utilizar Tanium para realizar búsquedas en todos los terminales según cualquier combinación de los siguientes criterios y obtener resultados en cuestión de segundos:
- Nombre del archivo, extensión y ruta de acceso
- Hash del archivo (MD5, SHA-1 o SHA-256)
- «Número mágico» del archivo (los cuatro primeros bytes)
- Marcas de tiempo de creación y modificación
A modo de ejemplo, la captura de pantalla que figura a continuación muestra el resultado de una búsqueda sencilla en el índice de un entorno para localizar un hash malicioso MD5 (se ha omitido la marca de tiempo de creación del archivo en la pantalla por motivos de espacio).

Vamos a desarrollar numerosas funciones adicionales de Tanium que aprovechan Index para la respuesta ante incidentes, la búsqueda de indicadores de compromiso (IOC) y otros casos de uso; ¡así que permanezcan atentos!
Desarrollo basado en la plataforma Tanium
Estas nuevas incorporaciones a nuestras capacidades de respuesta ante incidentes, al igual que cualquier otra funcionalidad de Tanium, pueden utilizarse para buscar, detectar y actuar en entornos de cualquier tamaño, todo ello desde un único servidor de Tanium. Estas búsquedas tardan unos segundos en completarse, independientemente de si está trabajando con 1,000 o 400,000 sistemas. Los usuarios pueden profundizar en el análisis o elaborar preguntas combinadas para recopilar al instante más datos de los sistemas, lo que da lugar a resultados interesantes. Las consultas de los sensores también pueden automatizarse para que se ejecuten de forma periódica y muestren los resultados agregados a lo largo del tiempo en un panel de control de Tanium. Por último, los resultados de cualquier consulta guardada pueden enviarse fácilmente a un sistema SIEM o a un sistema de gestión de incidencias a través de Tanium Connect, aprovechando nuestra capacidad de «aprendizaje» para mostrar únicamente nuevos resultados o cambios, si así se desea.
Nos comprometemos a seguir ampliando la capacidad de Tanium para detectar, investigar y subsanar las técnicas de ataque y las amenazas más recientes. Esté atento a este espacio para conocer las próximas actualizaciones y lanzamientos.
¿Le interesa ver cómo funciona Tanium? Concierte una demostración e individual o participe en nuestro seminario web semanal. Hable con nuestros expertos en Tanium en nuestros próximos eventos « » ().
