WinorDLL64: باب خلفي من ترسانة لعازر الضخمة؟

WinorDLL64: باب خلفي من ترسانة لعازر الضخمة؟

عقدة المصدر: 1975596

تشير المنطقة المستهدفة ، والتداخل في السلوك والرمز ، إلى أن الأداة مستخدمة من قبل مجموعة APT سيئة السمعة المتحالفة مع كوريا الشمالية

اكتشف باحثو ESET إحدى حمولات Wslink تنزيل التي اكتشفناها في عام 2021. أطلقنا على هذه الحمولة اسم WinorDLL64 بناءً على اسم الملف الخاص بها WinorDLL64.dll. Wslink ، والذي كان له اسم الملف WinorLoaderDLL64.dll، هو أداة تحميل للثنائيات التي تعمل بنظام التشغيل Windows والتي ، بخلاف برامج التحميل الأخرى ، تعمل كخادم وتقوم بتنفيذ الوحدات النمطية المتلقاة في الذاكرة. كما توحي الصياغة ، فإن أداة التحميل تعمل كأداة لتحميل الحمولة ، أو البرنامج الضار الفعلي ، على النظام المخترق بالفعل. لم يتم تحديد متجه تسوية Wslink الأولي.

تم تحميل حمولة Wslink غير المعروفة في البداية إلى VirusTotal من كوريا الجنوبية بعد فترة وجيزة من نشر مدونتنا ، وضربت إحدى قواعد YARA الخاصة بنا استنادًا إلى اسم Wslink الفريد WinorDLL64. فيما يتعلق بـ Wslink ، لم يشهد القياس عن بعد ESET سوى عدد قليل من الاكتشافات - في وسط أوروبا وأمريكا الشمالية والشرق الأوسط.

WinorDLL64 يعمل payload بمثابة باب خلفي يكتسب بشكل ملحوظ معلومات شاملة عن النظام ، ويوفر وسائل لمعالجة الملفات ، مثل إخراج الملفات واستبدالها وإزالتها ، وتنفيذ أوامر إضافية. ومن المثير للاهتمام ، أنه يتصل عبر اتصال تم إنشاؤه بالفعل بواسطة أداة تحميل Wslink.

في عام 2021 ، لم نعثر على أي بيانات تشير إلى أن Wslink هي أداة من جهة تهديد معروفة. ومع ذلك ، بعد تحليل مكثف للحمولة ، قمنا بإسنادها WinorDLL64 لمجموعة Lazarus APT بثقة منخفضة بناءً على المنطقة المستهدفة وتداخل في السلوك والرمز مع عينات Lazarus المعروفة.

نشط منذ عام 2009 على الأقل ، هذه المجموعة الشائنة المتحالفة مع كوريا الشمالية مسؤولة عن حوادث بارزة مثل كلا من اختراق سوني بيكتشرز انترتينمنت وعشرات الملايين من الدولارات الملحدين السيبرانيين في عام 2016أطلقت حملة WannaCryptor (المعروف أيضًا باسم WannaCry) في عام 2017 ، وتاريخ طويل من الهجمات التخريبية ضد البنية التحتية العامة والحاسمة في كوريا الجنوبية منذ عام 2011 على الأقل. يسمي US-CERT ومكتب التحقيقات الفيدرالي هذه المجموعة خفية كوبرا.

استنادا لدينا معرفة واسعة من أنشطة وعمليات هذه المجموعة ، نعتقد أن Lazarus يتكون من فريق كبير منظم بشكل منهجي ومجهز جيدًا ويتكون من عدة مجموعات فرعية تستخدم مجموعة أدوات كبيرة. في العام الماضي نحن اكتشف أداة Lazarus التي استفادت من CVE ‑ 2021-21551 الضعف لاستهداف موظف في شركة طيران في هولندا ، وصحفي سياسي في بلجيكا. كانت أول إساءة استخدام مسجلة للضعف ؛ معًا ، أدت الأداة والثغرة الأمنية إلى تعمية مراقبة جميع الحلول الأمنية على الأجهزة المخترقة. قدمنا ​​أيضًا وصفًا شاملاً لـ هيكل الآلة الافتراضية المستخدمة في عينات من Wslink.

تشرح هذه المدونة إسناد WinorDLL64 إلى Lazarus وتوفر تحليلاً للحمولة.

روابط لعازر

لقد اكتشفنا تداخلًا في كل من السلوك والتعليمات البرمجية مع عينات Lazarus من عملية GhostSecret و زرع بانكسوت وصفها مكافي. يحتوي وصف الغرسات في كل من مقالات GhostSecret و Bankshot على تداخلات في الوظيفة مع WinorDLL64 ووجدنا بعض التداخل في التعليمات البرمجية في العينات. في هذه المدونة سنستخدم فقط امتداد FE887FCAB66D7D7F79F05E0266C0649F0114BA7C عينة من GhostSecret للمقارنة مع WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F)، ما لم يتم ذكر خلاف ذلك.

تلخص التفاصيل التالية الحقائق الداعمة لإسناد ثقتنا المنخفضة إلى لعازر:

1. علم الضحايا

  • أكد زملاء باحثون من AhnLab ضحايا كوريا الجنوبية لـ Wslink في القياس عن بعد ، وهو مؤشر ذو صلة بالنظر إلى أهداف Lazarus التقليدية وأننا لاحظنا عددًا قليلاً فقط من النتائج.

الشكل 1. الضحية الكورية الجنوبية المبلغ عنها ، حيث mstoned7 هو الباحث من Ahnlab

2. البرمجيات الخبيثة

  • أحدث نموذج GhostSecret تم الإبلاغ عنه بواسطة McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) من فبراير 2018 ؛ اكتشفنا أول عينة من Wslink في أواخر عام 2018 وأبلغ زملاؤنا الباحثون عن نتائج في أغسطس 2018 ، والتي كشفوا عنها بعد نشرنا. ومن ثم ، تم رصد هذه العينات لفترة زمنية قصيرة نسبيًا.
  • الرؤوس الغنية بـ PE تشير إلى أنه تم استخدام نفس بيئة التطوير والمشاريع ذات الحجم المماثل في العديد من عينات Lazarus المعروفة الأخرى (على سبيل المثال ، 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). وجدنا هذا التداخل باستخدام القواعد التالية التي تغطي فقط عينات Wslink و Lazarus ، وهو مؤشر ذو وزن منخفض. اختبرناها على البحث الرجعي لفايروس توتال ومجموعة ملفاتنا الداخلية.

rich_signature.length == 80 و
pe.rich_signature.toolid (175 ، 30319) == 7 و
pe.rich_signature.toolid (155 ، 30319) == 1 و
pe.rich_signature.toolid (158 ، 30319) == 10 و
pe.rich_signature.toolid (170 ، 30319)> = 90 و
pe.rich_signature.toolid (170 ، 30319) <= 108

يمكن ترجمة هذه القاعدة إلى التدوين التالي الذي يسهل قراءته واستخدامه بواسطة VirusTotal ، حيث يمكن للمرء رؤية إصدار المنتج ومعرف الإصدار (VS2010 بناء 30319) ، وعدد ونوع ملفات المصدر / الكائن المستخدمة ([LTCG C ++] حيث يرمز LTCG إلى إنشاء رمز وقت الارتباط ، [ASM], [C])، وعدد الصادرات ([خبرة]) في حكم:

[LTCG C ++] عدد الإصدار 2010 من VS30319 = 7
[EXP] عدد إصدار VS2010 30319 = 1
[ASM] عدد 2010 إصدار VS30319 = 10
[C] VS2010 build 30319 عدد [90 .. 108]

  • وصفت مقالة GhostSecret "مكونًا فريدًا لجمع البيانات وتثبيت الغرسة يستمع إلى المنفذ 443 لاتصالات خادم التحكم الداخلي" والذي يعمل أيضًا كخدمة. هذا وصف دقيق لسلوك برنامج تنزيل Wslink ، بصرف النظر عن رقم المنفذ ، والذي يمكن أن يختلف بناءً على التكوين. لتلخيص ذلك ، على الرغم من اختلاف التنفيذ ، كلاهما يخدم نفس الغرض.
  • المحمل ظاهريًا بواسطة Code Virtualizer Oreans ، وهو واقي تجاري يتم استخدامه كثيرا بواسطة Lazarus.
  • يستخدم المُحمل ملف وحدة الذاكرة مكتبة لتحميل الوحدات مباشرة من الذاكرة. المكتبة ليست شائعة الاستخدام من قبل البرامج الضارة ، لكنها تحظى بشعبية كبيرة بين المجموعات المتحالفة مع كوريا الشمالية مثل Lazarus و Kimsuky.
  • تداخل في الكود بين WinorDLL64 و GhostSecret الذي وجدناه أثناء تحليلنا. النتائج والأهمية في الإسناد مذكورة في الجدول 1.

الجدول 1. أوجه التشابه بين WinorDLL64 و GhostSecret وأهميتها في إسناد كلاهما إلى نفس الفاعل المهدد

أوجه التشابه الأخرى بين WinorDLL64 و GhostSecret التأثير
يتداخل الرمز في الكود المسؤول عن الحصول على بنية المعالج منخفض
تتداخل التعليمات البرمجية في معالجة الدليل الحالي منخفض
تتداخل التعليمات البرمجية في الحصول على قائمة العمليات منخفض
رمز تداخل في إرسال الملف منخفض
يتداخل السلوك في عمليات الإدراج منخفض
يتداخل السلوك في معالجة الدليل الحالي منخفض
يتداخل السلوك في قائمة الملفات والدليل منخفض
يتداخل السلوك في سرد ​​الأحجام منخفض
يتداخل السلوك في قراءة / كتابة الملفات منخفض
يتداخل السلوك في عملية الإنشاء منخفض
يتداخل سلوك كبير في الإزالة الآمنة للملفات منخفض
تداخل كبير في السلوك في إنهاء العمليات منخفض
تداخل كبير في السلوك في جمع معلومات النظام منخفض

تم تمييز تداخل الكود في وظيفة إرسال الملف في الشكل 2 والشكل 3.

الشكل 2. GhostSecret إرسال ملف

الشكل 3. Wslink إرسال ملف

التحليل الفني

يُعد WinorDLL64 بمثابة باب خلفي يكتسب بشكل ملحوظ معلومات شاملة عن النظام ، ويوفر وسائل لمعالجة الملفات ، وينفذ أوامر إضافية. ومن المثير للاهتمام ، أنه يتصل عبر اتصال TCP تم إنشاؤه بالفعل بواسطة محمله ويستخدم بعض وظائف المحمل.

الشكل 4. تصور اتصال Wslink

الباب الخلفي هو ملف DLL مع تصدير واحد غير مسمى يقبل معلمة واحدة - بنية للاتصال تم وصفها بالفعل في المدونة السابقة. يحتوي الهيكل على سياق TLS - المقبس ، والمفتاح ، والرابع - وعمليات رد الاتصال لإرسال واستقبال الرسائل المشفرة باستخدام 256 بت AES-CBC التي تمكن WinorDLL64 من تبادل البيانات بأمان مع المشغل عبر اتصال قائم بالفعل.

تقودنا الحقائق التالية إلى الاعتقاد بثقة عالية أن المكتبة هي بالفعل جزء من Wslink:

  • يتم استخدام البنية الفريدة في كل مكان بالطريقة المتوقعة ، على سبيل المثال ، يتم توفير سياق TLS ومعلمات أخرى ذات مغزى بالترتيب المتوقع لعمليات الاسترجاعات الصحيحة.
  • اسم DLL هو WinorDLL64.dll وكان اسم Wslink WinorLoaderDLL64.dll.

يقبل WinorDLL64 عدة أوامر. يعرض الشكل 5 الحلقة التي تستقبل الأوامر وتعالجها. يرتبط كل أمر بمعرف فريد ويقبل تكوينًا يحتوي على معلمات إضافية.

الشكل 5. الجزء الرئيسي من حلقة استقبال الأوامر في الباب الخلفي

قائمة الأوامر ، مع تسمياتنا ، موجودة في الشكل 6.

الشكل 6. قائمة الأوامر

يحتوي الجدول 2 على ملخص لأوامر WinorDLL64 ، حيث تم تعديلها ، وتشير الفئات القديمة إلى العلاقة بوظيفة GhostSecret الموثقة مسبقًا. نحن نسلط الضوء فقط على التغييرات المهمة في الفئة المعدلة.

الجدول 2. نظرة عامة على أوامر الباب الخلفي

الفئة معرف الأمر الية عمل سفينة نوح الوصف
جديد 0x03 قم بتنفيذ أمر PowerShell يوجه WinorDLL64 مترجم PowerShell للتشغيل غير المقيد وقراءة الأوامر من الإدخال القياسي. بعد ذلك ، يمرر الباب الخلفي الأمر المحدد إلى المترجم ويرسل الإخراج إلى المشغل.
0x09 ضغط وتنزيل دليل يتكرر WinorDLL64 بشكل متكرر عبر دليل محدد. يتم ضغط محتوى كل ملف ودليل بشكل منفصل وكتابته في ملف مؤقت يتم إرساله بعد ذلك إلى المشغل ثم إزالته بشكل آمن.
0x0D افصل الجلسة قطع اتصال مستخدم محدد قام بتسجيل الدخول من جلسة خدمات سطح المكتب البعيد للمستخدم. يمكن للأمر أيضًا أداء وظائف مختلفة بناءً على المعلمة.
0x0D قائمة الجلسات يكتسب تفاصيل مختلفة حول جميع الجلسات على جهاز الضحية ويرسلها إلى المشغل. يمكن للأمر أيضًا أداء وظائف مختلفة بناءً على المعلمة.
0x0E قياس وقت الاتصال يستخدم Windows API GetTickCount لقياس الوقت المطلوب للاتصال بمضيف محدد.
تم التعديل 0x01 احصل على معلومات النظام يكتسب تفاصيل شاملة عن نظام الضحية ويرسلها إلى المشغل.
0x0A قم بإزالة الملفات بأمان يستبدل الملفات المحددة بكتلة من البيانات العشوائية ، ويعيد تسمية كل ملف إلى اسم عشوائي ، وأخيراً يزيلها بشكل آمن واحدًا تلو الآخر.
0x0C اقتل العمليات إنهاء جميع العمليات التي تتطابق أسماؤها مع النمط المقدم و / أو مع معرف المنتج المحدد.
قديم 0x02 / 0x0B قم بإنشاء عملية ينشئ عملية إما كمستخدم حالي أو محدد ويرسل ناتجها اختياريًا إلى المشغل.
0x05 تعيين / الحصول على الدليل الحالي يحاول تعيين مسار دليل العمل الحالي والحصول عليه لاحقًا.
0x06 قائمة المجلدات يتكرر عبر محركات الأقراص من C: إلى Z: ويكتسب نوع محرك الأقراص واسم وحدة التخزين. يمكن للأمر أيضًا أداء وظائف مختلفة بناءً على المعلمة.
0x06 سرد الملفات في دليل يتكرر على الملفات في دليل محدد ويحصل على معلومات مثل الأسماء والسمات وما إلى ذلك. يمكن للأمر أيضًا أداء وظائف مختلفة بناءً على المعلمة.
0x07 اكتب في ملف يقوم بتنزيل وإلحاق المقدار المحدد من البيانات بالملف المحدد.
0x08 اقرأ من ملف تتم قراءة الملف المحدد وإرساله إلى المشغل.
0x0C عمليات القائمة يكتسب تفاصيل حول جميع العمليات الجارية على جهاز الضحية ويرسل بالإضافة إلى ذلك معرف العملية الحالية.

وفي الختام

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

يحتوي WinorDLL64 على تداخل في بيئة التطوير والسلوك والرمز مع العديد من عينات Lazarus ، مما يشير إلى أنه قد يكون أداة من الترسانة الواسعة لمجموعة APT المحاذية لكوريا الشمالية.

تقدم ESET Research تقارير استخباراتية خاصة لـ APT وموجزات بيانات. لأية استفسارات حول هذه الخدمة ، قم بزيارة استخبارات التهديدات من إسيت .

شركات النفط العالمية

SHA-1 اسم اكتشاف ESET الوصف
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64 / Wslink.A تفريغ ذاكرة Wslink الحمولة المكتشفة WinorDll64.

تقنيات MITER ATT & CK

تم بناء هذا الجدول باستخدام إصدار 12 من إطار ATT & CK. لا نذكر التقنيات من اللودر مرة أخرى ، فقط الحمولة الصافية.

تكتيك ID الاسم الوصف
تنمية الموارد T1587.001 تطوير القدرات: البرامج الضارة WinorDLL64 هي أداة مخصصة.
التنفيذ T1059.001 مترجم الأوامر والبرمجة: بوويرشيل يمكن لـ WinorDLL64 تنفيذ أوامر PowerShell التعسفية.
T1106 API الأصلي يمكن لـ WinorDLL64 تنفيذ مزيد من العمليات باستخدام ملف إنشاء عمليةW و إنشاء عملية AsUserW واجهات برمجة التطبيقات.
التهرب الدفاعي T1134.002 معالجة رمز الوصول: قم بإنشاء عملية باستخدام الرمز المميز يمكن لـ WinorDLL64 استدعاء واجهات برمجة التطبيقات WTSQueryUserToken و إنشاء عملية AsUserW لإنشاء عملية تحت هوية مستخدم منتحل.
T1070.004 إزالة المؤشر: حذف الملف يمكن لـ WinorDLL64 إزالة الملفات التعسفية بأمان.
الاكتشاف T1087.001 اكتشاف الحساب: حساب محلي يمكن لـ WinorDLL64 تعداد الجلسات وقائمة المستخدمين المرتبطين وأسماء العملاء ، من بين تفاصيل أخرى.
T1087.002 اكتشاف الحساب: حساب المجال يمكن لـ WinorDLL64 تعداد الجلسات وقائمة أسماء المجالات المرتبطة - من بين التفاصيل الأخرى.
T1083 اكتشاف الملفات والدليل يمكن لـ WinorDLL64 الحصول على قوائم الملفات والدليل.
T1135 اكتشاف مشاركة الشبكة يمكن لـ WinorDLL64 اكتشاف محركات أقراص الشبكة المشتركة.
T1057 اكتشاف العملية يمكن لـ WinorDLL64 جمع معلومات حول العمليات الجارية.
T1012 سجل الاستعلام يمكن لـ WinorDLL64 الاستعلام عن سجل Windows لجمع معلومات النظام.
T1082 اكتشاف معلومات النظام يمكن لـ WinorDLL64 الحصول على معلومات مثل اسم الكمبيوتر ونظام التشغيل وأحدث إصدار من حزمة الخدمة وبنية المعالج واسم المعالج ومقدار المساحة على محركات الأقراص الثابتة.
T1614 اكتشاف موقع النظام يمكن لـ WinorDLL64 الحصول على اسم البلد الافتراضي للضحية باستخدام ملف احصل على معلومات محلية API.
T1614.001 اكتشاف موقع النظام: اكتشاف لغة النظام يمكن لـ WinorDLL64 الحصول على اللغة الافتراضية للضحية باستخدام ملف احصل على معلومات محلية API.
T1016 اكتشاف تكوين شبكة النظام يمكن لـ WinorDLL64 تعداد معلومات محول الشبكة.
T1049 اكتشاف اتصالات شبكة النظام يمكن لـ WinorDLL64 جمع قائمة بمنافذ الاستماع.
T1033 مالك النظام / اكتشاف المستخدم يمكن لـ WinorDLL64 تعداد الجلسات وقائمة أسماء المستخدمين والمجال والعميل المرتبطة - من بين التفاصيل الأخرى.
مجموعة T1560.002 أرشفة البيانات المجمعة: أرشفة عبر المكتبة يمكن لـ WinorDLL64 ضغط وإخراج الدلائل باستخدام ملف كويكلز مكتبة.
T1005 البيانات من النظام المحلي يمكن لـ WinorDLL64 جمع البيانات على جهاز الضحية.
التأثير T1531 إزالة الوصول إلى الحساب يمكن لـ WinorDLL64 قطع اتصال مستخدم قام بتسجيل الدخول من جلسات محددة.

الطابع الزمني:

اكثر من نحن نعيش الأمن