Skip to content

¿Qué es un archivo .evtx? El formato de registro de eventos de Windows explicado

Un archivo .evtx es un Windows Event Log binario. Dónde se guardan, qué contienen, en qué se diferencian de .evt y cómo abrirlos — sin instalar nada.

Publicado 6 {n} min de lectura

Un archivo .evtx es el formato binario de Windows Event Log que Microsoft lanzó con Windows Vista en 2007 para reemplazar al antiguo formato .evt. Cada evento que el sistema operativo, un controlador, un servicio o una aplicación escribe en el Windows Event Log aterriza en un archivo .evtx en disco. Son la columna vertebral de toda investigación en Windows.

Respuesta rápida

Los archivos .evtx los escribe el servicio EventLog de Windows en C:\Windows\System32\winevt\Logs\. Hay un archivo por canal (Security.evtx, System.evtx, Application.evtx, además de los canales por aplicación). Internamente, cada archivo es un contenedor binario en chunks de registros codificados en BinXML — no es texto plano. Se leen con el Visor de eventos, wevtutil, Get-WinEvent o un parser de terceros.

Dónde viven los archivos .evtx

La ubicación estándar en cada versión soportada de Windows (de Vista a Windows 11 / Server 2025):

C:\Windows\System32\winevt\Logs\

Cada archivo .evtx se corresponde con un canal de eventos. Los predeterminados que siempre encontrarás:

  • Security.evtx — inicios de sesión, uso de privilegios, cambios en la política de auditoría. El de mayor valor forense en la mayoría de los casos.
  • System.evtx — controladores, servicios, errores a nivel de kernel.
  • Application.evtx — errores y eventos informativos a nivel de aplicación.
  • Setup.evtx — registros de instalación.
  • ForwardedEvents.evtx — eventos recolectados de otros equipos mediante Windows Event Forwarding (WEF).

Los canales por aplicación se almacenan en la misma carpeta con %4 haciendo de separador de ruta:

  • Microsoft-Windows-Sysmon%4Operational.evtx — eventos de procesos, red y archivos de Sysmon (cuando está instalado).
  • Microsoft-Windows-PowerShell%4Operational.evtx — registro de scriptblock y de módulos de PowerShell.
  • Microsoft-Windows-TaskScheduler%4Operational.evtx — creaciones y ejecuciones de tareas programadas.
  • Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx — ciclo de vida de sesiones RDP.

Los canales rotados producen archivos de archivo con marca de tiempo en la misma carpeta (Security.evtx, Archive-Security-2026-05-23-…evtx). El servicio EventLog mantiene abierto el archivo activo mientras Windows está en ejecución.

Qué hay dentro de un archivo .evtx

El archivo es un contenedor binario, no texto plano. A una cabecera de 4 KB (magic ElfFile\0) le sigue una secuencia de chunks de 64 KB. Cada chunk tiene su propia cabecera (ElfChnk), una tabla con las plantillas XML que aparecen dentro de él y un flujo de registros que referencian esas plantillas por ID. Un parser reconstruye cada evento sustituyendo los valores a nivel de registro en los marcadores de posición de la plantilla — esto es lo que hace que .evtx sea más compacto en disco que XML literal.

Una vez decodificado, cada registro es un documento XML con dos mitades:

  • <System> — nombre del proveedor, canal, Event ID, nivel (1 Critical → 5 Verbose), nombre del equipo, contexto de seguridad y marca de tiempo de escritura en UTC.
  • <EventData> — parámetros específicos del proveedor: la cuenta destino en un inicio de sesión, la ruta de la imagen en una creación de proceso, la clave del registro en una escritura auditada, etc.

El Event ID por sí solo rara vez basta para el triaje. La señal forense vive en <EventData>. Para los detalles del formato a fondo — chunks, BinXML, plantillas, recuperación de chunks sucios — consulta Dentro del formato de archivo EVTX.

.evtx vs .evt: por qué cambió el formato

El formato heredado .evt que Windows usó hasta XP y Server 2003 tenía tres límites duros que el nuevo formato vino a resolver:

  • Cadenas de tamaño fijo. Los registros .evt llevaban referencias a la tabla de mensajes en lugar del mensaje completo; las composiciones en tiempo de renderizado se rompían cuando las DLL de origen faltaban o se actualizaban.
  • Sin consultas estructuradas. Filtrar exigía leer y parsear cada registro de forma lineal.
  • Un único canal por archivo. Los registros personalizados de aplicación necesitaban sus propios formatos no estándar.

.evtx (Vista, 2007) introdujo registros BinXML, archivos por canal con anidamiento arbitrario, filtrado estilo XPath vía wevtutil qe y Get-WinEvent -FilterHashtable, y un diseño en chunks que sobrevive a escrituras parciales. La contrapartida fue una ruptura total de compatibilidad — .evt y .evtx no son intercambiables, y la única herramienta integrada que lee .evt en un Windows moderno es wevtutil con el flag legacy (y solo para exportar a .evtx).

Cómo abrir un archivo .evtx

Cinco rutas habituales, en orden aproximado de fricción:

  1. En tu navegador, sin instalar — arrastra el archivo al parser de la página principal de este sitio. Ejecuta el crate de Rust omerbenamram/evtx compilado a WebAssembly dentro de un Web Worker. Nada sale de tu máquina. Adecuado para triaje puntual cuando no quieres levantar una VM forense.
  2. Visor de eventos (eventvwr.msc) — la GUI integrada de Windows. Abre el Visor de eventos → Acción → Abrir registro guardado… → selecciona el .evtx. Bueno para navegar, débil para filtrar a escala.
  3. wevtutil / Get-WinEvent — línea de comandos y PowerShell, ambos vienen con Windows. wevtutil qe path\to\file.evtx /f:text /lf:true vuelca todos los registros; Get-WinEvent -Path devuelve objetos que puedes encadenar a Where-Object.
  4. EvtxECmd — el parser de Eric Zimmerman. Multiplataforma vía .NET, rápido, produce CSV con una fila por registro y el <EventData> completo aplanado.
  5. python-evtx — Python puro, fácil de scriptear. Más lento que el crate de Rust pero útil cuando ya tienes una cadena de herramientas en Python.

Para un recorrido completo de cada método con los comandos que realmente ejecutarías, consulta Cómo abrir un archivo .evtx.

Cuándo te encuentras con .evtx en el mundo real

  • Respuesta a incidentes. Extraídos de un host comprometido como parte del triaje. Los canales de interés dependen de la pista — Security para inicios de sesión y abuso de privilegios, Sysmon para árboles de procesos, PowerShell para el contenido de scriptblock.
  • Auditorías de cumplimiento. Los auditores piden Security.evtx sobre una ventana definida para verificar el historial de inicios de sesión y cambios de política.
  • Depuración de aplicaciones. Application.evtx más los canales por proveedor a menudo guardan contexto de errores y caídas que los propios registros de la aplicación no tienen.
  • Threat hunting. Reglas de cola larga contra .evtx archivados (o un SIEM reenviando el canal en vivo) detectan patrones de combustión lenta como RDP fuera de horario o deriva del LogonType de una cuenta de servicio.

El pivote más útil con diferencia es el Event ID. Para la lista corta que se gana su sitio en un SOC real — 4624 inicio de sesión exitoso, 4625 inicio de sesión fallido, 1102 registro borrado, 4104 scriptblock de PowerShell, 7045 servicio instalado, Sysmon 1 creación de proceso — consulta la orientación inicial.