अपडेट पर वापस जाएँ
New releaseAug 5, 2026

Zircolite v3.8.1

EVTX, Auditd और Sysmon Linux लॉग्स के लिए एक स्टैंडअलोन SIGMA-आधारित डिटेक्शन टूल

साझा करें

Zircolite

EVTX, Auditd, Sysmon for Linux, XML, CSV और JSON लॉग्स के लिए स्टैंडअलोन Sigma-आधारित डिटेक्शन

python version

Zircolite आपके लॉग्स पर Sigma नियम चलाता है। यह इवेंट्स को SQLite में फ़्लैटन करता है, प्रत्येक नियम को एक SQL क्वेरी में बदलता है और जो मेल खाता है उसकी रिपोर्ट करता है, ऑफ़लाइन, एक ही कमांड में।

टर्मिनल में Zircolite

  • कई लॉग फ़ॉर्मेट, स्वचालित रूप से पहचाने जाते हैं: Windows EVTX (बाइनरी, XML, JSON), Auditd, Sysmon for Linux, EVTXtract, CSV, XML और JSON, सादे या gzip, bzip2, ZIP और 7-Zip आर्काइव में।
  • Sigma नियम जैसे हैं वैसे: pySigma के साथ कन्वर्ट किए गए नेटिव YAML, या rules/ में तैयार रूलसेट्स। कॉरिलेशन नियम शामिल हैं।
  • तेज़: एक कंपाइल्ड फ़्लैटनिंग कर्नेल, समानांतर वर्कर्स और रूल प्रीफ़िल्टरिंग; देखें बेंचमार्क।
  • फ़ील्ड प्रोसेसिंग: पैक्ड फ़ील्ड्स को स्प्लिट करें और सैंडबॉक्स्ड Python ट्रांसफ़ॉर्म चलाएँ (Base64 डिकोडिंग, IOC एक्सट्रैक्शन, LOLBin डिटेक्शन, …)।
  • एक्सपोर्ट्स: JSON, CSV, और Splunk, Elastic, OpenSearch, Timesketch, SARIF और ATT&CK Navigator के लिए टेम्पलेट्स।
  • टाइमलाइन: समय क्रम में प्रत्येक डिटेक्शन एक पंक्ति के रूप में, इवेंट के एक-पंक्ति सारांश के साथ, CSV या JSON lines के रूप में (--timeline)।
  • Zircolite Viewer: प्रत्येक इवेंट और डिटेक्शन एक ज़िप में जो ब्राउज़र में ऑफ़लाइन खुलता है।

📖 डॉक्यूमेंटेशन पढ़ें, docs/ में भी उपलब्ध है।

इंस्टॉल

स्टैंडअलोन बाइनरी, कुछ भी इंस्टॉल करने की आवश्यकता नहीं: अपने प्लेटफ़ॉर्म के लिए ज़िप रिलीज़ से डाउनलोड करें (Linux x64 और ARM64, macOS Apple silicon, Windows x64 और ARM64)।

Docker:

docker pull wagga40/zircolite:latest

PDM के साथ स्रोत से, Python 3.11 से 3.14:

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

pdm use PDM को Python 3.15 और free-threaded बिल्ड्स से दूर रखता है, जो अभी तक समर्थित नहीं हैं; 3.11 से 3.13 में से कोई भी काम करता है। साथ में uv:

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

स्रोत इंस्टॉल एक नेटिव फ्लैटनिंग कर्नेल संकलित करते हैं और इसके लिए एक C कंपाइलर की आवश्यकता होती है; इसके बिना वे धीमे Python कर्नेल पर वापस चले जाते हैं। कंपाइलर पैकेज, बाइनरी विवरण (macOS क्वारंटीन, चेकसम) और Docker अनुमतियों के लिए इंस्टॉलेशन देखें।

त्वरित शुरुआत

# 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

