دوكو ماتريوشكا خبيثة

مقدمة

في 1 سبتمبر 2011 ، تم إرسال ملف باسم ~ DN1.tmp إلى موقع VirusTotal من المجر. في ذلك الوقت ، تم اكتشاف الملف على أنه ضار بواسطة محركين فقط لمكافحة الفيروسات - BitDefender و AVIRA. هكذا بدأت قصة دوكو. بالنظر إلى المستقبل ، يجب أن يقال أنه تم تسمية عائلة البرامج الضارة Duqu على اسم هذا الملف. ومع ذلك ، فإن هذا الملف عبارة عن وحدة تجسس مستقلة تمامًا مع وظائف keylogger ، وربما تم تثبيتها بمساعدة أداة تنزيل قطارة ضارة ، ويمكن اعتبارها فقط "حمولة" تم تنزيلها بواسطة برنامج Duqu الضار أثناء تشغيلها ، ولكن ليس جزءًا لا يتجزأ الجزء (الوحدة النمطية) من Duqu. تم إرسال أحد مكونات Duqu إلى خدمة Virustotal في 9 سبتمبر فقط. السمة المميزة لها هي برنامج تشغيل موقّع بتوقيع رقمي من C-Media. بدأ بعض الخبراء على الفور في رسم تشابهات مع مثال آخر معروف للبرامج الضارة - Stuxnet ، والذي استخدم أيضًا برامج تشغيل موقعة. العدد الإجمالي لأجهزة الكمبيوتر المصابة بـ Duqu ، التي اكتشفتها شركات مكافحة الفيروسات المختلفة حول العالم ، في العشرات. تزعم العديد من الشركات أن إيران هي الهدف الرئيسي مرة أخرى ، لكن بالحكم على جغرافية توزيع العدوى ، لا يمكن قول ذلك على وجه اليقين.
دوكو ماتريوشكا خبيثة
في هذه الحالة ، يجب على المرء أن يتحدث بثقة فقط عن شركة أخرى بكلمة جديدة APT (تهديد متقدم ومستمر).

إجراءات التنفيذ في النظام

أدى تحقيق أجراه متخصصون من المنظمة المجرية CrySyS (المختبر المجري للتشفير وأمن النظام التابع لجامعة بودابست للتكنولوجيا والاقتصاد) إلى اكتشاف أداة تثبيت (قطارة) تم من خلالها إصابة النظام. لقد كان ملف Microsoft Word به ثغرة أمنية لبرنامج التشغيل win32k.sys (MS11-087 ، وصفته Microsoft في 13 نوفمبر 2011) ، وهو المسؤول عن محرك عرض خطوط TTF. يستخدم كود قشرة الاستغلال خطًا مضمنًا في المستند يسمى "Dexter Regular" ، ويُنسب إلى Showtime Inc. كمنشئ الخط. كما ترى ، فإن المبدعين في Duqu ليسوا غرباء على روح الدعابة: Dexter هو قاتل متسلسل ، بطل المسلسل التلفزيوني الذي يحمل نفس الاسم ، تم تصويره بواسطة Showtime. دكستر يقتل المجرمين (إن أمكن) فقط ، أي يخرق القانون باسم القانون. من المحتمل ، بهذه الطريقة ، أن مطوري Duqu يسخرون من أنهم يشاركون في أنشطة غير قانونية لأغراض جيدة. تم إرسال الرسائل عن طريق البريد الإلكتروني بشكل مقصود. لإرسال ، على الأرجح ، تم استخدام أجهزة الكمبيوتر المخترقة (المخترقة) كوسيط لجعل التتبع صعبًا.
وهكذا احتوت وثيقة Word على المكونات التالية:

  • محتوى النص؛
  • خط مضمن
  • استغلال رمز الحرير
  • سائق؛
  • المثبت (DLL).

في حالة التنفيذ الناجح ، أجرى كود قشرة الاستغلال العمليات التالية (في وضع النواة):

  • تم إجراء فحص لإعادة الإصابة ، ولهذا ، تم التحقق من وجود مفتاح 'CF4D' في التسجيل في 'HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet SettingsZones1' ، إذا كان هذا صحيحًا ، فإن كود القشرة أكمل تنفيذه ؛
  • تم فك تشفير ملفين - driver (sys) والمثبت (dll) ؛
  • تم حقن برنامج التشغيل في عملية services.exe وتشغيل برنامج التثبيت ؛
  • في النهاية ، مسح كود القشرة نفسه بأصفار في الذاكرة.

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

  • سائق موقّع (نظام) ؛
  • الوحدة الرئيسية (دلل) ؛
  • بيانات تكوين المثبت (pnf).

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

