
Zircolite v3.8.0
أداة كشف مستقلة قائمة على SIGMA لسجلات EVTX وAuditd وSysmon على لينكس.
كشف مستقل قائم على Sigma لسجلات EVTX وAuditd وSysmon for Linux وXML وCSV وJSON
يشغّل Zircolite قواعد Sigma على سجلاتك. فهو يسطّح الأحداث إلى SQLite، ويحوّل كل قاعدة إلى استعلام SQL ويبلّغ عمّا يطابقها، دون اتصال بالإنترنت، بأمر واحد.

- تنسيقات سجلات متعددة، تُكتشف تلقائيًا: Windows EVTX (ثنائي، XML، JSON)، وAuditd، وSysmon for Linux، وEVTXtract، وCSV، وXML، وJSON، عادية أو داخل أرشيفات gzip وbzip2 وZIP و7-Zip.
- قواعد Sigma كما هي: YAML أصلية محوّلة بواسطة pySigma، أو مجموعات القواعد الجاهزة في
rules/. قواعد الارتباط مشمولة. - سريع: نواة تسطيح مُجمّعة، وعمال متوازون، وترشيح مسبق للقواعد؛ راجع القياس المرجعي.
- معالجة الحقول: تقسيم الحقول المعبّأة وتشغيل تحويلات Python داخل بيئة معزولة (فك ترميز Base64، واستخراج مؤشرات الاختراق IOC، وكشف LOLBin، …).
- التصدير: JSON، وCSV، وقوالب لـ Splunk وElastic وOpenSearch وTimesketch وSARIF وATT&CK Navigator.
- الخط الزمني: كل كشف كصف واحد بترتيب زمني، مع ملخص من سطر واحد للحدث، بصيغة CSV أو JSON lines (
--timeline). - Zircolite Viewer: كل حدث وكشف في ملف zip واحد يُفتح دون اتصال في المتصفح.
📖 اقرأ التوثيق، وهو متاح أيضًا في docs/.
التثبيت
ملف ثنائي مستقل، لا شيء لتثبيته: نزّل ملف zip الخاص بمنصتك من الإصدارات (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 أبطأ. راجع Installation للحصول على حزم المترجم، وتفاصيل الملفات الثنائية (حجر 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
مع وجود ملف ثنائي، شغّل ./Zircolite بدلاً من python3 zircolite.py. من المصدر، أضف البادئة
pdm run (أو uv run) إلى الأمر ما لم تكن البيئة نشطة. مع
Docker، اربط السجلات ومرّر مسارات مطلقة:
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 Viewer
يكتب --package ملف zip واحدًا يضم كل حدث في التشغيل، مع الاكتشافات وتنبيهات
الارتباط مرتبطة بها. استخرجه وافتح index.html: يعمل العارض دون اتصال
ويوفر نظرة عامة، والاكتشافات، وجدول أحداث يمكنك البحث فيه وتصفيته وفرزه حسب
أي عمود، وخطًا زمنيًا، ومصفوفة ATT&CK، والكيانات، وتجميع القيم الأندر، وعمليات تسجيل الدخول
والحركة الجانبية، وأشجار العمليات، ووحدة تحكم SQL. شارك الحزمة كما تشارك السجلات التي
جاءت منها. راجع Zircolite Viewer.

القياس المرجعي
الوسيط الزمني الفعلي على جهاز Apple M1 Max بعشرة أنوية، كل أداة بإعداداتها الافتراضية وبقواعدها الخاصة:
| الأداة | 4 ملفات Sysmon EVTX، 478 ميغابايت | 8 ملفات EVTX عبر 11 قناة، 13.3 غيغابايت |
|---|---|---|
| Zircolite | 7.7 ث | 30.2 ث |
| Hayabusa 4.2.0 | 23.3 ث | 500.3 ث |
| Chainsaw 2.17.1 | 48.3 ث | 183.0 ث |
يستخدم Zircolite ذاكرة أكبر من الأدوات الأخرى، بسبب عماله المتوازيين (--no-parallel
يوقفهم)، كما تختلف مجموعات القواعد، لذا لا يمكن مقارنة أعداد الاكتشافات. راجع
القياس المرجعي للاطلاع على الذاكرة والإعداد وكيفية إعادة إنتاج النتائج.
الدروس والمراجع والمشاريع ذات الصلة
دروس مكتوبة لإصدارات سابقة:
- الإنجليزية: Sigma and Zircolite، Russ McRee.
- الإسبانية: Running Sigma rules on EVTX files، César Marín.
- الفرنسية: Windows log investigation وHack the Box challenge write-up، IT-Connect.
المراجع: