قائمة المحتويات:
- المقدمة
- سلسلة العدوى
- شجرة العملية
- الحملة 1:
- المثابرة
– ملفات الدفعات
– نص PowerShell
– محمل
– Xworm/Remcos - حملة شنومكس
- خاتمة
- IOCS
- الاكتشافات
- تدابير وإجراءات هجوم ميتري
مقدمة:
كشفت حملات التهديدات الأخيرة عن استخدام متزايد لبرامج التحميل القائمة على BAT لتوصيل أحصنة طروادة للوصول عن بُعد، بما في ذلك XWorm وRemcos. تبدأ هذه الحملات غالبًا بملف ZIP، يُستضاف عادةً على منصات موثوقة مثل ImgKit، وهي مصممة لتبدو كمحتوى أصلي لجذب تفاعل المستخدم.
عند استخراجه، يحتوي ملف ZIP على نص برمجي BAT مُعمّى للغاية، يُمثّل المرحلة الأولى من سلسلة العدوى. تستخدم ملفات BAT هذه تقنيات متقدمة لتجنب الكشف الثابت، وهي مسؤولة عن تشغيل مُحمّلات قائمة على PowerShell تُحقن حمولة RAT مباشرةً في الذاكرة. يُتيح هذا النهج التنفيذ بدون ملفات، وهو اتجاه متزايد في البرمجيات الخبيثة الحديثة لتجاوز دفاعات نقاط النهاية.
من التطورات الملحوظة في هذه الحملة استخدام ملفات SVG لتوزيع نصوص BAT الخبيثة. تحتوي هذه الملفات على لغة JavaScript مدمجة تُفعّل سلسلة التنفيذ عند عرضها في بيئات معرضة للخطر أو عند تضمينها في صفحات التصيد الاحتيالي. تُبرز هذه التقنية تحولًا نحو استخدام تنسيقات ملفات غير تقليدية لتوصيل البرامج الضارة، مستغلةً قدراتها البرمجية لتجنب الكشف.
سلسلة العدوى:

شجرة العملية:

الحملة 1:
خلال تحليل الحملة الأولى، حددنا العديد من نصوص BAT البرمجية المرتبطة بالحملة، مما يشير إلى تطور مشهد التهديدات. يبدو أن بعض هذه النصوص البرمجية قيد التطوير النشط، وتحتوي على جزء من التعليمات البرمجية أو في مرحلة الاختبار، بينما تعمل نصوص أخرى بكامل طاقتها وقادرة على تنفيذ سلسلة الهجوم كاملةً، بما في ذلك تنزيل الحمولة وتنفيذها.
تُظهر الصورة أدناه ملفين BAT:
- الطريقة 1: يتم تسليمها مباشرة كمرفق عبر EML (ملف البريد الإلكتروني).
- الطريقة 2: يتم التنزيل عبر عنوان URL المستضاف على منصة ImageKit.
ويشير هذا التنوع في طرق التسليم إلى أن الجهات الفاعلة في التهديد تقوم بتجربة أساليب مختلفة لتحسين معدلات نجاح الإصابة والتهرب من آليات الكشف.

إصرار:
يحقق البرنامج الخبيث استمراريته بإنشاء ملف BAT في مجلد بدء تشغيل ويندوز. هذا يضمن تنفيذ البرنامج النصي الخبيث تلقائيًا عند تشغيل المستخدم للنظام أو تسجيل دخوله إلى حسابه.

ملفات الدفعة:
يعرض الشكل أدناه نص BAT في شكله المشفر إلى جانب إصداره المشفر.

نص PowerShell:
يوضح الشكل أدناه نافذة عملية PowerShell ووسائط سطر الأوامر المستخدمة أثناء التنفيذ. يوفر هذا نظرة ثاقبة على كيفية استغلال البرنامج الخبيث لـ PowerShell لتوصيل الحمولة في الذاكرة. سنحلل نص PowerShell بالتفصيل في الأقسام التالية لفهم دوره في نشر XWorm.


يُشغّل أمر PowerShell هذا البرنامج النصي بفك تشفير سلسلة نصية مُرمّزة بتنسيق Base64 وتنفيذها في الذاكرة. يستخدم الأمر -nop لتجنب تحميل ملف تعريف المستخدم، و-w hidden لإخفاء النافذة، وiex (Invoke-Expression) لتشغيل المحتوى المُفكّك.
النص البرمجي الذي تمت إزالته:

قمنا بتقسيم النص البرمجي المُفكَّك إلى جزأين. الجزء الأول من نص PowerShell مصمم لتحديد موقع وتنفيذ كود مُشفَّر مُضمَّن في ملف دفعي (aoc.bat) موجود في دليل ملف تعريف المستخدم الحالي. أولًا، يسترجع اسم المستخدم من متغيرات البيئة لإنشاء المسار الكامل إلى aoc.bat. يقرأ جميع الأسطر باستخدام ترميز UTF-8، ويتكرر عبر كل سطر، باحثًا تحديدًا عن الأسطر التي تبدأ ببادئة تعليق ثلاثية النقاط (:::)، متبوعة بسلسلة مُشفَّرة بنظام Base64. عند العثور على مثل هذا السطر، يحاول فك تشفير سلسلة Base64 إلى مصفوفة بايت، ثم يحولها إلى سلسلة Unicode مُسندة إلى المتغير $ttzhae. تحتوي هذه السلسلة المُفكَّكة ($ttzhae) على طبقة إضافية من نص PowerShell البرمجي، والذي يتم تنفيذه بعد ذلك في الذاكرة باستخدام Invoke-Expression. يسمح هذا للمهاجم بتضمين وتنفيذ منطق PowerShell خبيث معقد أو متعدد المراحل بشكل سري داخل تعليق ملف دفعي يبدو بريئًا، مما يتيح التنفيذ الخفي وبدون ملفات.

يقوم هذا البرنامج النصي بتعطيل آليتين أمنيتين رئيسيتين في نظام ويندوز، وهما AMSI (واجهة فحص مكافحة البرامج الضارة) وETW (تتبع الأحداث في ويندوز)، وذلك لتجنب اكتشافه. ويستفيد من تقنية انعكاس .NET وإنشاء المندوبين الديناميكيين لحل وظائف أصلية مثل GetProcAddress وGetModuleHandle وVirtualProtect وAmsiInitialize. وباستخدام هذه الوظائف، يحدد موقع وظيفة AmsiScanBuffer في الذاكرة ويعدلها بتعليمات (mov eax, 0; ret)، متجاوزًا بذلك فحص AMSI. وبالمثل، يعطل تتبع الأحداث عن طريق استبدال بداية EtwEventWrite بتعليمات إرجاع. تسمح هذه التعديلات في الذاكرة بتنفيذ أنشطة PowerShell الخبيثة خلسةً، دون أن يتم تسجيلها أو فحصها بواسطة النظام. endpoint protection حلول.

في الجزء الثاني من سكربت PowerShell، يسترجع أولاً اسم المستخدم الحالي من بيئة التشغيل، ثم يُنشئ مسار ملف باسم aoc.bat موجود في مجلد ملف تعريف المستخدم. بعد ذلك، يُنفذ حمولات مُضمنة كتجميعات .NET مُشفرة ومضغوطة، مخفية داخل هذا الملف. يبحث السكربت تحديدًا عن سطر تعليق يبدأ بـ ::، يحتوي على سلسلة حمولة مُشفرة بنظام Base64. تُقسم هذه السلسلة إلى جزأين باستخدام الشرطة المائلة العكسية (\) كفاصل. يخضع كل جزء لفك تشفير Base64، ثم فك تشفير AES باستخدام مفتاح ومتجه تهيئة (IV) مُضمنين في الكود (في وضع CBC مع حشو PKCS7)، يليه فك ضغط GZIP كما هو موضح في الأشكال المرفقة. والنتيجة هي تجميعتان منفصلتان من .NET، يتم تحميلهما وتنفيذهما مباشرةً في الذاكرة. يتم استدعاء التجميعة الأولى بدون أي وسيطات، بينما يتم تنفيذ الثانية مع تمرير '%*' كمدخل سطر أوامر مُحاكى.

تلعب الحمولة الثانية دورًا أكثر أهمية. فهي تعمل كمحمل مسؤول عن تنفيذ البرامج الضارة النهائية. وهو حصان طروادة للوصول عن بعد XWorm (RAT).