دوكو ماتريوشكا خبيثة

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

الوحدة الرئيسية

الوحدة الرئيسية (المورد 302) ، بواسطة معلومات بواسطة Kaspersky Lab ، تمت كتابته باستخدام MSVC 2008 في لغة C خالصة ، ولكن باستخدام نهج موجه للكائنات. هذا النهج غير معهود عند تطوير تعليمات برمجية ضارة. كقاعدة عامة ، تتم كتابة هذا الرمز بلغة C لتقليل الحجم والتخلص من الاستدعاءات الضمنية الملازمة لـ C ++. هناك أيضًا تعايش هنا. بالإضافة إلى ذلك ، تم استخدام بنية موجهة للحدث. يميل موظفو Kaspersky Lab إلى النظرية القائلة بأن الوحدة الرئيسية قد تمت كتابتها باستخدام إضافة ما قبل المعالج تسمح لك بكتابة التعليمات البرمجية بلغة C بأسلوب كائن.
الوحدة الرئيسية مسؤولة عن إجراء تلقي الأوامر من المشغلين. يوفر Duqu عدة طرق للتفاعل: باستخدام بروتوكولي HTTP و HTTPS ، وكذلك استخدام الأنابيب المسماة (الأنبوب). بالنسبة إلى HTTP (S) ، يتم تحديد أسماء المجال لمراكز الأوامر ، بينما كان من الممكن العمل من خلال خادم وكيل - تم إعطاؤهم اسم مستخدم وكلمة مرور. يتم إعطاء القناة عنوان IP واسم قناة. يتم تخزين البيانات المحددة في كتلة بيانات التكوين للوحدة الرئيسية (مشفرة).
لاستخدام توجيهات الإخراج المسماة ، تم تشغيل تطبيق مخصص لخادم RPC. أيدت الوظائف السبع التالية:

  • إعادة الإصدار المثبت ؛
  • حقن dll في العملية المحددة واستدعاء الوظيفة المحددة ؛
  • تحميل دلل
  • بدء عملية عن طريق استدعاء CreateProcess () ؛
  • قراءة محتويات الملف المحدد ؛
  • كتابة البيانات إلى الملف المحدد ؛
  • حذف الملف المحدد.

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

"الحمولات" المعروفة

حددت Symantec ما لا يقل عن أربع "حمولات" تم تحميلها بأمر من مركز التحكم Duqu.
ومع ذلك ، كان واحدًا منهم فقط مقيمًا وتم تجميعه كملف قابل للتنفيذ (exe) ، والذي تم حفظه على القرص. تم تنفيذ الثلاثة المتبقية كمكتبات dll. تم تحميلها ديناميكيًا وتنفيذها في الذاكرة دون حفظها على القرص.

كانت "الحمولة" المقيمة عبارة عن وحدة تجسس (com.infostealer) مع وظائف keylogger. وبإرساله إلى VirusTotal بدأ العمل على بحث Duqu. كانت وظيفة التجسس الرئيسية موجودة في المورد ، حيث احتوت أول 8 كيلوبايت منها على جزء من صورة المجرة NGC 6745 (للتغطية). تجدر الإشارة هنا إلى أنه في أبريل 2012 ، نشرت بعض وسائل الإعلام معلومات (http://www.mehrnews.com/en/newsdetail.aspx؟NewsID=1297506) بأن إيران تعرضت لنوع من البرامج الضارة لـ Stars ، في حين أن تفاصيل لم يتم الكشف عن الحادث. من الممكن أنه تم اكتشاف مثل هذه العينة من Duqu "الحمولة" في إيران ، ومن هنا جاء اسم "النجوم" (النجوم).
جمعت وحدة التجسس المعلومات التالية:

  • قائمة العمليات الجارية ، معلومات حول المستخدم والمجال الحاليين ؛
  • قائمة محركات الأقراص المنطقية ، بما في ذلك محركات الشبكة ؛
  • لقطات.
  • عناوين واجهات الشبكة وجداول التوجيه ؛
  • ملف تسجيل ضغطات المفاتيح على لوحة المفاتيح ؛
  • أسماء نوافذ التطبيق المفتوحة ؛
  • قائمة موارد الشبكة المتاحة (تقاسم الموارد) ؛
  • قائمة كاملة بالملفات الموجودة على جميع محركات الأقراص ، بما في ذلك الملفات القابلة للإزالة ؛
  • قائمة أجهزة الكمبيوتر في "بيئة الشبكة".

وحدة تجسس أخرى (com.infostealer) كان نوعًا مختلفًا من تلك التي تم وصفها بالفعل ، ولكن تم تجميعها كمكتبة dll ، تمت إزالة وظائف keylogger وتجميع قائمة من الملفات وتعداد أجهزة الكمبيوتر المضمنة في المجال منه.
الوحدة التالية (استطلاع) معلومات النظام التي تم جمعها:

  • ما إذا كان الكمبيوتر جزءًا من مجال ؛
  • مسارات لأدلة نظام Windows ؛
  • إصدار نظام التشغيل
  • اسم المستخدم الحالي ؛
  • قائمة محولات الشبكة ؛
  • النظام والتوقيت المحلي ، وكذلك المنطقة الزمنية.

آخر وحدة (موسع العمر) نفذت وظيفة لزيادة القيمة (المخزنة في ملف بيانات التكوين للوحدة الرئيسية) لعدد الأيام المتبقية حتى نهاية العمل. بشكل افتراضي ، تم تعيين هذه القيمة على 30 أو 36 يومًا اعتمادًا على تعديل Duqu ، وتم تقليلها بواحد كل يوم.

مراكز القيادة

في 20 أكتوبر 2011 (بعد الإعلان عن الاكتشاف بثلاثة أيام) ، أجرى مشغلو Duqu إجراءً لتدمير آثار عمليات مراكز القيادة. تم استضافة مراكز القيادة على خوادم تم اختراقها حول العالم - في فيتنام والهند وألمانيا وسنغافورة وسويسرا وبريطانيا العظمى وهولندا وكوريا الجنوبية. ومن المثير للاهتمام ، أن جميع الخوادم التي تم تحديدها كانت تعمل بإصدارات 5.2 أو 5.4 أو 5.5 من CentOS. كانت أنظمة تشغيل 32 بت و 64 بت. على الرغم من حذف جميع الملفات المتعلقة بتشغيل مراكز القيادة ، تمكن متخصصو Kaspersky Lab من استعادة بعض المعلومات الموجودة في ملفات LOG من مساحة الركود. الحقيقة الأكثر إثارة للاهتمام هي أن المهاجمين على الخوادم قد استبدلوا دائمًا حزمة OpenSSH 4.3 الافتراضية بالإصدار 5.8. قد يشير هذا إلى أنه تم استخدام ثغرة غير معروفة في OpenSSH 4.3 لاختراق الخوادم. لم يتم استخدام جميع الأنظمة كمراكز قيادة. تم استخدام البعض ، بناءً على الأخطاء الموجودة في سجلات sshd عند محاولة إعادة توجيه حركة المرور للمنفذين 80 و 443 ، كخادم وكيل للاتصال بمراكز الأوامر النهائية.

التواريخ والوحدات

احتوى مستند Word الذي تم توزيعه في أبريل 2011 ، والذي تم فحصه بواسطة Kaspersky Lab ، على برنامج تنزيل المثبت بتاريخ تجميع في 31 أغسطس 2007. برنامج تشغيل مشابه (الحجم - 20608 بايت ، MD5 - EEDCA45BD613E0D9A9E5C69122007F17) في المستند الذي تم إدخاله إلى مختبر CrySys كان له تاريخ تجميع في 21 فبراير 2008. بالإضافة إلى ذلك ، وجد خبراء Kaspersky Lab برنامج التشغيل التلقائي rndismpc.sys (الحجم - 19968 بايت ، MD5 - 9AEC6E10C5EE9C05BED93221544C783E) بتاريخ 20 يناير 2008. لم يتم العثور على مكونات تم وضع علامة عليها عام 2009. استنادًا إلى الطوابع الزمنية التجميعية للأجزاء الفردية من Duqu ، يمكن أن يعود تاريخ تطويرها إلى أوائل عام 2007. يرتبط ظهوره الأول باكتشاف الملفات المؤقتة من النموذج ~ DO (ربما تم إنشاؤها بواسطة أحد برامج التجسس) ، تاريخ الإنشاء هو 28 نوفمبر 2008 (مقالة "Duqu & Stuxnet: جدول زمني لأحداث مثيرة للاهتمام"). أحدث تاريخ متعلق بـ Duqu هو 23 فبراير 2012 ، تم تضمينه في برنامج تنزيل المثبت الذي اكتشفته شركة Symantec في مارس 2012.

مصادر المعلومات المستخدمة:

سلسلة من المقالات حول Duqu من Kaspersky Lab ؛
تقرير محلل سيمانتيك "W32.Duqu مقدمة ل Stuxnet التالي"، الإصدار 1.4 ، نوفمبر 2011 (pdf).

المصدر: www.habr.com

إضافة تعليق