برنامج VOID#GEIST الخبيث
كشف باحثو الأمن السيبراني عن حملة برمجيات خبيثة متطورة متعددة المراحل تعتمد على نصوص برمجية مجمعة لتوزيع حمولات مشفرة من برامج التجسس للتحكم عن بُعد (RAT). وتُعرف هذه الحملة باسم VOID#GEIST، وتستخدم عدة عائلات من برامج التجسس للتحكم عن بُعد، بما في ذلك XWorm وAsyncRAT وXeno RAT.
تعتمد سلسلة الهجوم على نص برمجي مُشفر يُشغّل سلسلة من الإجراءات المصممة لتجنب الكشف. تشمل هذه الإجراءات تشغيل نص برمجي إضافي، وإنشاء بيئة تشغيل بايثون مضمنة شرعية، وفك تشفير حمولات الشفرة الخبيثة المشفرة. تُنفّذ الشفرة الخبيثة مباشرةً في الذاكرة بعد حقنها في نسخ منفصلة من عملية Windows explorer.exe باستخدام تقنية تُعرف باسم حقن استدعاء الإجراء غير المتزامن المبكر (APC).
جدول المحتويات
توصيل البرامج الضارة عبر البرامج النصية: نموذج تهديد حديث
يتخلى المهاجمون المعاصرون بشكل متزايد عن البرامج الخبيثة التقليدية القابلة للتنفيذ بشكل مستقل، لصالح أطر عمل متعددة الطبقات تعتمد على البرامج النصية، تحاكي سلوك المستخدم الشرعي. فبدلاً من نشر الملفات التنفيذية المحمولة التقليدية، يُنسق المهاجمون مسارات متعددة المكونات تجمع بين العديد من التقنيات الشرعية وبيئات البرمجة النصية.
تشمل المكونات النموذجية المستخدمة ضمن هذه الأطر ما يلي:
- نصوص برمجية مجمعة تُستخدم لتنسيق تسلسل العدوى.
- أوامر PowerShell التي تسهل عملية تجهيز الحمولة الخبيثة بشكل خفي.
- أوقات تشغيل شرعية مضمنة تضمن قابلية النقل عبر الأنظمة.
- يتم تنفيذ التعليمات البرمجية الخام مباشرة في الذاكرة للحفاظ على الاستمرارية والتحكم.
يقلل هذا النهج في التنفيذ دون استخدام الملفات بشكل كبير من فرص الكشف القائم على القرص. تبدو كل مرحلة على حدة غير ضارة نسبيًا عند فحصها بشكل مستقل، وغالبًا ما تشبه النشاط الإداري الروتيني، مما يسمح للمهاجمين بالعمل داخل البيئات المخترقة دون إثارة تنبيهات أمنية فورية.
الوصول الأولي من خلال التصيد الاحتيالي وبنية Cloudflare التحتية
تبدأ نقطة انطلاق الهجوم ببرنامج نصي خبيث يُرسل عبر رسائل بريد إلكتروني تصيدية. يُسترجع هذا البرنامج من بنية تحتية مُستضافة على نطاق TryCloudflare. وبمجرد تنفيذه، يتجنب البرنامج عمدًا محاولات رفع مستوى الصلاحيات، ويعمل بدلاً من ذلك ضمن حدود صلاحيات المستخدم المُسجّل دخوله حاليًا.
تُمكّن هذه الاستراتيجية البرمجية الخبيثة من ترسيخ وجودها الأولي من خلال التخفي في العمليات الروتينية للمستخدمين. وبتجنب الإجراءات التي تتطلب صلاحيات إدارية، يقلل الهجوم من احتمالية ظهور تحذيرات أمنية أو مطالبات إدارية.
تقنيات التشتيت البصري والتنفيذ الخفي
بعد التنفيذ، تُطلق المرحلة الأولى من البرمجية الخبيثة مستندًا وهميًا لتشتيت انتباه الضحية. يُفتح متصفح جوجل كروم في وضع ملء الشاشة لعرض مستند مالي أو فاتورة بصيغة PDF. وبينما يركز المستخدم على المستند، يستمر النشاط الخبيث في الخلفية.
في الوقت نفسه، يتم تنفيذ أمر PowerShell لإعادة تشغيل ملف الدُفعة الأصلي مع إخفاء معلمات التنفيذ. يمنع استخدام المعلمة -WindowStyle Hidden ظهور نافذة وحدة تحكم مرئية، مما يضمن بقاء النشاط الضار مخفيًا عن المستخدم.
الاستمرارية من خلال تنفيذ بدء التشغيل على مستوى المستخدم
لضمان استمرار وجودها بعد إعادة تشغيل النظام، تقوم البرمجية الخبيثة بنشر ملف برمجي إضافي في مجلد بدء تشغيل مستخدم ويندوز. يضمن هذا الموقع تشغيل الملف البرمجي تلقائيًا عند تسجيل دخول الضحية إلى النظام.
تعتمد آلية الثبات هذه على أسلوب خفيّ متعمد. فبدلاً من استخدام أساليب أكثر توغلاً، مثل تعديل مفاتيح سجل النظام، أو إنشاء مهام مجدولة، أو تثبيت خدمات، يعتمد البرنامج الخبيث حصراً على سلوك بدء التشغيل القياسي للمستخدم. ولأن هذا الأسلوب يعمل بالكامل ضمن صلاحيات المستخدم الحالي، فإنه يتجنب إثارة مطالبات رفع الصلاحيات ويقلل من احتمالية اكتشافه بواسطة أدوات مراقبة سجل النظام.
إطار عمل استرجاع وفك تشفير الحمولة
خلال المرحلة التالية من سلسلة العدوى، يتصل البرنامج الخبيث بنطاق TryCloudflare لاسترداد مكونات حمولة إضافية مُعبأة في ملفات ZIP. تحتوي هذه الملفات على الوحدات اللازمة لفك تشفير وتنفيذ حمولات البرنامج الخبيث النهائية.
يحتوي الملف المضغوط الذي تم تنزيله عادةً على المكونات التالية:
- runn.py – مُحمِّل قائم على لغة بايثون مسؤول عن فك تشفير وحدات الشفرة الخبيثة المُشفَّرة وحقنها في الذاكرة
- new.bin – حمولة برمجية مشفرة مرتبطة بـ XWorm
- xn.bin – حمولة برمجية مشفرة تتوافق مع برنامج Xeno RAT
- pul.bin – حمولة برمجية مشفرة تتوافق مع AsyncRAT
- a.json و n.json و p.json – ملفات أساسية يستخدمها مُحمِّل بايثون لفك تشفير حمولات الشفرة الخبيثة ديناميكيًا أثناء وقت التشغيل
يُمكّن هذا التصميم المعياري المهاجمين من إعداد حمولات مختلفة بشكل مستقل وتفعيلها فقط عند الحاجة.
بيئة تشغيل بايثون مضمنة لسهولة النقل والتخفي
بمجرد استخراج الملف المضغوط، يقوم البرنامج الخبيث بنشر بيئة تشغيل بايثون مضمنة شرعية يتم الحصول عليها مباشرة من موقع python.org. إن تضمين مترجم شرعي يلغي الاعتماد على أي تثبيت لبايثون قد يكون موجودًا بالفعل على النظام المخترق.
من وجهة نظر المهاجم، توفر هذه الخطوة عدة مزايا استراتيجية. إذ يصبح البرنامج الخبيث بيئة تنفيذ مستقلة قادرة على فك تشفير البيانات وحقن الحمولات دون الحاجة إلى أي تبعيات خارجية. وهذا يُحسّن قابلية النقل بين الأنظمة المختلفة، ويعزز الموثوقية، ويساهم في التخفي التشغيلي باستخدام مكونات برمجية شرعية.
تنفيذ حمولات متعددة لبرامج التجسس عن بعد في الذاكرة
ثم يُستخدم وقت تشغيل بايثون المدمج لتنفيذ برنامج التحميل runn.py. يقوم برنامج التحميل بفك تشفير الشيفرة الخبيثة المرتبطة بـ XWorm وحقنها في نسخة قيد التشغيل من explorer.exe باستخدام تقنية حقن APC من نوع Early Bird.
لنشر برنامج Xeno RAT الخبيث، يستغل البرنامج ملفًا تنفيذيًا شرعيًا من مايكروسوفت يُسمى AppInstallerPythonRedirector.exe، والذي يُستخدم لاستدعاء بايثون وتنفيذ المكونات المطلوبة. ثم يُعاد استخدام نفس أسلوب الحقن لنشر برنامج AsyncRAT، مما يضمن تنفيذ جميع الحمولات بالكامل في الذاكرة دون ترك أي ملفات تنفيذية تقليدية على القرص.
نظام إرسال إشارات القيادة والتحكم والهندسة المعمارية المعيارية
تتضمن المرحلة الأخيرة من الهجوم إرسال إشارة HTTP بسيطة إلى بنية التحكم والسيطرة (C2) التي يتحكم بها المهاجم والمستضافة على منصة TryCloudflare. تؤكد هذه الإشارة أن النظام قد تم اختراقه بنجاح وأنه جاهز لتلقي المزيد من التعليمات.
على الرغم من أن الأهداف المحددة للحملة لا تزال مجهولة، إلا أن سلسلة العدوى تُظهر بنيةً معياريةً للغاية. فبدلاً من نشر حمولة برمجية خبيثة واحدة كبيرة، يُدخل المهاجمون المكونات تدريجياً عبر مراحل متعددة. يُحسّن هذا التصميم المرونة التشغيلية والقدرة على الصمود.
من منظور الكشف، يبرز مؤشر سلوكي ملحوظ طوال الحملة: وهو حقن عمليات متكررة في ملف explorer.exe خلال فترات زمنية قصيرة. يمكن أن يكون هذا النمط بمثابة إشارة قوية للمدافعين الذين يحاولون ربط النشاط المشبوه عبر مراحل مختلفة من دورة حياة الهجوم.