
ماسح IOC بسيط قائم على YARA
...ماسح ضوئي بسيط ومستقل ومعياري لمؤشرات الاختراق (IOCs) على مستوى المضيف
Spyre هو ماسح ضوئي بسيط لمؤشرات الاختراق على مستوى المضيف مبني على محرك مطابقة الأنماط YARA ووحدات مسح أخرى. الهدف الرئيسي من هذا المشروع هو تسهيل تشغيل قواعد YARA ومؤشرات الاختراق الأخرى.
يحتاج المستخدمون إلى توفير مجموعات القواعد الخاصة بهم. يوفر مستودع awesome-yara نظرة عامة جيدة على مجموعات قواعد yara المجانية المتاحة.
صُمم Spyre لاستخدامه كأداة تحقيق من قبل مستجيبي الحوادث. ليس المقصود منه أن يتطور إلى أي نوع من خدمات حماية نقاط النهاية.
استخدام Spyre سهل:
أضف تواقيع YARA. في التهيئة الافتراضية، سيقرأ Spyre قواعد YARA لفحص الملفات والعمليات من
filescan.yar وprocscan.yar على التوالي. توجد الخيارات التالية لتوفير ملفات القواعد لـ Spyre (وسيتم تجربتها بهذا الترتيب):
spyre أو spyre.exe، استخدم spyre.zip.يمكن تشفير محتويات ملف ZIP باستخدام كلمة المرور infected (معيار صناعة مكافحة الفيروسات) لمنع برامج مكافحة الفيروسات من مسح مجموعة القواعد، وتصنيفها كمحتوى ضار ومنع المسح.
قد تحتوي ملفات قواعد YARA على تعليمات include.
انشر، شغل الماسح الضوئي
اجمع التقرير والأدلة
تتم التهيئة وقت التشغيل عبر ملف اختياري spyre.yaml.
إذا تم إلحاق ملف ZIP بالملف الثنائي لـ Spyre، فسيتم قراءة التهيئة والملفات الأخرى مثل قواعد YARA من ملف ZIP هذا فقط. وإلا، فسيتم قراءتها من الدليل الذي وُضع فيه الملف الثنائي.
انظر الدليل الفرعي example-configuration/ للحصول على مثال.
hostname / مفتاح سطر الأوامر --set-hostname: تعيين اسم المضيف الذي سيُستخدم في ملف السجل وفي التقرير بشكل صريح. هذا غير مطلوب عادةً.
max-file-size / مفتاح سطر الأوامر --max-file-size: الحجم الأقصى للملفات التي سيتم مسحها باستخدام وحدات مسح الملفات المكلفة مثل YARA. الافتراضي: 32 ميجابايت
proc-ignore-names / مفتاح سطر الأوامر --proc-ignore: أسماء العمليات التي لن يتم مسحها باستخدام وحدات مسح ذاكرة العمليات.
paths / مفتاح سطر الأوامر --path: المسارات التي سيتم مسحها باستخدام وحدات مسح الملفات. الافتراضي: / (يونكس) أو جميع محركات الأقراص الثابتة (ويندوز).
report / مفتاح سطر الأوامر --report: تعيين هدف تقرير واحد أو أكثر. الافتراضي: spyre_${hostname}_${time}.log في دليل العمل الحالي، باستخدام تنسيق النص العادي. يمكن تحديد تنسيق إخراج مختلف بإضافة .
يوجد حالياً ثلاثة مجالات يمكن تنفيذ وحدات المسح لها: فحوصات على مستوى النظام، وفحوصات الملفات، وفحوصات العمليات.
فيما يلي الوحدات المنفذة حالياً ومعلمات التهيئة المدعومة.
system
eventobj (ويندوز)
iocsregistry (ويندوز)
iocswinkernelobj (ويندوز)
iocsconficker، منطقي: هل يجب إضافة مؤشرات الاختراق الديناميكية (المعتمدة على المضيف/العملية) الخاصة بـ Conficker إلى قائمة مؤشرات الاختراق؟ (الافتراضي: false)findwindow (ويندوز)
iocsfile
yara
rule-filesيرجى الرجوع إلى ملف التهيئة النموذجي example-spyre.yaml للحصول على تلميحات حول كيفية وصف مؤشرات الاختراق لكل وحدة.
تم تكوين YARA بالإعدادات الافتراضية، بالإضافة إلى المفاتيح الصريحة التالية (راجع 3rdparty.mk):
--disable-magic--disable-cuckoo--enable-dotnet--enable-macho--enable-dexلعمليات مسح الملفات، يتم تعريف المتغيرات التالية:
filename,filepath,extension,filetype (غير مملوء حالياً أثناء المسح)لعمليات مسح العمليات، يتم تعريف المتغيرات pid وexecutable.
يمكن استخدام المتغير الوصفي spyre_collect_limit للحد من عدد عمليات الكتابة التي يتم جمعها من الملفات المطابقة أو لمنع جمع الملفات تماماً. يمكن أن يكون هذا مفيداً للحد من حجم حزم الأدلة وتجنب جمع المعلومات الحساسة.
يمكن بناء Spyre لأهداف 32 بت و64 بت من لينكس وويندوز.
على نظام Debian/buster (أو chroot) تم تثبيت الحزم التالية فيه:
GOROOT.يصف هذا بيئة البناء التي يتم اختبارها بانتظام عبر CI.
تم تجربة نفس البناء بنجاح على Fedora 30 مع الحزم التالية المثبتة:
بمجرد تثبيت كل شيء، فقط اكتب make. سيؤدي ذلك إلى تنزيل الأرشيفات لـ musl-libc و_openssl_ و_yara_، وبناءها ثم بناء spyre.
يتم إنشاء الملفات الثنائية لـ spyre المجردة في _build/<triplet>/.
تشغيل make release ينشئ ملف ZIP يحتوي على تلك الملفات الثنائية لجميع البنيات المدعومة.
تمت إزالة التوافق مع هذه الأنظمة مع Go 1.11، لذلك مطلوب سلسلة أدوات Go 1.10. نظراً لأن Go 1.10 لا يدعم وحدات Go، يجب توفير تبعيات Go الخارجية: استخدم إصدار Go أحدث للقيام بذلك (فقط قم بتشغيل go vendor) وقم بتعيين GOROOT للإشارة إلى سلسلة أدوات Go 1.10 قبل تشغيل make.
حالياً، التجميع المتقاطع غير مدعوم.
make المقدم من النظام قديم جداً لأن Apple قررت أن تكون حساسة تجاه GPLv3. gmake من Homebrew يعمل بشكل جيد.
انظر HACKING.md
حقوق النشر 2018-2020 DCSO Deutsche Cyber-Sicherheitsorganisation GmbH
حقوق النشر 2020-2021 لمؤلفي مشروع Spyre (انظر: AUTHORS.txt)
هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العمومية الصغرى (LGPL) كما نشرتها مؤسسة البرمجيات الحرة، إما الإصدار 3 من الرخصة، أو (حسب اختيارك) أي إصدار لاحق.
انظر ملف LICENSE للحصول على نص الترخيص الكامل.
,format=FORMATالتنسيقات التالية مدعومة حالياً:
plain، الافتراضي، تنسيق نصي بسيط قابل للقراءة البشريةtsjson، مستند JSON يمكن استيراده إلى
Timesketchيتم توسيع متغيرات hostname وtime فقط في اسم الملف الهدف.
ملاحظة: من المحتمل أن يتغير تكوين أهداف التقرير في أحد الإصدارات القادمة.
high-priority / مفتاح سطر الأوامر --high-priority: في تكوينه الافتراضي (مع تعطيل هذا الإعداد)، يوجه Spyre جدولة نظام التشغيل لخفض أولويات وقت وحدة المعالجة المركزية وعمليات الإدخال/الإخراج، لتجنب تعطيل التشغيل الطبيعي للنظام.
مفتاح سطر الأوامر --loglevel=LEVEL: تعيين مستوى السجل. القيم الصالحة: trace, debug, info, notice, warn, error, quiet.
fail-on-warningsproc
yara
rule-filesfail-on-warnings