Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
evtx — Un analizador rápido (y seguro) para el formato de Registro de Eventos XML de Windows (EVTX) | Kitploit
Herramientas/GitHubGitHub/omerbenamram/evtx
Análisis ForenseForensia DigitalRespuesta a IncidentesAnálisis de Registros
GitHubomerbenamram/evtx

evtx

Un analizador rápido (y seguro) para el formato de Registro de Eventos XML de Windows (EVTX)

Ver Repositorio
9498114hace 5 díasRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

EVTX

Un analizador multiplataforma para el formato Windows XML EventLog


Crates.io version Download docs.rs docs safety-dance Build status

Características

  • 🔒 Implementado usando 100% Rust seguro - y funciona en todas las plataformas soportadas por Rust (que tengan stdlib).
  • ⚡ Rápido - vea los benchmarks a continuación. ¡Es más rápido que cualquier otra implementación por órdenes de magnitud!
  • 🚀 Multihilo.
  • ✨ Soporta salidas XML y JSON, ambas construidas directamente a partir de una representación intermedia compartida (IR) (¡no se realiza conversión xml2json!)
  • ⛏️ Soporta cierta recuperación básica de registros/chunks faltantes.
  • 🐍 Los bindings de Python también están disponibles en https://github.com/omerbenamram/pyevtx-rs (y en PyPi https://pypi.org/project/evtx/)

Visor basado en web (EVTX Web)

Captura de pantalla de EVTX Web

¿Prefieres una opción sin instalación? Un explorador EVTX con todas las funciones se ejecuta directamente en tu navegador, impulsado por el mismo núcleo Rust compilado a WebAssembly.

👉 Pruébalo ahora: https://omerbenamram.github.io/evtx/

Todo ocurre localmente – los archivos nunca salen de tu máquina. Destacados:

  • Arrastra y suelta archivos .evtx (o haz clic para explorar) – ¡maneja logs muy grandes!
  • Análisis ultrarrápido mediante WebAssembly y renderizado con desplazamiento virtual
  • Filtros por facetas en nivel, proveedor, canal, ID de evento y campos dinámicos de EventData – todo respaldado por DuckDB-WASM
  • Búsqueda de texto completo, gestión de columnas y exportación en vivo a JSON/XML del conjunto filtrado
  • Temas claro/oscuro, navegación por teclado y una interfaz al estilo Windows

El visor se sirve estáticamente desde GitHub Pages; tras la primera carga funciona completamente sin conexión.

Instalación (utilidad binaria asociada):

  • Descarga la última versión ejecutable desde https://github.com/omerbenamram/evtx/releases
    • Las versiones se construyen automáticamente para Windows, macOS y Linux. (solo ejecutables de 64 bits)
  • Compila desde las fuentes usando cargo install evtx

evtx_dump (Utilidad binaria):

La utilidad binaria principal proporcionada con esta crate es evtx_dump, y proporciona una forma rápida de convertir archivos .evtx a diferentes formatos de salida.

Algunos ejemplos

  • evtx_dump <evtx_file> volcará el contenido de los registros evtx como xml.
  • evtx_dump -o json <evtx_file> volcará el contenido de los registros evtx como JSON.
  • evtx_dump -f <output_file> -o json <input_file> volcará el contenido de los registros evtx como JSON a un archivo dado.
  • cat <evtx_file> | evtx_dump -o jsonl - leerá el archivo EVTX desde stdin (útil para tuberías/descompresión).

evtx_dump se puede combinar con fd para el procesamiento por lotes conveniente de archivos:

  • fd -e evtx -x evtx_dump -o jsonl escaneará una carpeta y volcará todos los archivos evtx a un único archivo jsonlines.
  • fd -e evtx -x evtx_dump '{}' -f '{.}.xml' creará un archivo xml junto a cada archivo evtx, ¡para todos los archivos en la carpeta de forma recursiva!
  • Si es necesario agregar la fuente del archivo a json, se puede usar xargs (o gxargs en mac) y jq: fd -a -e evtx | xargs -I input sh -c "evtx_dump -o jsonl input | jq --arg path "input" '. + {path: \$path}'"

Nota: por defecto, evtx_dump intentará utilizar multihilo, esto significa que los registros pueden devolverse desordenados.

Para forzar el uso de un solo hilo (lo que también asegurará el orden), se puede pasar -t 1.

Renderizado de plantillas sin conexión (WEVT_TEMPLATE)

Los registros EVTX pueden hacer referencia a definiciones de plantillas almacenadas en binarios de proveedores (EXE/DLL/SYS). evtx_dump puede extraer esas plantillas en una caché sin conexión y usarlas al renderizar.

Nota: esta funcionalidad requiere compilar evtx_dump con la característica de Cargo wevt_templates (los binarios de lanzamiento pueden ya incluirla).

  • Construir una caché (un único archivo portátil .wevtcache):
    • evtx_dump extract-wevt-templates --input <provider.dll> --output /tmp/wevt_cache.wevtcache --overwrite
  • Volcar un archivo EVTX usando la caché (regla determinista: solo se aplica cuando un registro falla debido a un GUID de plantilla explícitamente faltante o corrupto):
    • evtx_dump --wevt-cache /tmp/wevt_cache.wevtcache <log.evtx>

Ayudantes de depuración:

  • Volcar los valores de sustitución de TemplateInstance de un registro (JSONL):
    • evtx_dump dump-template-instances --input <log.evtx> --record-id <ID> | head -n1
  • Renderizar un GUID de plantilla específico con sustituciones (XML a stdout):
    • evtx_dump apply-wevt-cache --cache /tmp/wevt_cache.wevtcache --template-guid <GUID> --evtx <log.evtx> --record-id <ID>

Consulte docs/wevt_templates.md para obtener detalles y antecedentes (issue #103).

Ejemplo de uso (como biblioteca):

use evtx::EvtxParser;
use std::path::PathBuf;

// Change this to a path of your .evtx sample.
let fp = PathBuf::from(format!("{}/samples/security.evtx", std::env::var("CARGO_MANIFEST_DIR").unwrap()));

let mut parser = EvtxParser::from_path(fp).unwrap();
for record in parser.records() {
    match record {
        Ok(r) => println!("Record {}\n{}", r.event_record_id, r.data),
        Err(e) => eprintln!("{}", e),
    }
}

La versión en paralelo se habilita al compilar con la característica "multithreading" (habilitada por defecto).

Benchmarks de rendimiento

Al usar multihilo, evtx es significativamente más rápido que cualquier otro analizador disponible. En rendimiento de un solo núcleo, es tanto el más rápido como el único analizador multiplataforma que soporta salidas XML y JSON.

El rendimiento se evaluó en mi máquina usando hyperfine (herramienta de mediciones estadísticas).

Estoy ejecutando pruebas en un AMD Ryzen 3900X de 12 núcleos.

Ejecución del benchmark: Junio 2026 (evtx 0.12.2).

Sistema: Arch Linux (Linux 7.0.11-arch1-1 x86_64).

Commit del benchmark: 99a6def.

Descargar herramienta