Volver a actualizaciones
Nuevo releaseAug 5, 2026

Zircolite v3.8.1

Una herramienta de detección independiente basada en SIGMA para registros de EVTX, Auditd y Sysmon de Linux

Compartir

Zircolite

Detección autónoma basada en Sigma para registros EVTX, Auditd, Sysmon para Linux, XML, CSV y JSON

python version

Zircolite ejecuta reglas de Sigma sobre tus registros. Aplana los eventos en SQLite, convierte cada regla en una consulta SQL e informa de las coincidencias, sin conexión, con un solo comando.

Zircolite en una terminal

  • Muchos formatos de registro, detectados automáticamente: Windows EVTX (binario, XML, JSON), Auditd, Sysmon para Linux, EVTXtract, CSV, XML y JSON, en texto plano o en archivos gzip, bzip2, ZIP y 7-Zip.
  • Reglas Sigma tal cual: YAML nativo convertido con pySigma, o los conjuntos de reglas ya preparados en rules/. Incluye reglas de correlación.
  • Rápido: un kernel de aplanamiento compilado, trabajadores en paralelo y prefiltrado de reglas; consulta el benchmark.
  • Procesamiento de campos: divide campos empaquetados y ejecuta transformaciones de Python en sandbox (decodificación Base64, extracción de IOC, detección de LOLBin, …).
  • Exportaciones: JSON, CSV y plantillas para Splunk, Elastic, OpenSearch, Timesketch, SARIF y ATT&CK Navigator.
  • Línea de tiempo: cada detección como una fila en orden temporal, con un resumen de una línea del evento, en CSV o JSON lines (--timeline).
  • Zircolite Viewer: cada evento y detección en un único zip que se abre sin conexión en un navegador.

📖 Lee la documentación, también en docs/.

Instalación

Binario autónomo, nada que instalar: descarga el zip para tu plataforma desde las releases (Linux x64 y ARM64, macOS Apple silicon, Windows x64 y ARM64).

Docker:

docker pull wagga40/zircolite:latest

Desde el código fuente con PDM, Python 3.11 a 3.14:

git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
pdm use -f 3.14
pdm install

pdm use mantiene a PDM alejado de Python 3.15 y de las compilaciones free-threaded, que aún no son compatibles; cualquiera de 3.11 a 3.13 también funciona. Con uv:

git clone https://github.com/wagga40/Zircolite.git
cd Zircolite
uv sync --python 3.14+gil

Las instalaciones desde el código fuente compilan un kernel nativo de aplanamiento y necesitan un compilador de C para ello; sin uno, recurren a un kernel de Python más lento. Consulta Instalación para los paquetes de compiladores, los detalles de los binarios (cuarentena de macOS, sumas de verificación) y los permisos de Docker.

Inicio rápido

# Windows logs, with the default ruleset (rules/rules_windows_merged.json)
python3 zircolite.py --events sysmon.evtx

# Linux logs: the format is detected
python3 zircolite.py --events auditd.log --ruleset rules/rules_linux.json

# Native Sigma rules, through pySigma pipelines
python3 zircolite.py --events logs/ --ruleset ./sigma/rules/windows/process_creation \
    --pipeline sysmon --pipeline windows-logsources

# Every event and detection, for the Zircolite Viewer
python3 zircolite.py --events logs/ --package

# The detections as a timeline, for Timeline Explorer or a spreadsheet
python3 zircolite.py --events logs/ --timeline

Con un binario, ejecute ./Zircolite en lugar de python3 zircolite.py. Desde el código fuente, prefije el comando con pdm run (o uv run) a menos que el entorno esté activo. Con Docker, monte los logs y proporcione rutas absolutas:

docker run --rm --tty -v $PWD:/case/input:ro -v $PWD:/case/output \
    wagga40/zircolite:latest --events /case/input -o /case/output/detected_events.json

En un host Linux, añade --user "$(id -u):$(id -g)" y -l /case/output/zircolite.log: la imagen se ejecuta como un usuario sin privilegios que no puede escribir en un directorio de tu propiedad.

Las detecciones se guardan en detected_events.json. Para obtener registros con los que probarlo, consulta EVTX-ATTACK-SAMPLES.

[!IMPORTANT] Los conjuntos de reglas predeterminados pueden contener reglas ruidosas o lentas. Selecciona reglas para tu entorno, y actualízalas con python3 zircolite.py -U.

Cómo funciona

Zircolite aplana cada evento en una fila de una tabla SQLite, convierte cada regla Sigma en una consulta SQL sobre esa tabla y reporta las filas que coinciden.

Cómo funciona Zircolite: los registros se aplanan en filas de una tabla SQLite, las reglas Sigma se convierten en consultas SQL y las filas coincidentes se convierten en detecciones

Zircolite Viewer

--package escribe un único zip que contiene todos los eventos de la ejecución, con las detecciones y las alertas de correlación vinculadas a ellos. Extráelo y abre index.html: el visor funciona sin conexión y ofrece una vista general, las detecciones, una tabla de eventos que puedes buscar, filtrar y ordenar por cualquier columna, una línea de tiempo, la matriz ATT&CK, entidades, apilamiento de los valores más raros, inicios de sesión y movimiento lateral, árboles de procesos y una consola SQL. Comparte un paquete como compartirías los registros de los que proviene. Consulta Zircolite Viewer.

Un recorrido por Zircolite Viewer: la vista general, una detección crítica y sus eventos, un filtro de columna y los valores más raros de una columna, un evento con su comando de PowerShell decodificado y su actividad de procesos, la línea de tiempo, la matriz ATT&CK, entidades, apilamiento, movimiento lateral y sesiones privilegiadas, el árbol de procesos y la consola SQL

Benchmark

Tiempo de ejecución medio en un Apple M1 Max de 10 núcleos, cada herramienta con sus valores predeterminados y sus propias reglas:

Herramienta4 EVTX de Sysmon, 478 MB8 EVTX de más de 11 canales, 13,3 GB
Zircolite7,7 s30,2 s
Hayabusa 4.2.023,3 s500,3 s
Chainsaw 2.17.148,3 s183,0 s

Zircolite usa más memoria que las demás, debido a sus workers paralelos (--no-parallel los desactiva), y los conjuntos de reglas difieren, por lo que los recuentos de detecciones no son comparables. Consulta Benchmark para ver la memoria, la configuración y cómo reproducirlo.

Tutoriales, referencias y proyectos relacionados

Categorías