Zurück zu den Updates
New releaseSep 21, 2026

Zircolite v4.0.0

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 wendet Sigma-Erkennungsregeln an auf:

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

Hauptfunktionen

  • Formaterkennung: Erkennt Log-Formate und Zeitstempel-Felder automatisch. Liest gzip-, bzip2-, ZIP- und 7-Zip-Eingaben; verschlüsselte ZIP/7z-Eingaben beziehen ihr Passwort aus --ask-archive-password oder der Umgebungsvariable ZIRCOLITE_ARCHIVE_PASSWORD.
  • Sigma-Regeln: Konvertiert native YAML-Regeln mit pySigmas SQLite-Backend oder lädt vorkonvertierte JSON-Regelsätze.
  • Korrelationen: Zählungen, Statistiken, zeitliche Sequenzen, Abwesenheitsbedingungen und verkettete Regeln, mit unterstützenden Ereignissen in jedem Alarm. Der Unified-Modus unterstützt dateiübergreifende Korrelationen.
  • Feldverarbeitung: Teilt Schlüssel-Wert-Felder auf und wendet Python-Transformationen an, einschließlich Base64- und Hex-Dekodierung.
  • Export: JSON, CSV und Jinja-Vorlagen für JSONL, Splunk, Elastic, OpenSearch, Timesketch, SARIF und ATT&CK Navigator.
  • Terminal-Ausgabe: Nach Schweregrad sortierte Erkennungen, MITRE ATT&CK-Techniken und -Taktiken, Regelabdeckung und Ausgabelinks.

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

Lesen Sie die Dokumentationsseite oder die Repository-Dokumentation.

Anforderungen / Installation

[!NOTE] Quellinstallationen benötigen Python und einen Paketmanager. Die eigenständigen Binärdateien und das Docker-Image enthalten Python, Abhängigkeiten und den kompilierten Kernel.

Das Projekt wurde mit Python 3.10 und höher getestet. Die 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

Die Abhängigkeiten sind in pyproject.toml deklariert. Siehe Abhängigkeiten für ihre Rollen.

⚠️ Installieren Sie zuerst einen C-Compiler

Quellinstallationen verwenden einen C-Compiler, um den Cython-Flattening-Kernel zu bauen. Wenn die Kompilierung fehlschlägt, warnt das Build-Backend und die Installation wird mit dem langsameren Python-Kernel fortgesetzt. Setzen Sie ZIRCOLITE_REQUIRE_NATIVE=1, um einen erfolgreichen nativen Build zu erzwingen.

Für native Beschleunigung installieren Sie 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 wird automatisch als Build-Abhängigkeit installiert.

Eigenständige Binärdateien

Jede Veröffentlichung veröffentlicht ein eigenständiges Paket pro Plattform. Jedes enthält sein eigenes Python und jede Abhängigkeit, 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

Die Tutorials behandeln frühere Versionen in Englisch, Spanisch und Französisch.

EVTX-Dateien

Hilfe ist verfügbar mit:

# Prefix with pdm run, uv run or poetry run if the environment is not active
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, das Sysmon und die generischen Windows-Kanäle abdeckt.

Verwendung 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

# Directory of Sigma rules
python3 zircolite.py --evtx sample.evtx --ruleset ./sigma/rules/windows/process_creation

# With pySigma pipelines
python3 zircolite.py --evtx sample.evtx --ruleset rule.yml --pipeline sysmon --pipeline windows-logsources

--pipeline-list zeigt die installierten Pipelines. Die Angabe einer nicht installierten beendet den Lauf mit Exit-Code 2, bevor eine Regel konvertiert wird.

Andere Log-Formate

Zircolite erkennt das Log-Format in den meisten Fällen automatisch, daher sind explizite Format-Flags optional:

# Auto-detection (recommended) - Zircolite identifies the format automatically
python3 zircolite.py --events auditd.log --ruleset rules/rules_linux.json
python3 zircolite.py --events sysmon.log --ruleset rules/rules_linux.json
python3 zircolite.py --events <JSON_FOLDER_OR_FILE> --ruleset rules/rules_windows_merged.json

Kategorien