يصيب مجمع البرامج الضارة Drovorub نظام التشغيل Linux

وكالة الأمن القومي ومكتب التحقيقات الفيدرالي الأمريكي نشرت تقريرا، والتي بموجبها المركز الرئيسي رقم 85 للخدمة الخاصة المديرية الرئيسية لهيئة الأركان العامة للقوات المسلحة الروسية (85 GCSS GRU) يتم استخدام مجمع برمجيات خبيثة يسمى "Drovorub". يشتمل Drovorub على برنامج rootkit على شكل وحدة Linux kernel، وأداة لنقل الملفات وإعادة توجيه منافذ الشبكة، وخادم تحكم. يمكن لجزء العميل تنزيل الملفات وتحميلها، وتنفيذ أوامر عشوائية كمستخدم جذر، وإعادة توجيه منافذ الشبكة إلى عقد الشبكة الأخرى.

يتلقى مركز التحكم Drovorub المسار إلى ملف التكوين بتنسيق JSON كوسيطة لسطر الأوامر:

{
"db_host" : " "،
"db_port" : " "،
"ديسيبل_ديسيبل" : " "،
"db_user": " "،
"db_password" : " "،

"البورت": " "،
"المضيف" : " "،
"ping_sec" : " "،

"ملف_مفتاح_خاص" : " "،
"عبارة" : " »
}

يتم استخدام MySQL DBMS كواجهة خلفية. يتم استخدام بروتوكول WebSocket لتوصيل العملاء.

يحتوي العميل على تكوين مدمج، بما في ذلك عنوان URL للخادم ومفتاح RSA العام واسم المستخدم وكلمة المرور. بعد تثبيت برنامج rootkit، يتم حفظ التكوين كملف نصي بتنسيق JSON، والذي يتم إخفاؤه عن النظام بواسطة وحدة Drovoruba kernel:

{
«id» : «cbcf6abc-466b-11e9-853b-000c29cb9f6f»,
"المفتاح": "Y2xpZW50a2V5"
}

هنا "المعرف" هو معرف فريد يصدره الخادم، حيث تتوافق آخر 48 بت مع عنوان MAC الخاص بواجهة شبكة الخادم. المعلمة الافتراضية "المفتاح" هي سلسلة مشفرة من نوع base64 "مفتاح العميل" يستخدمها الخادم أثناء المصافحة الأولية. بالإضافة إلى ذلك، قد يحتوي ملف التكوين على معلومات حول الملفات والوحدات النمطية ومنافذ الشبكة المخفية:

{
«id» : «6fa41616-aff1-11ea-acd5-000c29283bbc»,
"المفتاح": "Y2xpZW50a2V5"،
"شاشة" : {
"ملف" : [
{
"نشط": "صحيح"
«id» : «d9dc492b-5a32-8e5f-0724-845aa13fff98»,
"القناع": "testfile1"
}
],
"وحدة" : [
{
"نشط": "صحيح"
«id» : «48a5e9d0-74c7-cc17-2966-0ea17a1d997a»,
"القناع": "testmodule1"
}
],
"شبكة" : [
{
"نشط": "صحيح"
«id» : «4f355d5d-9753-76c7-161e-7ef051654a2b»,
"المنفذ": "12345"،
"البروتوكول": "برنامج التعاون الفني"
}
]}
}

مكون آخر من مكونات Drovorub هو الوكيل، حيث يحتوي ملف التكوين الخاص به على معلومات للاتصال بالخادم:

{
"client_login" : "user123"،
"client_pass" : "pass4567"،
"العميل": "e391847c-bae7-11ea-b4bc-000c29130b71"،
«clientkey_base64» : «Y2xpZW50a2V5»,
"pub_key_file" :"مفتاح_عام",
"server_host": "192.168.57.100"،
"منفذ_الخادم" :"45122″,
"server_uri" :"/ws"
}

الحقول "clientid" و"clientkey_base64" مفقودة في البداية؛ تتم إضافتها بعد التسجيل الأولي على الخادم.

بعد التثبيت يتم تنفيذ العمليات التالية:

  • يتم تحميل وحدة kernel، والتي تسجل الخطافات لاستدعاءات النظام؛
  • يقوم العميل بالتسجيل في وحدة kernel؛
  • تقوم وحدة kernel بإخفاء عملية العميل قيد التشغيل وملفها القابل للتنفيذ على القرص.

يتم استخدام جهاز زائف، على سبيل المثال /dev/zero، للتواصل بين العميل ووحدة النواة. تقوم وحدة kernel بتحليل جميع البيانات المكتوبة على الجهاز، وللإرسال في الاتجاه المعاكس، ترسل إشارة SIGUSR1 إلى العميل، وبعد ذلك تقرأ البيانات من نفس الجهاز.

للكشف عن Lumberjack، يمكنك استخدام تحليل حركة مرور الشبكة باستخدام NIDS (لا يمكن اكتشاف نشاط الشبكة الضار في النظام المصاب نفسه، نظرًا لأن وحدة kernel تخفي مآخذ الشبكة التي تستخدمها، وقواعد netfilter، والحزم التي يمكن اعتراضها بواسطة مآخذ التوصيل الخام) . على النظام المثبت عليه Drovorub، يمكنك اكتشاف وحدة kernel عن طريق إرسال أمر إخفاء الملف إليها:

اللمس testfile
صدى "ASDFZXCV:hf:testfile"> /dev/zero
ls

يصبح ملف "testfile" الذي تم إنشاؤه غير مرئي.

وتشمل طرق الكشف الأخرى تحليل محتوى الذاكرة والقرص. لمنع الإصابة، يوصى باستخدام التحقق الإلزامي من التوقيع للنواة والوحدات المتوفرة بدءًا من الإصدار 3.7 من Linux kernel.

يحتوي التقرير على قواعد Snort للكشف عن نشاط الشبكة Drovorub وقواعد Yara للكشف عن مكوناتها.

دعونا نتذكر أن الوحدة رقم 85 GTSSSS GRU (الوحدة العسكرية 26165) مرتبطة بالمجموعة APT28 (الدب الفاخر)، المسؤول عن العديد من الهجمات السيبرانية.

المصدر: opennet.ru