Cómo utilizar Event Tracing for Windows (ETW)

Última actualización: 30/06/2025
Autor: Isaac
  • ETW permite capturar eventos del sistema operativo y aplicaciones, tanto en espacio de usuario como en kernel, y es clave para depuración y análisis de rendimiento.
  • Existen múltiples tipos de proveedores ETW, como MOF, WPP, basados en manifiesto o TraceLogging, cada uno con su propia estructura y complejidad.
  • Se puede trabajar con ETW usando herramientas como logman, wpr y PerfView, ideales para activar sesiones de rastreo, capturar datos y analizarlos.
  • ETW es esencial para soluciones EDR/XDR y para investigaciones forenses, pudiendo extraer eventos de memoria incluso si un atacante elimina archivos.

Event Tracing for Windows

Event Tracing for Windows (ETW) es una de las herramientas más poderosas, pero también desconocidas para muchos desarrolladores y profesionales de la seguridad en entornos Microsoft. Este sistema permite monitorizar, capturar y analizar eventos generados por el sistema operativo y las aplicaciones, tanto en modo usuario como en modo kernel.

Utilizado tanto para depuración avanzada como para análisis forense o detección de amenazas, ETW ofrece una visibilidad profunda sobre lo que ocurre a nivel del sistema, con un impacto mínimo en el rendimiento. En este artículo vamos a desgranar a fondo cómo funciona ETW, qué herramientas usar, cómo configurarlo, qué tipo de datos se pueden obtener y cómo aprovecharlo desde distintos entornos como .NET, PowerShell o incluso de forma forense desde memoria.

¿Qué es ETW y por qué es tan potente?

Event Tracing for Windows es un sistema de rastreo de eventos integrado en el núcleo de Windows. Se diseñó para permitir a desarrolladores y administradores registrar y consumir flujos de eventos en tiempo real o desde archivos de registro (.etl). ETW es extremadamente versátil porque puede ser utilizado por:

  • Aplicaciones en modo usuario escritas principalmente en C o C++
  • Controladores del kernel
  • Sistemas EDR y antivirus
  • Analistas de rendimiento o seguridad

Funciona mediante un modelo basado en tres roles clave: los providers (que generan los eventos), los controllers (que configuran y controlan las sesiones de rastreo), y los consumers (que leen los eventos).

Componentes esenciales del ecosistema ETW

Event Tracing for Windows

El modelo de funcionamiento de ETW gira en torno a varios elementos arquitectónicos que permiten una separación clara entre quien genera los eventos y quien los consume:

  Windows 10 FIX: Archivos Windows.edb grandes

1. Providers o proveedores

Son los componentes del sistema o aplicaciones que emiten eventos. Existen diferentes tipos:

  • MOF-based providers: utilizan Managed Object Format. Tienen una estructura más compleja y están en desuso.
  • WPP providers: utilizados principalmente en controladores para depuración.
  • Manifest-based providers: los más comunes hoy en día. Usan un manifiesto XML donde se define la estructura de los eventos.
  • TraceLogging providers: una alternativa más sencilla compatible con aplicaciones modernas.

2. Controllers o controladores

Se encargan de iniciar, detener o configurar las sesiones de rastreo (trace sessions). Por ejemplo, una herramienta como logman actúa como controlador, permitiendo configurar qué proveedores se activan y dónde se escriben los eventos.

3. Consumers o consumidores

Son las aplicaciones o scripts que leen eventos, ya sea en tiempo real o a través de archivos .etl. Algunos ejemplos conocidos son:

  • Event Viewer (Visor de Eventos de Windows)
  • Windows Performance Analyzer (WPA)
  • PerfView
  • Sistemas EDR como Microsoft Defender for Endpoint

¿Para qué se usa ETW?

ETW se utiliza de forma extensiva dentro del ecosistema Microsoft, desde procesos internos hasta soluciones empresariales. Algunos escenarios son:

  • Debug de aplicaciones en tiempo real
  • Monitorización de rendimiento (CPU, IO, red…)
  • Depuración de controladores en modo kernel
  • Prevención y detección de amenazas con EDR/XDR
  • Investigación forense digital

Cómo interactuar con ETW: herramientas prácticas

Existen varias herramientas que permiten trabajar con ETW desde diferentes ángulos:

Logman.exe

Herramienta por línea de comandos incluida en Windows que no requiere privilegios de administrador para realizar muchas operaciones. Permite listar proveedores disponibles, sesiones activas y configurar nuevas sesiones:

  • logman query providers: lista todos los proveedores ETW
  • logman start miSesion -p {GUID} -o c:\logs\miSesion.etl -ets: inicia una sesión de rastreo
  • logman stop miSesion -ets: detiene la sesión