محمل
صُمم المُحمِّل لتجنب الكشف، وتعطيل تسجيل الأحداث، وتنفيذ الحمولات المُضمَّنة مباشرةً في الذاكرة. ويحقق ذلك إما بفك تشفير ملفات .NET القابلة للتنفيذ وتشغيلها عبر Assembly.Load، أو بتنفيذ شفرة shellcode مفكَّكة باستخدام VirtualProtect والمندوبين.



قدرات المحمل:
- التهرب من الكشف

- تعطيل تسجيل الأحداث

- استخراج وتنفيذ الحمولات المضمنة
هنا، حددنا عدة مُحمِّلات تستخدم تقنيات التنفيذ في الذاكرة لتجنب الكشف والبقاء خفيةً. تحتوي بعض هذه المُحمِّلات على ملفات .NET قابلة للتنفيذ مُشفَّرة، تُفك تشفيرها وقت التشغيل وتُنفَّذ مباشرةً من الذاكرة باستخدام Assembly.Load متبوعًا بـ .EntryPoint.Invoke، مما يسمح للمُحمِّل بتشغيل الكود المُدار دون كتابة الملف القابل للتنفيذ على القرص.
في المقابل، تحتوي المتغيرات الأخرى على شفرة شل مشفرة بدلاً من ملف ثنائي. تفك هذه المتغيرات شفرة الشل، وتُعدِّل حماية الذاكرة باستخدام VirtualProtect لجعلها قابلة للتنفيذ، ثم تُنفِّذها باستخدام مُفوَّض مُنشأ عبر Marshal.GetDelegateForFunctionPointer. كما هو موضح في الأشكال أدناه،

- إصرار

دودة إكس
لقد سبق لنا أن قدمنا تقريراً عن XWorm و Remcos في وقت سابق من هذا العام، وقدمنا تحليلاً متعمقاً لوظائفها الأساسية وقدراتها المتقدمة مثل تسجيل ضغطات المفاتيح وتنفيذ الأوامر عن بعد واستخراج البيانات وأساليبها في البقاء والتهرب.

