لقد تناولنا مقدمة عن قواعد YARA وكيفية إنشائها للكشف عن البرامج الضارة باستخدام أنماط تتطابق مع المؤشرات الشائعة للاختراق. يتم إنشاء قواعد YARA وتخزينها داخل ملفات القواعد التي تحمل الامتداد .yar وتتم كتابة القواعد بلغة YAML. كما استخدمنا أيضًا برنامج LOKI python النصي كأداة للبحث عن الملفات الخبيثة باستخدام قواعد Yara. تناولنا أيضًا كيفية إنشاء قواعد Yara باستخدام أداة yaraGen. وأخيرًا شرحنا كيفية البحث عن قواعد يارا وتنزيلها باستخدام موجز VALHALLA. كان هذا جزءًا من برنامج TryHackMe Yara الذي يندرج تحت مسار SOC المستوى 1.

ملاحظات حول شهادة COMPTIA Security+ Security+

دورة اختبار اختراق تطبيقات الويب العملية الكاملة لاختبار اختراق تطبيقات الويب

ما هي يارا؟

يارا هي أداة لمطابقة الأنماط تُستخدم على نطاق واسع في مجال الأمن السيبراني للكشف عن البرمجيات الخبيثة والتهديدات من خلال البحث عن أنماط محددة مسبقًا في الملفات. تُستخدم هذه الأداة في استخبارات التهديدات والتحليل الجنائي الرقمي واكتشاف البرمجيات الخبيثة. وخلافاً لبرامج مكافحة الفيروسات التقليدية التي تعتمد على الكشف القائم على التوقيع، توفر يارا كشفاً قائماً على القواعد القابلة للتخصيص، مما يسمح للمحللين بالبحث عن التهديدات بطريقة أكثر مرونة.

أنواع الملفات التي يمكن ل Yara تحليلها

Yara قادرة على تحليل تنسيقات ملفات مختلفة، بما في ذلك:

  • ملفات ثنائية (ملفات تنفيذية، DLLs)
  • الملفات النصية (السجلات، البرامج النصية)
  • ملفات PHP (المستخدمة في تطوير الويب)
  • ملحقات أخرى حسب الحاجة الأمنية

ملفات قواعد يارا (.yar)

ملف قاعدة Yara هو ملف تكوين نصي بامتداد .yar ، مكتوب بتنسيق YAML. تحتوي كل قاعدة على شروط بحث تساعد في تحديد المؤشرات الضارة داخل الملفات. يمكن أن يحتوي ملف القاعدة على قاعدة واحدة أو قواعد متعددة.

مؤشرات التسوية (IOCs)

مؤشرات الاختراق (IOCs) هي آثار رقمية تتركها البرمجيات الخبيثة أو الجهات الفاعلة في مجال التهديد. تساعد قواعد يارا في اكتشافها من خلال البحث عن:

  • السلاسل – البرامج النصية أو الأجزاء النصية الخبيثة
  • أسماء النطاقات – النطاقات التي تستخدمها البرمجيات الخبيثة للتواصل
  • عناوين IP – عناوين IP المرتبطة بخوادم القيادة والتحكم
  • تجزئات الملفات – معرّفات فريدة لملفات البرمجيات الخبيثة المعروفة
  • محافظ البيتكوين – العناوين المستخدمة في مدفوعات الفدية

من خلال تحديد هذه المؤشرات، يمكن للمحللين اكتشاف التهديدات بشكل استباقي والتخفيف من حدتها قبل أن تتسبب في أضرار كبيرة.

هيكل قاعدة يارا

