Zurück zu den Updates
New releaseAug 5, 2026

Zircolite v3.8.1

Ein eigenständiges SIGMA-basiertes Erkennungstool für EVTX-, Auditd- und Sysmon-for-Linux-Logs.

Teilen

Eigenständiges SIGMA-basiertes Erkennungstool für EVTX-, Auditd-, Sysmon for Linux-, XML-, CSV- oder JSONL/NDJSON-Logs

python version

Zircolite ist ein eigenständiges, in Python 3 geschriebenes Tool, mit dem Sie SIGMA-Regeln auf folgende Logs anwenden können:

  • MS Windows EVTX (EVTX-, XML- und JSONL-Formate)
  • Auditd-Logs
  • Sysmon for Linux
  • EVTXtract
  • CSV- und XML-Logs
  • JSON-Array-Logs

Hauptmerkmale

  • Schnell: 452.554 Ereignisse gegen 4.319 Sigma-Regeln in 11,6 s — 2,1× schneller als Hayabusa und 9,8× schneller als Chainsaw bei denselben Logs, beides Rust-Tools. Siehe den Benchmark.
  • Automatische Log-Typ-Erkennung: Identifiziert Log-Formate und Zeitstempel-Felder automatisch anhand von Magic Bytes, Inhaltsanalyse und regex-basiertem Fallback -- in den meisten Fällen sind keine Format-Flags erforderlich.
  • Mehrere Eingabeformate: Unterstützt verschiedene Log-Formate, darunter EVTX, JSON Lines, JSON Arrays, CSV, XML und mehr. Komprimierte oder archivierte Logs (gzip, bzip2, ZIP, 7-Zip) werden unterstützt; verwenden Sie --archive-password für verschlüsselte ZIP/7z.
  • Native Sigma-Unterstützung: Zircolite kann native Sigma-Regeln (YAML) direkt verwenden, indem sie mit pySigma konvertiert werden.
  • SIGMA-Backend: Es basiert auf einem SIGMA-Backend (SQLite) und verwendet keine interne SIGMA-zu-etwas-Konvertierung.
  • Erweiterte Log-Manipulation: Es kann Eingabe-Logs durch Aufteilen von Feldern und Anwenden von Transformationen manipulieren, was eine flexiblere und leistungsfähigere Log-Analyse ermöglicht.
  • Feldtransformationen: Wenden Sie benutzerdefinierte Python-Transformationen auf Felder während der Verarbeitung an (z. B. Base64-Dekodierung, Hex-zu-ASCII-Konvertierung).
  • Flexibler Export: Zircolite kann Ergebnisse in mehrere Formate exportieren, indem es Jinja-Vorlagen verwendet, darunter JSON, CSV, JSONL, Splunk, Elastic, OpenSearch, Timesketch, SARIF, ATT&CK Navigator und mehr.
  • Reichhaltige Terminal-Ausgabe: Erkennungsergebnisse werden in nach Schweregrad sortierten Tabellen mit MITRE ATT&CK-Technik-IDs, ATT&CK-Taktik-Heatmap, Regelabdeckungsmetriken und anklickbaren Links zu Ausgabedateien angezeigt.

Sie können Zircolite direkt mit Python verwenden oder eine eigenständige Binärdatei herunterladen, die keine Python-Installation erfordert.

Die Dokumentation ist hier (dedizierte Website) oder hier (Repository-Verzeichnis) verfügbar.

Anforderungen / Installation

[!NOTE] Alles in diesem Abschnitt gilt nur beim Ausführen von Zircolite aus dem Quellcode. Die eigenständigen Binärdateien und das Docker-Image bringen ihr eigenes Python, jede Abhängigkeit und den kompilierten Kernel mit: Sie benötigen kein Python, keinen Paketmanager und keinen C-Compiler.

Das Projekt wurde mit Python 3.10 und höher getestet. Abhängigkeiten sind in pyproject.toml deklariert; installieren Sie sie aus dem geklonten Repository mit PDM (pdm install), uv (uv sync) oder Poetry (poetry install).

Die folgenden Beispiele führen python3 zircolite.py aus: Aktivieren Sie die vom Tool erstellte Umgebung, oder stellen Sie ihnen pdm run, uv run oder poetry run voran.

