شركة Guardicore المتخصصة في حماية مراكز البيانات والأنظمة السحابية، برنامج خبيث جديد عالي التقنية يُدعى FritzFrog، والذي يهاجم الخوادم القائمة على Linuxيجمع برنامج FritzFrog بين دودة تنتشر عبر هجمات القوة الغاشمة على الخوادم ذات منفذ SSH مفتوح ومكونات لبناء شبكة بوت لامركزية تعمل بدون عقد تحكم وليس لديها نقطة فشل واحدة.
لبناء شبكة بوت نت، يُستخدم بروتوكول نظير إلى نظير (P2P) خاص، تتفاعل فيه العقد مع بعضها البعض، وتنسق تنظيم الهجمات، وتدعم الشبكة، وتراقب حالة بعضها البعض. يتم العثور على ضحايا جدد من خلال شن هجوم ضار على الخوادم التي تقبل الطلبات عبر SSH. عند اكتشاف خادم جديد، يتم البحث في قاموس يتضمن مجموعات نموذجية من بيانات تسجيل الدخول وكلمات المرور. يمكن التحكم في الشبكة من خلال أي عقدة، مما يُعقّد عملية تحديد هوية مشغلي شبكة بوت نت وحظرهم.
ووفقا للباحثين، فإن الروبوتات لديها بالفعل حوالي 500 عقدة، بما في ذلك خوادم العديد من الجامعات وشركة السكك الحديدية الكبيرة. ويشار إلى أن الأهداف الرئيسية للهجوم هي شبكات المؤسسات التعليمية والمراكز الطبية والهيئات الحكومية والبنوك وشركات الاتصالات. بعد اختراق الخادم، يتم تنظيم عملية تعدين عملة Monero المشفرة عليه. تم تتبع نشاط البرامج الضارة المعنية منذ يناير 2020.
الميزة المميزة لـ FritzFrog هي أنه يحتفظ بجميع البيانات والأكواد القابلة للتنفيذ في الذاكرة فقط. تقتصر التغييرات على القرص على إضافة مفتاح SSH جديد إلى ملف author_keys، والذي يُستخدم بعد ذلك للوصول إلى الخادم. لا تُغيّر ملفات النظام، مما يجعل الدودة غير مرئية للأنظمة التي تتحقق من سلامتها باستخدام مجموعات التحقق. كما تخزن الذاكرة قواميس تخمين كلمات المرور وبيانات التعدين، والتي تتم مزامنتها بين العقد باستخدام بروتوكول P2P.
يتم تمويه المكونات الضارة كعمليات ifconfig وliexec وphp-fpm وnginx. تراقب عقد الروبوتات حالة جيرانها، وإذا تمت إعادة تشغيل الخادم أو حتى إعادة تثبيت نظام التشغيل (إذا تم نقل ملف مفاتيح_معتمدة معدل إلى النظام الجديد)، فإنها تعيد تنشيط المكونات الضارة على المضيف. للاتصال، يتم استخدام SSH القياسي - تقوم البرامج الضارة أيضًا بتشغيل "netcat" محلي يرتبط بواجهة المضيف المحلي ويستمع إلى حركة المرور على المنفذ 1234، والذي يصل إليه المضيفون الخارجيون من خلال نفق SSH، باستخدام مفتاح من المفاتيح المعتمدة للاتصال.
كُتبت شيفرة مكونات FritzFrog بلغة Go، وتعمل في وضع متعدد الخيوط. يتضمن البرنامج الخبيث عدة وحدات تعمل في خيوط مختلفة:
- Cracker - يبحث عن كلمات المرور على الخوادم التي تعرضت للهجوم.
- CryptoComm + Parser — ينظم اتصال P2P المشفر.
- CastVotes هي آلية للاختيار المشترك للمضيفين المستهدفين للهجوم.
- TargetFeed - يتلقى قائمة العقد للهجوم من العقد المجاورة.
- DeployMgmt هو تطبيق لفيروس متنقل يوزع تعليمات برمجية ضارة على خادم مخترق.
- مملوك - مسؤول عن الاتصال بالخوادم التي تقوم بالفعل بتشغيل تعليمات برمجية ضارة.
- التجميع - يقوم بتجميع ملف في الذاكرة من كتل منقولة بشكل منفصل.
- Antivir - وحدة نمطية لقمع البرامج الضارة المنافسة، وتحدد وتنهي العمليات باستخدام السلسلة "xmr" التي تستهلك موارد وحدة المعالجة المركزية.
- Libexec هي وحدة لتعدين عملة Monero المشفرة.
يدعم بروتوكول P2P المستخدم في FritzFrog حوالي 30 أمرًا مسؤولاً عن نقل البيانات بين العقد، وتشغيل البرامج النصية، ونقل مكونات البرامج الضارة، واستطلاع الحالة، وتبادل السجلات، وتشغيل الوكيل، وما إلى ذلك. تُنقل المعلومات عبر قناة مشفرة منفصلة مع تسلسل بصيغة JSON. يُستخدم تشفير AES غير المتماثل وترميز Base64 للتشفير. يُستخدم بروتوكول DH لتبادل المفاتيح (). لتحديد الحالة، تقوم العقد بتبادل طلبات ping باستمرار.
تحتفظ جميع عقد الروبوتات بقاعدة بيانات موزعة تحتوي على معلومات حول الأنظمة التي تعرضت للهجوم والمخترقة. تتم مزامنة أهداف الهجوم عبر شبكة الروبوتات - حيث تهاجم كل عقدة هدفًا منفصلاً، على سبيل المثال. لن تهاجم عقدتان مختلفتان من الروبوتات نفس المضيف. تقوم العقد أيضًا بجمع الإحصائيات المحلية وإرسالها إلى الأجهزة المجاورة، مثل حجم الذاكرة الفارغة ووقت التشغيل وتحميل وحدة المعالجة المركزية ونشاط تسجيل الدخول إلى SSH. يتم استخدام هذه المعلومات لتحديد ما إذا كان سيتم بدء عملية التعدين أو استخدام العقدة فقط لمهاجمة الأنظمة الأخرى (على سبيل المثال، لا يبدأ التعدين على الأنظمة المحملة أو الأنظمة ذات اتصالات المسؤول المتكررة).
للتعرف على فريتزفروج، اقترح الباحثون طريقة بسيطة . لتحديد تلف النظام
علامات مثل وجود اتصال الاستماع على المنفذ 1234، وجود في author_keys (يتم تثبيت نفس مفتاح SSH على جميع العقد) ووجود عمليات تشغيل في الذاكرة "ifconfig" و"libexec" و"php-fpm" و"nginx" التي لا تحتوي على ملفات قابلة للتنفيذ مرتبطة بها ("/proc/ قد تكون العلامة الأخرى هي وجود حركة مرور على منفذ الشبكة 5555، والذي يحدث عندما يصل البرنامج الضار إلى مجموعة web.xmrpool.eu النموذجية أثناء عملية تعدين العملة المشفرة Monero.
المصدر: opennet.ru