بالإضافة إلى XWorm، استخدمت العديد من المتغيرات في نفس الحملة أيضًا Remcos ، وهو حصان طروادة تجاري معروف على نطاق واسع للوصول عن بعد (RAT) والذي يوفر مجموعة من القدرات، بما في ذلك الوصول عن بعد إلى سطح المكتب، وتسجيل ضغطات المفاتيح، وتنفيذ الأوامر، ومعالجة الملفات، والتقاط لقطات الشاشة، واستخراج البيانات.
الحملة 2:
تُحدث الحملة الثانية نقلة نوعية في أساليب نشر البرمجيات الخبيثة من خلال الاستفادة من ملفات SVG (رسومات متجهية قابلة للتطوير) المُدمجة مع جافا سكريبت، والتي تُستخدم بشكل رئيسي في هجمات التصيد الاحتيالي. صُممت ملفات SVG الخبيثة هذه لتبدو كملفات صور أصلية، وتُعرض إما في بيئات برمجية ضعيفة (مثل برامج عرض الصور القديمة أو برامج البريد الإلكتروني) أو تُدمج داخل صفحات ويب للتصيد الاحتيالي مُصممة لجذب المستخدمين غير المُدركين. الآن، يعمل جافا سكريبت المُدمج في ملف SVG كآلية تشغيل، حيث يبدأ التنزيل التلقائي لملف ZIP عند فتح ملف SVG أو معاينته.
يحتوي ملف ZIP المُنزّل هذا على نص برمجي BAT مُشوّش، يُستخدم كمُوجّه وصول أولي للبرمجية الخبيثة. بمجرد تنفيذ نص BAT، سواءً يدويًا من قِبل المستخدم أو من خلال أساليب الهندسة الاجتماعية، يبدأ سلسلة عدوى متعددة المراحل، مُشابهة لتلك التي لوحظت في الحملة 1. على وجه التحديد، يستدعي نص BAT أوامر PowerShell لفك تشفير ملف تنفيذي (EXE) وتشغيله مُباشرةً في الذاكرة. هذا المحمّل مسؤول عن فك تشفير الحمولة النهائية ونشرها، وهي في هذه الحملة حصان طروادة XWorm للوصول عن بُعد (RAT).
يُمثل استخدام SVG كآلية توصيل تطورًا ملحوظًا في منهجية الهجوم، إذ تُعتبر ملفات الصور عادةً آمنة، وغالبًا ما تُستبعد من الفحص العميق للمحتوى بواسطة أدوات الأمن التقليدية. من خلال استغلال إمكانيات البرمجة النصية لـ SVG، يستطيع مُجرمو الإنترنت تجاوز دفاعات المحيط بفعالية وإرسال حمولات ضارة بطريقة خفية وبدون ملفات.
الخلاصة:
تُسلّط هذه الحملات الضوء على اتجاه متزايد نحو استخدام النصوص البرمجية المُعمّاة، والبرمجيات الخبيثة التي لا تحتاج إلى ملفات، وتنسيقات الملفات غير التقليدية مثل SVGs لإيصال أحصنة طروادة للوصول عن بُعد مثل XWorm وRemcos. من خلال تضمين الحمولات في ملفات BAT وتنفيذها عبر PowerShell، يتخطى المهاجمون بفعالية الدفاعات الثابتة. يُؤكّد هذا التحوّل من استخدام SVGs في هجمات التصيّد الاحتيالي إلى إيصال البرمجيات الخبيثة على الحاجة إلى الكشف السلوكي، وفحص المحتوى، وتحسين وعي المستخدم لمواجهة هذه التهديدات المتطورة.
IOCS:
| MD5 | قم بتقديم |
| EDA018A9D51F3B09C20E88A15F630DF5 | BAT |
| 23E30938E00F89BF345C9C1E58A6CC1D | JS |
| 1CE36351D7175E9244209AE0D42759D9 | محمل |
| EC04BC20CA447556C3BDCFCBF6662C60 | إكس وورم |
| D439CB98CF44D359C6ABCDDDB6E85454 | ريمكوس |
الاكتشافات:
Trojan.LoaderCiR
Trojan.GenericFC.S29960909
هجوم ميتري TTPs:
| تكتيك | معرف التقنية والاسم | الوصف |
| التنفيذ | T1059.001 – مُفسِّر الأوامر والنصوص البرمجية: PowerShell | يتم استخدام PowerShell لتفسير الأوامر وفك تشفير البيانات واستدعاء الحمولات. |
| T1106 – التنفيذ عبر واجهة برمجة التطبيقات | يستخدم البرنامج النصي واجهات برمجة تطبيقات .NET (على سبيل المثال، Assembly.Load، Invoke) لتنفيذ الحمولات في الذاكرة. | |
| التهرب الدفاعي | T1027 – الملفات أو المعلومات المشوشة | يتم ترميز الحمولات باستخدام Base64، وتشفيرها باستخدام AES، وضغطها لتجاوز عمليات الاكتشاف الثابتة. |
| T1140 – إزالة التشويش/فك تشفير الملفات أو المعلومات | يقوم البرنامج النصي بفك تشفير الحمولات وفك ضغطها قبل التنفيذ. | |
| T1055.012 – حقن العملية: حقن تجميع .NET | يتم تحميل الحمولات في الذاكرة | |
| T1036 – التنكر | يتم إخفاء المحتوى الضار في ملف الدفعة. | |
| إصرار | T1053 – مهمة/وظيفة مجدولة | إنشاء الاستمرارية من خلال قائمة strartup. |
| الوصول الأولي | T1204 – تنفيذ المستخدم | يعتمد التنفيذ على قيام المستخدم بتشغيل ملف الدفعة يدويًا |
| القيادة والتحكم | T1132 – ترميز البيانات | يتم استخدام Base64 والتشفير لتشفير الأوامر أو الحمولات. |
| T1219 – برنامج الوصول عن بُعد | يوفر Xworm إمكانية الوصول عن بعد والتحكم الكامل في المضيف المصاب. | |
| الوصول إلى بيانات الاعتماد | T1056.001 – التقاط الإدخال: تسجيل لوحة المفاتيح | يتضمن XWorm وظيفة تسجيل المفاتيح لسرقة إدخال المستخدم وبيانات الاعتماد. |
| exfiltration | T1041 – الترشيح عبر قناة C2 | يتم استخراج البيانات المسروقة عبر نفس قناة C2 التي يستخدمها Xworm. |
كاتب:
فايبهاف بيلايد
رومانا صديقي