WPR.exe y WPA.exe

Windows Performance Recorder (WPR) se utiliza para iniciar o detener sesiones de rastreo, y Windows Performance Analyzer (WPA) permite analizarlas visualmente. Su uso es habitual en entornos de desarrollo o debugging avanzado:

  • wpr -start CPU -start FileIO -start DiskIO
  • wpr -stop resultado.etl

PerfView

Herramienta desarrollada por Microsoft para análisis avanzado de rendimiento. Genera trazas, agrupa por patrones asíncronos y simplifica la depuración compleja. Permite también capturar sesiones en modo circular para no sobrecargar discos:

perfview -ThreadTime -CircularMB:500 -LogFile:salida.log -Merge:true collect

Los archivos generados (.etl y .etl.ngenpdb) pueden abrirse directamente en WPA.

  Reparación : Cambiar la opción del salvapantallas gris en el inicio de Home windows 10

Entendiendo los manifiestos ETW

Los manifest-based providers definen todos sus eventos a través de un archivo XML. Este manifiesto incluye información como:

  • Provider: nombre, GUID y archivos de recursos
  • Channels: canal de salida (ej. Application, System)
  • Levels: nivel de severidad del evento (Critical, Error, Verbose…)
  • Tasks y Opcodes: agrupan eventos por tarea y tipo de operación
  • Keywords: filtros por categorías de eventos
  • Maps: mapeo de códigos a textos legibles
  • Templates: definen estructura de los datos incluidos en eventos
  • Events: definen cada evento con su ID, task, opcode, level y template

Captura y análisis de trazas ETW

Una vez capturada una traza (archivo .etl), se puede convertir a otros formatos o analizarla directamente:

  • tracerpt archivo.etl -o archivo.xml: exporta a XML
  • tracerpt archivo.etl -o archivo.evtx -of EVTX: convierte al formato de Visor de Eventos
  • xperf -i archivo.etl -o archivo.csv: volcado a CSV

También es posible realizar vistas en vivo con PerfView o definir sesiones automáticas desde el arranque usando autologger:

wpr -boottrace -addboot FileIO
habilitar o deshabbilitar características ocultas de windows con regedit-3
Artículo relacionado:
Cómo habilitar o deshabilitar características ocultas de Windows usando regedit: guía completa y trucos avanzados

.NET y ETW

En .NET se puede aprovechar la API TraceProcessing para procesar los eventos generados por aplicaciones o componentes. Está disponible como paquete NuGet y es empleada incluso por los propios ingenieros de Microsoft.

Casos de uso en seguridad: EDR/XDR y caza de amenazas

ETW es una piedra angular para soluciones de detección y respuesta (EDR/XDR). Integra profundamente con el sistema y permite detectar comportamientos como:

  • Creación de procesos sospechosos
  • Modificaciones del registro
  • Tráfico de red inusual
  • Accesos a recursos críticos del sistema

Por ejemplo, es posible identificar técnicas como DCSync usando proveedores que reportan replicación del controlador de dominio.

Análisis forense con ETW

Una investigación avanzada permite incluso recuperar eventos ETW desde memoria RAM si han sido eliminados desde disco por un atacante. Esto se logra accediendo a estructuras internas como:

  • _WMI_LOGGER_CONTEXT: contiene listas como GlobalList o BufferQueue
  • _ETW_REALTIME_CONSUMER: ofrece acceso a UserBufferListHead
  Cómo evitar que la pantalla de tu Mac se oscurezca mecánicamente

Se han desarrollado herramientas como el plugin de Volatility3 de JPCERT que permite recuperar y analizar estas trazas directamente desde dumps de RAM. Además, se pueden procesar luego con tracefmt o WPA para identificar accesos DNS, tráfico de red, amenazas bloqueadas y más.

Este sistema ofrece una visión integral del sistema operativo y las capas de aplicación, permitiendo adelantarse a problemas, optimizar recursos y detectar anomalías. Aunque su curva de aprendizaje es algo elevada, dominar las herramientas y estructuras que lo componen permite obtener una ventaja única en entornos Windows modernos.

diferencias entre búsqueda clásica y búsqueda mejorada en windows 11-0
Artículo relacionado:
Búsqueda clásica vs búsqueda mejorada en Windows 11: diferencias clave y cómo sacarles partido

Deja un comentario