Entender el seguimiento de eventos de Windows_ETW
Categories:
- Entender el seguimiento de eventos de Windows_ETW
Entender ETW
Filtrada alguna información innecesaria, la documentación completa consulte: https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal
Entender lo básico
https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing

Sesión
Existen cuatro tipos de sesión
| Tipo de sesión | Uso | Limitaciones | Características |
|---|---|---|---|
| Sesión de seguimiento de eventos(ETW estándar) | 1. EVENT_TRACE_PROPERTIES2. StartTrace, crea sesión3. EnableTrace 1. EnableTrace para proveedor clásico 2. EnableTraceEx para proveedor basado en manifiesto4. ControlTrace detiene sesión | - Un proveedor basado en manifiesto solo soporta proveer eventos a un máximo de 8 sesiones- Un proveedor clásico, solo puede servir a una sesión.- El comportamiento de apropiación de sesión del proveedor es el último que llega. | ETW estándar. |
| Sesión SystemTraceProvider | 1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace detiene sesión | - SystemTraceProvider es un proveedor de eventos del kernel, proporciona un conjunto de eventos del kernel predefinidos.- La sesión NT Kernel Logger es una sesión predefinida por el sistema, registra una serie de eventos del kernel predefinidos por el sistema- Win7/WinServer2008R2 solo la sesión NT Kernel Logger puede usar SystemTraceProvider - Win8/WinServer2012 SystemTraceProvider puede proporcionar eventos a 8 sesiones logger, dos fijas son NT Kernel Logger y Circular Kernel Context Logger.- Win10 20348 en adelante, cada proveedor System puede ser controlado de forma individual. | Obtiene eventos predefinidos del kernel del sistema. |
| Sesión AutoLogger | 1. Modificar registro 2. EnableTraceEx3. ControlTrace detiene sesión | - La Sesión Global Logger es una sesión especial e independiente, registra eventos durante el arranque del sistema.- AutoLogger normal necesita habilitar proveedor por sí mismo, GlobleLogger no necesita.- AutoLogger no soporta eventos NT Kernel Logger, solo GlobalLogger los soporta.- Afecta el tiempo de arranque, usar con moderación | Registra eventos durante el arranque del sistema operativo |
| Sesión Private Logger | - | - ETW modo usuario- Solo para uso interno del proceso- No cuenta para el límite de 64 sesiones en paralelo. | Privada del proceso |
Herramientas
- logman
- wevtutil
- Ejemplo de consulta xpath:
wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
- Ejemplo de consulta xpath:
- tracelog
- Uso de la herramienta
tracelogde visual studio, se puede añadir y eliminar dinámicamente proveedores ETW y añadir y eliminar dinámicamente sesiones ETW en tiempo de ejecución
- Uso de la herramienta
- mc
- etw-providers-docs