باتنت C0XMO به عنوان گونهای جدید از خانواده Gafgyt، با سوءاستفاده از یک آسیبپذیری در فریمور روترهای DD-WRT گسترش مییابد و علاوه بر اجرای حملات انکار سرویس توزیعشده (DDoS)، سایر بدافزارهای موجود روی دستگاههای آلوده را نیز حذف میکند. بررسیهای Fortinet نشان میدهد باتنت C0XMO از معماری ماژولار بهره میبرد و میتواند طیف گستردهای از روترها، DVRها، سامانههای مدیریت ویدئو و دستگاههای مبتنی بر اندروید را هدف قرار دهد.
معماری ماژولار باتنت C0XMO
محققان Fortinet طراحی ماژولار این بدافزار را یکی از مهمترین ویژگیهای آن میدانند. این معماری به اپراتورهای بدافزار اجازه میدهد اکسپلویتها را بهروزرسانی کرده، پشتیبانی از معماریهای سختافزاری هدف را اضافه یا حذف کنند و قابلیتهای حرکت جانبی (Lateral Movement) را مستقل از پیلود اصلی توسعه دهند.
با وجود قابلیتهای پیشرفته در حوزه انتشار و گسترش آلودگی، مأموریت اصلی باتنت C0XMO همچنان اجرای حملات DDoS است. این بدافزار از 19 روش مختلف حمله پشتیبانی میکند که مهمترین آنها عبارتند از:
- حملات مبتنی بر UDP Flood
- حملات مبتنی بر TCP Flood
- حملات SYN Flood
- حملات ICMP Flood
- حمله Ping of Death
- حملات تقویتشده (Amplification Attacks) مبتنی بر NTP
- حملات تقویتشده مبتنی بر Memcached
- حملات UDP علیه سرویس صوتی دیسکورد (Discord)
- حملات اختصاصی طراحیشده برای سرویسهای مرتبط با Valve
سوءاستفاده از آسیبپذیری CVE-2021-27137
بررسیهای محققان نشان میدهد این بدافزار از طریق سوءاستفاده از آسیبپذیری CVE-2021-27137 منتشر میشود. این ضعف امنیتی از نوع سرریز بافر (Buffer Overflow) است که در نتیجه اعتبارسنجی ناکافی دادههای ورودی ایجاد شده و مهاجمان میتوانند بدون نیاز به احراز هویت از آن برای اجرای کد دلخواه (Arbitrary Code Execution) روی دستگاههای آسیبپذیر استفاده کنند.
باتنت C0XMO برای گسترش دامنه آلودگی، یک اسکریپت پایتون (Python Script) را دانلود و اجرا میکند که وظیفه نصب کتابخانههای موردنیاز برای شناسایی و نفوذ به اهداف جدید را بر عهده دارد. از جمله این کتابخانهها میتوان به Requests، Paramiko و Beautiful Soup 4 اشاره کرد که برای اسکن شبکه، برقراری ارتباط با سرویسهای مختلف و انجام عملیات از طریق پروتکلهای SSH و Telnet مورد استفاده قرار میگیرند.
اسکن اینترنت و گسترش آلودگی از طریق اسکنر Gafgyt
اسکنر این بدافزار با استفاده از رشتههای اجرایی (Worker Threads)، سامانههای در معرض اینترنت را بهصورت تصادفی جستوجو کرده و پورتهای متداول را برای شناسایی اهداف بالقوه بررسی میکند. مهمترین پورتهای هدف عبارتند از:
- 22 برای SSH
- 23 برای Telnet
- 80 و 443 برای پروتکلهای وب (HTTP/HTTPS)
- 7547
- 8080
- 8443
- 8888
باتنت C0XMO پس از شناسایی هدف، تلاش میکند با اجرای حملات بروت فورس (Brute Force) اعتبارنامههای ضعیف SSH و Telnet را به دست آورد. بدافزار پس از نفوذ موفق، معماری دستگاه را شناسایی کرده و نسخه سازگار باینری خود را روی سیستم قربانی مستقر میکند.
بررسیها نشان میدهد این اسکریپت حدود 20 تابع مختلف را در خود جای داده که برای انجام فعالیتهای زیر به کار گرفته میشوند:
- اسکن شبکه و شناسایی اهداف جدید
- سوءاستفاده از آسیبپذیریهای مبتنی بر HTTP
- سوءاستفاده از آسیبپذیریهای مبتنی بر سرویس Android Debug Bridge (ADB)
- شناسایی معماری پردازنده دستگاه
- ورود به سامانهها از طریق SSH و Telnet
- بررسی و اعتبارسنجی آدرسهای IP
هدف اصلی این قابلیتها، تسهیل حرکت جانبی در شبکه و افزایش دامنه آلودگی در میان دستگاههای آسیبپذیر است.
پایداری و حذف سایر بدافزارها توسط باتنت C0XMO
بدافزار پس از نفوذ به دستگاه هدف، برای حفظ پایداری (Persistence) نسخهای از خود را در مسیرهای مخفی سیستم کپی میکند، از جمله:
- /tmp/.sys
- /var/tmp/.sys
- /dev/shm/.sys
در ادامه، با ایجاد کرون جاب یا به عبارتی ابزار زمان بندی وظایف (Cron Job)، اجرای مجدد خود را هر 15 دقیقه تضمین میکند. همچنین فایلهای راهاندازی Shell (Shell Startup Files) را تغییر میدهد تا پس از هر بار راهاندازی سیستم بهصورت خودکار اجرا شود.
بررسیهای Fortinet نشان میدهد باتنت C0XMO بهطور فعال پردازههای در حال اجرا را اسکن میکند تا مواردی را که ممکن است در عملکرد آن اختلال ایجاد کنند، شناسایی و متوقف سازد. این موارد شامل:
- کلاینتهای سایر باتنتها
- ابزارهای Red Team
- ابزارهای برنامهنویسی
- سرویسهای شبکهای که میتوانند در عملکرد بدافزار اختلال ایجاد کنند.
این بدافزار پس از شناسایی موارد فوق، فایلهای باینری مرتبط را حذف کرده و مکانیزمهای پایداری آنها را نیز از بین میبرد. مهمترین مکانیزمهای حذفشده عبارتند از:
- کرون جابها
- اسکریپتهای راهاندازی اولیه (Init Scripts)
- سرویسهای سیستمی (System Services)
- ورودیهای پروفایل Shell
ارتباط با سرور فرماندهی و کنترل
بدافزار پس از استقرار روی دستگاه آلوده، به یک آدرس هاردکدشده متعلق به سرور فرماندهی و کنترل (C2) متصل میشود. این ارتباط از طریق یک فرآیند Handshake سفارشی و چندمرحلهای برقرار میشود که شامل رشتههای Magic (Magic Strings) و اطلاعات حساس مشترک (Shared Secrets) است. بدافزار پس از برقراری ارتباط، در انتظار دریافت دستورات از سرور C2 میماند.
این بدافزار از دستوراتی مانند موارد زیر پشتیبانی میکند:
- بررسی وضعیت ارتباط (Heartbeat Checks)
- آغاز عملیات اسکن
- توقف فرآیند اسکن
- اجرای حملات DDoS با استفاده از یکی از 19 روش حمله پشتیبانیشده
توصیههای دفاعی در برابر این تهدید
کارشناسان برای کاهش ریسک آلودگی به باتنت C0XMO و سایر بدافزارهای مبتنی بر باتنت، بهروزرسانی مستمر دستگاهها، استفاده از اعتبارنامههای مدیریتی (Administrative Credentials) منحصربهفرد و غیرفعال کردن قابلیت دسترسی از راه دور در زمانهای غیرضروری را توصیه میکنند.
Fortinet این بدافزار را از نظر معماری و مجموعه قابلیتها بهمراتب پیشرفتهتر از باتنتهای اولیه حوزه اینترنت اشیا (IoT) توصیف میکند. به گفته محققان، طراحی کلی این بدافزار نشاندهنده سطح بالاتری از پیچیدگی و پیشرفت عملیاتی نسبت به بدافزارهای متداول خانواده Gafgyt است.