تتكون قاعدة يارا من أربعة مكونات أساسية:

  1. قسم التعريف – يخزن البيانات الوصفية حول القاعدة مثل:
    • المؤلف
    • الوصف
    • المراجع
    • تاريخ الإنشاء
  2. اسم القاعدة – يجب أن يكون لكل قاعدة معرّف فريد لتمييزها عن القواعد الأخرى.
  3. قسم السلاسل – يحدد الأنماط التي يجب البحث عنها في الملف. يمكن أن تكون هذه الأنماط
    • سلاسل نصية عادية (على سبيل المثال، "malicious_code")
    • الأنماط السداسية العشرية (على سبيل المثال، {6A 40 68 00 30 00 00})
  4. قسم الشروط – يحدد كيفية مطابقة القاعدة مع ملف ما. يمكن استخدام الشروط:
    • المنطق المنطقي المنطقي (AND, OR, , NOT)
    • المشغلون (<=, >=, , ==)
    • شروط مطابقة السلسلة (any of them ، all of them)

شروط القاعدة والمشغلين

توفر يارا تعبيرات منطقية قوية لتحسين اكتشاف البرمجيات الخبيثة. تتضمن بعض الشروط الشائعة ما يلي:

  • true – ستتطابق القاعدة دائماً.
  • any of them – تتطابق القاعدة إذا تم العثور على أي من السلاسل المحددة.
  • all of them – تتطابق القاعدة فقط إذا تم العثور على جميع السلاسل المحددة.
  • المشغلون: تتيح يارا للعديد من المشغلين تنقيح الشروط:
    • <=، >= – يتحقق مما إذا كانت القيمة أقل من أو أكبر من رقم معين.
    • contains – يضمن احتواء الملف على سلسلة محددة.
    • matches – تُستخدم للتعبيرات العادية.

أدوات قاعدة يارا

تساعد العديد من الأدوات في أتمتة وتحسين إنشاء قواعد يارا وتنفيذها وفحصها:

🔨 يارا توليد يارا

  • يعمل على إنشاء القواعد تلقائياً من خلال إنشاء قواعد من مجموعة من الملفات.
  • مفيد للكشف عن أنماط البرمجيات الخبيثة الشائعة عبر ملفات متعددة.
  • مثال على الأمر:
python yara_generate.py - d <الدليل> -o output.yar

الماسح الضوئي لوكي

  • ماسح ضوئي قائم على يارا لتحديد التهديدات في الملفات.
  • يستخدم قواعد محددة مسبقاً للإبلاغ عن المؤشرات الضارة.
  • يمكن توسيعها بإضافة قواعد جديدة.

مثال على أمر لمسح ملف:

بايثون Loki.py -p <file_directory>

ثور

  • نسخة محسنة من Loki مع إدارة أفضل لوحدة المعالجة المركزية والموارد.
  • ميزات اختناق المسح الضوئي لتقليل حمل النظام.

🌍 فالهالا

  • مستودع قواعد يارا على الإنترنت للباحثين في مجال الأمن.
  • يسمح للمحللين بالبحث عن القواعد حسب IOC أو التجزئة أو المجال.
  • يوفر إمكانية الوصول إلى قواعد يارا التي أنشأها المجتمع.

الاستخدام العملي للماسح الضوئي لوكي

يوضح الفيديو كيفية استخدام ماسح Loki Scanner في سيناريو تحليل البرمجيات الخبيثة في العالم الحقيقي:

  1. فحص الملفات بحثاً عن البرامج الضارة
    • تم فحص دليل يحتوي على ملفين مشبوهين (file1 و file2) باستخدام Loki.
    • الأمر المستخدم:
بيثون Loki.py -p suspicious_files
  • تُظهر نتيجة الفحص أن الملف 1 خبيث وتم وضع علامة عليه كقذيفة ويب.

فحص تطابق قواعد يارا

  • يحتوي مخرج الكشف على:
    • اسم القاعدة المتطابقة
    • الأوتار المتطابقة
    • سبب الإبلاغ عن الملف
  • يُصنف الملف الذي تم وضع علامة عليه على أنه قذيفة ويب، والتي يمكن استخدامها للوصول غير المصرح به.

إنشاء قاعدة يارا مخصصة

  • باستخدام Yara Generate ، يتم إنشاء قاعدة مخصصة لاكتشاف نفس البرمجيات الخبيثة في عمليات الفحص المستقبلية.
  • يتم تخزين القاعدة في ملف .yar واختبارها مقابل ملفات أخرى باستخدام:
دليل يارا custom_rule.yarle.yar <>
  1. باستخدام VirusTotal & Valhalla
    • يتم إجراء عملية بحث عن التجزئة في Valhalla للتحقق مما إذا كانت البرمجيات الخبيثة المكتشفة مرتبطة بمجموعات التهديدات المستمرة المتقدمة (APT).
    • يُحدد فحص VirusTotal ما إذا كانت محركات مكافحة الفيروسات قد اكتشفت البرمجيات الخبيثة.

🔍 استخدام فالهالا لاستخبارات التهديدات

  1. البحث عن تجزئة البرامج الضارة
    • يتم التحقق من تجزئة SHA256 للملف في Valhalla لمعرفة ما إذا كان قد تم وضع علامة عليه.
    • إذا تم العثور عليها، فقد تكون مرتبطة بهجوم APT معروف.
  2. فحص تقارير VirusTotal
    • يتم إرسال تجزئة البرامج الضارة إلى VirusTotal.
    • يُظهر التقرير:
      • اكتشافات مكافحة الفيروسات للملف.
      • تصنيف الملف (خبيث أو مشبوه أو حميد).
      • المتغيرات المعروفة من البرمجيات الخبيثة.

إجابات الغرفة | TryHackMe Yara

ما هو اسم نظام ترقيم الأساس 16 الذي يمكن أن تكتشفه يارا؟

هل سيكون النص “أدخل اسمك” سلسلة في التطبيق؟ (نعم/لا)

فحص الملف 1. هل يكتشف Loki هذا الملف على أنه مشبوه/خبيث أم حميد؟

ما هي قاعدة يارا التي تطابقت عليها؟

ماذا يصنف لوكي هذا الملف على أنه ملف؟

بناءً على المخرجات، ما السلسلة التي تطابقت مع قاعدة يارا؟

ما هو اسم وإصدار أداة الاختراق هذه؟

افحص ملف يارا الفعلي الذي وضع علامة على الملف 1. ضمن هذه القاعدة، كم عدد السلاسل الموجودة للإبلاغ عن هذا الملف؟

فحص الملف 2. هل يكتشف Loki هذا الملف على أنه مشبوه/خبيث أم حميد؟

فحص الملف 2. ما هو اسم وإصدار صدفة الويب هذه؟

من داخل جذر دليل الملفات المشبوهة، ما الأمر الذي ستقوم بتشغيله لاختبار يارا وقاعدة يارا الخاصة بك ضد الملف 2؟

هل حكمت يارا ملف العلم 2؟ (نعم/لا)

انسخ قاعدة يارا التي أنشأتها في دليل توقيعات Loki.

اختبر قاعدة يارا مع لوكي، هل تضع علامة على الملف 2؟ (نعم/لا)

ما هو اسم المتغير للسلسلة التي تطابقت معها؟

افحص قاعدة يارا، كم عدد السلاسل التي تم إنشاؤها؟

يحدد أحد شروط المطابقة في قاعدة يارا حجم الملف. يجب أن يكون الملف أقل من أي حجم؟

أدخل تجزئة SHA256 للملف 1 في Valhalla. هل هذا الملف منسوب إلى مجموعة APT؟ (نعم/لا)

افعل الشيء نفسه مع الملف 2. ما اسم قاعدة يارا الأولى للكشف عن الملف 2؟

قم بفحص المعلومات الخاصة بالملف 2 من Virus Total (VT). مطابقة توقيع يارا من أي ماسح ضوئي؟

أدخِل تجزئة SHA256 للملف 2 في برنامج Virus Total. هل اكتشفت كل برامج مكافحة الفيروسات أنها ضارة؟ (نعم/لا)

إلى جانب.PHP، ما هو الامتداد الآخر المسجل لهذا الملف؟

ما هي مكتبة JavaScript المستخدمة في الملف 2؟
هل قاعدة يارا هذه في ملف يارا الافتراضي الذي يستخدمه لوكي لاكتشاف هذا النوع من أدوات الاختراق؟ (نعم/لا)