Abhängigkeiten

  • Erforderlich: orjson, xxhash, rich, rich-argparse, RestrictedPython, requests, urllib3, pySigma, evtx (pyevtx-rs), jinja2, lxml, chardet, psutil, pyyaml, py7zr, ijson, pyahocorasick, pyroaring
  • py7zr wird nur importiert, wenn eine .7z-Eingabe geöffnet wird; ZIP, gzip und bzip2 verwenden die Standardbibliothek.

⚠️ Installieren Sie zuerst einen C-Compiler

Die Installation aus dem Quellcode kompiliert Zircolites Flattening-Kernel mit Cython — aber nur, wenn bereits ein C-Compiler vorhanden ist. Ohne einen solchen ist die Installation trotzdem erfolgreich, und jeder Lauf flacht Ereignisse stattdessen in Python ab, was langsamer ist. Die Binärdateien und das Docker-Image werden mit bereits kompiliertem Kernel erstellt, daher betrifft dies sie nicht.

Installieren Sie also die Toolchain vor pdm install:

PlattformVoraussetzung
Debian, Ubuntuapt install build-essential python3-dev
RHEL, Fedora, Rockydnf install gcc python3-devel
Alpineapk add build-base python3-dev
macOSxcode-select --install
WindowsBuild Tools for Visual Studio ("Desktop development with C++")

Cython selbst muss nicht installiert werden: Es ist eine Build-Time-Anforderung, die in eine isolierte Build-Umgebung geholt und niemals zu Ihrer Umgebung hinzugefügt wird.

Eigenständige Binärdateien

Jede Version veröffentlicht ein eigenständiges Paket pro Plattform. Jedes bringt sein eigenes Python und jede Abhängigkeit mit, sodass nichts zuerst installiert werden muss.

ZielArchivLäuft auf
linux-x64Zircolite-<version>-linux-x64.zipglibc 2.28 oder neuer: RHEL 8, Debian 10, Ubuntu 20.04 und neuer
linux-arm64Zircolite-<version>-linux-arm64.zipglibc 2.28 oder neuer
macos-arm64Zircolite-<version>-macos-arm64.zipmacOS 15 oder neuer, Apple Silicon
windows-x64Zircolite-<version>-windows-x64.zipWindows 10 oder neuer
windows-arm64Zircolite-<version>-windows-arm64.zipWindows 10 oder neuer, ARM64

Intel-Macs und musl-basierte Distributionen wie Alpine haben keine Binärdatei; verwenden Sie dort Python oder Docker.

unzip Zircolite-<version>-linux-x64.zip
cd Zircolite-<version>-linux-x64
./Zircolite --events sysmon.evtx --ruleset rules/rules_windows_merged.json

Ersetzen Sie in den folgenden Beispielen python3 zircolite.py durch den Pfad zur ausführbaren Datei.

Die Binärdateien sind nicht codesigniert. macOS unter Quarantäne stellt einen mit einem Browser heruntergeladenen Download unter Quarantäne, die entpackten Dateien erben das Flag, und Gatekeeper blockiert dann die ausführbare Datei und jede Bibliothek in _internal/. Entfernen Sie es aus dem gesamten Verzeichnis, rekursiv, vor dem ersten Lauf:

xattr -dr com.apple.quarantine Zircolite-<version>-macos-arm64

Schnellstart

Sehen Sie sich (alte) Tutorials an, die von anderen erstellt wurden (EN, ES und FR) hier.

EVTX-Dateien

Hilfe ist verfügbar mit:

# Don't forget to prefix with "pdm run" or "uv run" or "poetry run" when needed
python3 zircolite.py -h

Wenn Ihre EVTX-Dateien die Erweiterung ".evtx" haben:

# python3 zircolite.py --evtx <EVTX FOLDER or EVTX FILE> --ruleset <SIGMA RULESET> [--ruleset <OTHER RULESET>]
python3 zircolite.py --evtx sysmon.evtx --ruleset rules/rules_windows_merged.json

--ruleset kann weggelassen werden: Zircolite verwendet dann rules/rules_windows_merged.json, was Sysmon und die generischen Windows-Kanäle abdeckt.

Verwenden nativer Sigma-Regeln (YAML)

Sie können native Sigma-Regeln (YAML) direkt verwenden:

# Single YAML rule
python3 zircolite.py --evtx sample.evtx --ruleset path/to/rule.yml

Kategorien