बाइनरी के साथ, python3 zircolite.py के बजाय ./Zircolite चलाएँ। स्रोत से, कमांड के आगे pdm run (या uv run) लगाएँ जब तक कि environment सक्रिय न हो। Docker के साथ, लॉग्स को mount करें और absolute paths दें:

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

Linux होस्ट पर, --user "$(id -u):$(id -g)" और -l /case/output/zircolite.log जोड़ें: इमेज एक अनविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलती है जो आपके स्वामित्व वाली निर्देशिका में लिख नहीं सकता।

पहचान detected_events.json में जाती हैं। इसे आज़माने के लिए लॉग के लिए, EVTX-ATTACK-SAMPLES देखें।

[!IMPORTANT] डिफ़ॉल्ट रूलसेट में शोरगुल वाले या धीमे नियम हो सकते हैं। अपने वातावरण के लिए नियम चुनें, और उन्हें python3 zircolite.py -U से अपडेट करें।

यह कैसे काम करता है

Zircolite प्रत्येक इवेंट को SQLite तालिका की एक पंक्ति में समतल करता है, प्रत्येक Sigma नियम को उस तालिका पर एक SQL क्वेरी में परिवर्तित करता है, और मेल खाने वाली पंक्तियों की रिपोर्ट करता है।

Zircolite कैसे काम करता है: लॉग SQLite तालिका की पंक्तियों में समतल किए जाते हैं, Sigma नियम SQL क्वेरी बन जाते हैं, और मेल खाने वाली पंक्तियाँ पहचान बन जाती हैं

Zircolite Viewer

--package एक zip लिखता है जिसमें रन के प्रत्येक इवेंट होते हैं, साथ में पहचान और सहसंबंध अलर्ट उनसे जुड़े होते हैं। इसे निकालें और index.html खोलें: व्यूअर ऑफ़लाइन चलता है और एक अवलोकन, पहचान, एक इवेंट तालिका जिसे आप किसी भी कॉलम से खोज, फ़िल्टर और सॉर्ट कर सकते हैं, एक टाइमलाइन, ATT&CK मैट्रिक्स, एंटिटीज़, दुर्लभतम मानों की स्टैकिंग, लॉगऑन और लेटरल मूवमेंट, प्रोसेस ट्री और एक SQL कंसोल प्रदान करता है। किसी पैकेज को वैसे ही साझा करें जैसे आप उन लॉग को करते जिनसे वह आया था। Zircolite Viewer देखें।

Zircolite Viewer का एक टूर: अवलोकन, एक गंभीर पहचान और उसके इवेंट, एक कॉलम फ़िल्टर और एक कॉलम के दुर्लभतम मान, एक इवेंट जिसका PowerShell कमांड डिकोड किया गया है और उसकी प्रोसेस गतिविधि, टाइमलाइन, ATT&CK मैट्रिक्स, एंटिटीज़, स्टैकिंग, लेटरल मूवमेंट और विशेषाधिकार प्राप्त सत्र, प्रोसेस ट्री और SQL कंसोल

बेंचमार्क

10-कोर Apple M1 Max पर माध्यिका वॉल टाइम, प्रत्येक टूल अपने डिफ़ॉल्ट पर अपने स्वयं के नियमों के साथ:

टूल4 Sysmon EVTX, 478 MB11 चैनलों पर 8 EVTX, 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 अन्य की तुलना में अधिक मेमोरी का उपयोग करता है, अपने समानांतर वर्कर्स के माध्यम से (--no-parallel उन्हें बंद कर देता है), और नियम सेट भिन्न हैं, इसलिए पहचान की गिनती की तुलना नहीं की जा सकती। मेमोरी, सेटअप और इसे पुनः उत्पन्न करने के तरीके के लिए Benchmark देखें।

ट्यूटोरियल, संदर्भ और संबंधित प्रोजेक्ट

ट्यूटोरियल, पिछले संस्करणों के लिए लिखे गए:

श्रेणियाँ