العودة إلى التحديثات
New releaseAug 4, 2026

Zircolite v3.8.0

أداة كشف مستقلة قائمة على SIGMA لسجلات EVTX وAuditd وSysmon على لينكس.

مشاركة

Zircolite

كشف مستقل قائم على Sigma لسجلات EVTX وAuditd وSysmon for Linux وXML وCSV وJSON

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 كما هي: 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: تُسطَّح السجلات إلى صفوف في جدول SQLite، وتتحول قواعد Sigma إلى استعلامات SQL، وتصبح الصفوف المطابقة اكتشافات

Zircolite Viewer

يكتب --package ملف zip واحدًا يضم كل حدث في التشغيل، مع الاكتشافات وتنبيهات الارتباط مرتبطة بها. استخرجه وافتح index.html: يعمل العارض دون اتصال ويوفر نظرة عامة، والاكتشافات، وجدول أحداث يمكنك البحث فيه وتصفيته وفرزه حسب أي عمود، وخطًا زمنيًا، ومصفوفة ATT&CK، والكيانات، وتجميع القيم الأندر، وعمليات تسجيل الدخول والحركة الجانبية، وأشجار العمليات، ووحدة تحكم SQL. شارك الحزمة كما تشارك السجلات التي جاءت منها. راجع Zircolite Viewer.

جولة في Zircolite Viewer: النظرة العامة، واكتشاف حرج وأحداثه، وتصفية عمود وقيم العمود الأندر، وحدث مع فك ترميز أمر PowerShell الخاص به ونشاط عملياته، والخط الزمني، ومصفوفة ATT&CK، والكيانات، والتجميع، والحركة الجانبية والجلسات ذات الامتيازات، وشجرة العمليات ووحدة تحكم SQL

القياس المرجعي

الوسيط الزمني الفعلي على جهاز Apple M1 Max بعشرة أنوية، كل أداة بإعداداتها الافتراضية وبقواعدها الخاصة:

الأداة4 ملفات Sysmon EVTX، 478 ميغابايت8 ملفات EVTX عبر 11 قناة، 13.3 غيغابايت
Zircolite7.7 ث30.2 ث
Hayabusa 4.2.023.3 ث500.3 ث
Chainsaw 2.17.148.3 ث183.0 ث

يستخدم Zircolite ذاكرة أكبر من الأدوات الأخرى، بسبب عماله المتوازيين (--no-parallel يوقفهم)، كما تختلف مجموعات القواعد، لذا لا يمكن مقارنة أعداد الاكتشافات. راجع القياس المرجعي للاطلاع على الذاكرة والإعداد وكيفية إعادة إنتاج النتائج.

الدروس والمراجع والمشاريع ذات الصلة

دروس مكتوبة لإصدارات سابقة:

المراجع:

الفئات