فيديو تفصيلي

الحقائق المبنية على الأرقام

700 كيلوبايت – الحد الأقصى لحجم الملف المحدد لقاعدة يارا لتفعيل الاكتشاف.

3.2.3 – رقم الإصدار الخاص بصدفة الويب المكتشفة.

1,000+ – العدد المحتمل لقواعد يارا التي يمكن تضمينها في ملف واحد .yar.

2 – عدد الملفات التي تم فحصها في البرنامج التعليمي باستخدام Loki.

الملخص

🔎 ما هي يارا؟ – يارا هي أداة لمطابقة الأنماط تُستخدم في تعقّب التهديدات، مما يسمح لمحللي الأمن بالبحث عن أنماط محددة في الملفات الثنائية أو النصية.📁 أنواع الملفات التي يمكنها تحليلها – يمكن لـ Yara اكتشاف الأنماط في أنواع ملفات متعددة، بما في ذلك الملفات الثنائية والنصية وملفات PHP وامتدادات أخرى متنوعة.📝 ملفات قواعد يارا – ملف قاعدة يارا ( .yar) تحتوي على قواعد متعددة مكتوبة بصيغة YAML، تحدد شروط البحث للكشف عن البرمجيات الخبيثة.🛑 مؤشرات الاختراق (IOCs) – وهي سمات مثل السلاسل والنطاقات وعناوين IP وعناوين التجزئة ومحافظ البيتكوين التي تساعد في تحديد الملفات الخبيثة. 🏗 هيكل قاعدة يارا:

  • قسم التعريف – يحتوي على تفاصيل مثل الغرض من القاعدة والمؤلف والمراجع.
  • اسم القاعدة – معرّف فريد للقاعدة.
  • السلاسل – تحدد الأنماط (سداسية عشرية، نصية) التي تبحث عنها القاعدة.
  • الشرط – يحدد شروط تشغيل المطابقة.

شروط القاعدة والعوامل – تتضمن الشروط الشائعة ما يلي true, any of them, all of themوالعوامل المنطقية (AND, OR, <=, >=).⚙ أدوات قاعدة يارا:

  • Yara Generate – أداة تعمل على إنشاء القواعد تلقائيًا بناءً على نمط أو مجموعة ملفات.
  • Loki – ماسح ضوئي يارا يستخدم لتحديد التهديدات في الملفات بناءً على قواعد محددة مسبقًا.
  • Thor – نسخة محسّنة من Loki، تتميز بخفض سرعة وحدة المعالجة المركزية وتحسين الفحص.
  • Valhalla – قاعدة بيانات على الإنترنت للبحث في قواعد يارا الحالية باستخدام التجزئة أو عناوين IP أو IOCs.

🚀 الاستخدام العملي لماسح لوكي الضوئي:

  • تشغيل python tools/Loki.py -p <directory> لفحص دليل معين بحثاً عن ملفات مشبوهة.
  • يكتشف Loki قذائف الويب والملفات الضارة بناءً على قواعد محددة مسبقاً.

🔧 إنشاء قاعدة يارا مخصصة:

  • استخدام Yara Generate لإنشاء ملف قاعدة (.yar) للكشف عن تهديدات محددة.
  • تشغيل الأمر Yara لاختبار القاعدة التي تم إنشاؤها حديثًا مقابل الملفات الموجودة في الدليل.

🔍 استخدام فالهالا لاستخبارات التهديدات:

  • البحث عن تجزئة ملف في Valhalla لتحديد ما إذا كان مرتبطًا بمجموعة تهديدات متقدمة مستمرة (APT).
  • مراجعة تقارير VirusTotal للتحقق مما إذا كان الملف قد تم وضع علامة عليه كملف خبيث من قبل العديد من حلول مكافحة الفيروسات.
About the Author

Mastermind Study Notes is a group of talented authors and writers who are experienced and well-versed across different fields. The group is led by, Motasem Hamdan, who is a Cybersecurity content creator and YouTuber.

View Articles