الكشف عن Rootkit جديد يصيب خواديم Linux

نُشر يوم 22 نوفمبر 2012 بواسطة Xacker


نشر باحثون تحذيراً عن rootkit جديد موجّه لنظام Linux، يبدو بأنه مكتوب خصيصاً لحقن وسوم iframe في المواقع الالكترونية المستضافة على الخواديم المصابة، و يتم من خلال هذه الوسوم تحويل الزيارات بشكل خفي إلى مواقع أخرى تقوم بنشر برمجيات خبيثة بهدف إصابة أجهزة الزوار. هذا وقد تم الكشف عن أن الـ rootkit مصمم خصيصاً لأنظمة 64 بت من توزيعات Linux، وعلى الرغم من أنها تحوي على بعض الميزات إلا أنها لا تبدو نتيجة جهد مبرمج محترف أو مصممة للاستخدام في الهجمات ذات الأهداف المنتقاة.

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

وتتم آلية خطف بعض الوظائف بالطريقة التقليدية عبر استبدال البايت الأول بـ 0xE9 (وهي تمثل تعليمة JMP في لغة الأسمبلي) ومن ثم يتم نسخ 8 بايتات بعدها، الـ 4 الأولى منها (حسب نظام النهوي الصغير little-endian) تمثل الإزاحة التي سيتم القفز إليها والبقية يتم تجاهلها وهي عبارة عن بايتات عشوائية غير معرّفة. السبب في هذا هو أن JMP تأخذ operand بطول 4 بايتات فقط كإزاحة (الشكل: jmp    rel32) ولكون المعالج سيقرأ opcode معروف هو 0xE9 فإنه سيعتبر البايتات التالية operand له ويهتم بأول 4 منها ويتجاهل الباقي بكل سلاسة :)

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

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

تعمل آلية حقن الـ iframes داخل الصفحات من خلال استبدال الدالة tcp_sendmsg - المسؤولة عن بناء رزم TCP - بدالة خاصة، بحيث يتم حقن الـ iframes الخبيثة في HTTP traffic بالتعديل المباشر على رزم TCP.

تعمل البرمجية الخبيثة على الاتصال بخادوم التحكم باستخدام كلمة مرور مشفّرة تستخدم للمصادقة، وذلك بهدف الحصول على عنوان iframe الخبيث الذي سيتم حقنه. حالما يتم الاتصال يقوم خادوم التحكم بإرسال توجيهاته حول الشفرة التي يجب على الـ rootkit حقنها في الموقع المصاب. يقوم الخادوم بتحديد فيما إذا كان الحقن سيتم من خلال iframe أو javascript وما هي الشفرة التي يجب حقنها.

ومن أجل أن تحافظ البرمجية على نشاطها بعد إعادة تشغيل مثلاً، فإنها تقوم بإضافة بعض الأوامر في نهاية ملف /etc/rc.local لتقوم بتشغيل ملفاتها التنفيذية الخبيثة بعد الإقلاع، لكن هذه الطريقة ضعيفة وتؤدي على توزيعة Debian squeeze إلى فشل البرمجية الخبيثة في إعادة تشغيل نفسها لكون الملف /etc/rc.local يحوي في نهايته (في تلك التوزيعة) على تعليمة exit 0، وبالتالي فإن البرمجية تقوم بحقن تعليماتها “بعد” هذا الأمر وبشكل بديهي، لا يتم تنفيذ أوامرها.

من غير الواضح حتى الآن إن كان هناك آليات خاصة تستخدمها البرمجية في الانتشار لإصابة الخواديم أم أنه يتم تثبيتها بشكل يدوي بعد اختراق منفصل، كما أنه من غير الواضح عبر التقرير المنشور كيف يمكن للبرمجية الخبيثة أن تقوم بالتعديل على /etc/rc.local كون الكتابة مسموحة فيه فقط لمن يحمل صلاحيات root.

مبدئياً، يبدو بأن البرمجية مخصصة للعمل كـ kernel module وبالتالي فإن تثبيتها غالباً سيتم من خلال محاولة نشرها عبر مواقع repos وهمية/غير رسمية أو من خلال اختراق أحدها ومحاولة نشر البرمجية الخبيثة كـ module شرعية غير ضارة.