خانه » نفوذ بدافزار Perfctl به میلیون‌ها سرور لینوکسی!

نفوذ بدافزار Perfctl به میلیون‌ها سرور لینوکسی!

توسط Vulnerbyte
3 بازدید
perfctl malware - بدافزار perfctl - ماینر ارز دیجیتال - نرم افزار proxyjacking - سرور لینوکس

سرورهای لینوکسی آسیب پذیر و دارای پیکربندی نادرست از 3 تا 4 سال گذشته تاکنون هدف یک حمله بدافزاری در حال انجام به نام perfctl قرار گرفته‌اند. این بدافزار به طور فعال به دنبال بیش از بیست هزار نوع پیکربندی نادرست برای سوء استفاده از سرورهای لینوکسی بوده است.

بدافزار perfctl یک ماینر ارز دیجیتال و نرم افزار proxyjacking را بر روی سرور هدف مستقر می‌کند. این بدافزار از چندین تکنیک پیچیده استفاده می‌نماید.

به گفته محققان  Aqua Nautilus، هزاران سرور در سراسر جهان تحت نفوذ این بدافزار قرار گرفته‌اند و به نظر می‌رسد که Perfctl، هر سرور لینوکس آسیب پذیر یا دارای پیکربندی اشتباه متصل به اینترنت را مورد نفوذ قرار داده باشد.

 

ویژگی‌های بدافزار perfctl

بدافزار perfctl دارای چندین ویژگی است از جمله:

  • از روت کیت (rootkit)ها برای پنهان کردن حضور خود استفاده می‌کند.
  • هنگامی که یک کاربر جدید وارد سرور می‌شود، بلافاصله تمام فعالیت‌های پر سر و صدا و شک برانگیز را متوقف می‌سازد تا زمانی که سرور مجدداidle شود.
  • از سوکت یونیکس برای ارتباطات داخلی و از TOR برای ارتباطات خارجی استفاده می‌کند.
  • Perfctlپس از اجرا، باینری خود را حذف می‌کند و به صورت بی سر و صدا در پس زمینه به عنوان یک سرویس اجرا می‌شود.
  • با استفاده از نام‌های فریبنده، خود را از حافظه به مکان‌های مختلف بر روی دیسک کپی می‌کند.
  • Perfctl، بکدوری را بر روی سرور باز می‌کند و به ارتباطات TOR گوش می‌دهد.
  • تلاش می‌کند از آسیب پذیری Polkit (CVE-2021-4043) برای افزایش سطح دسترسی سوء استفاده کند.

در تمامی حملات، مشاهده شده است که بدافزار perfctl برای اجرای کریپتو ماینر (cryptominer) مورد استفاده قرار می‌گیرد و در برخی موارد نیز نرم‌افزار proxy-jacking  را اجرا می‌کند.

perfctl همانطور که گفته شد، از یک نقص امنیتی در Polkit  (با شناسه CVE-2021-4043 و نام مستعار PwnKit) برای افزایش سطح دسترسی و استقرار یک ماینر به نام perfcc استفاده می‌کند.

دلیل نام “perfctl” به نظر می رسد تلاشی عمدی برای فرار از شناسایی و ترکیب شدن با فرآیندهای قانونی سیستم باشد، چرا که “perf” به ابزار نظارت بر عملکرد لینوکس اشاره دارد و “ctl” پسوندی است که به معنای کنترل در ابزارهای مختلف خط فرمان مانند systemctl، timedatectl و rabbitmqctl استفاده می‌شود.

 

زنجیره حمله بدافزار perfctl

پس از بهره برداری از یک آسیب پذیری (مانند CVE-2021-4043) و یا یک پیکربندی نادرست، پیلود اصلی از یک سرور HTTP (از یک نمونه آسیب‌پذیر Apache RocketMQ) که توسط مهاجم کنترل می‌شود دانلود می‌گردد.

پیلود اصلی در اینجا httpd نام دارد که پس از اجرا، خود را از حافظه به یک مکان جدید در دایرکتوری “tmp/”  کپی و باینری جدید را اجرا می‌کند، فرآیند اصلی را خاتمه می‌دهد و باینری اولیه را در تلاش برای پوشاندن ردپای خود حذف می‌کند.

بدافزار perfctl علاوه بر کپی کردن خود در مکان‌های دیگر و گذاشتن نام‌های به ظاهر عادی و مشابه فرآیندهای سیستمی بر روی خود، به دنبال آن است که کمتر مشکوک به نظر برسد و شناسایی نگردد.

بدافزار perfctl در حمله بررسی شده توسط sh اجرا شده است. از این رو، نام بدافزار از httpd به sh تغییر یافته است. بدافزار در این مرحله، هم به عنوان یک dropper  (نصب کننده بدافزار) و هم به عنوان یک فرآیند فرماندهی و کنترل (C2) لوکال عمل می‌کند. این بدافزار حاوی یک اکسپلویت برای CVE-2021-4043 است که سعی دارد آن را اجرا کند تا سطح دسترسی روت را بر روی سرور بدست آورد.

بدافزار perfctl به کپی کردن خود از حافظه در ده‌ها مکان دیگر با نام‌هایی که به عنوان فایل‌های سیستمی متداول ظاهر می‌شوند، ادامه می‌دهد. perfctl همچنین یک روت کیت و چند ابزار محبوب لینوکس را مستقر می‌کند که برای سرویس به عنوان روت کیت کاربر (یعنی ldd، lsof) اصلاح شده‌اند.

یک کریپتو ماینر نیز بر روی سیستم قرار داده می‌شود و در تعدادی از اجراها، مشاهده شده است که برخی از نرم افزارهای proxy-jacking  از یک سرور راه دور بر روی سیستم مورد نظر منتقل و اجرا می‌شوند.

این بدافزار به عنوان بخشی از عملیات فرماندهی و کنترل خود، یک سوکت یونیکس را باز می‌کند، دو دایرکتوری را در زیر پوشه tmp/ ایجاد و داده‌هایی را که بر عملکرد آن تأثیر می‌گذارند در آنجا ذخیره می‌کند.

این داده‌ها شامل رویدادهای میزبان، مکان‌های کپی‌های خود، نام‌ فرآیندها، لاگ‌های ارتباطی، توکن‌ها و اطلاعات لاگ اضافی است. علاوه بر این، بدافزار از متغیرهای محیطی برای ذخیره داده‌ها استفاده می‌کند که بر اجرا و رفتار آن تأثیر می‌گذارند.

همه باینری‌ها به گونه ای بسته‌بندی و رمزگذاری شده‌اند که نشان ‌دهنده تلاش‌های قابل توجه برای دور زدن مکانیزم‌های امنیتی و جلوگیری از مهندسی معکوس آنها است. این بدافزار همچنین از تکنیک‌های پیشرفته مانند تعلیق فعالیت خود در صورت شناسایی کاربر جدید در فایل‌های btmp یا utmp و پایان دادن به هر بدافزار مشابه برای حفظ کنترل سیستم آلوده و تحت نفوذ استفاده می‌کند.

perfctl malware - بدافزار perfctl - ماینر ارز دیجیتال - نرم افزار proxyjacking - سرور لینوکس
زنجیره نفوذ بدافزار perfctl

همانطور که قبلا ذکر شد، فایل‌های زیادی بر روی دیسک و در درجه اول در دایرکتوری‌های tmp/، /usr، و root/ نوشته یا اصلاح می‌شوند.

malware - بدافزار - ماینر ارز دیجیتال - نرم افزار proxyjacking - سرور لینوکس
فایل‌هایی که بر روی دیسک مستقر و یا نوشته شده‌اند

راهکارهای مقابله با بدافزار Perfctl

پچ کردن به موقع آسیب پذیری‌ها: اطمینان حاصل کنید که تمام آسیب پذیری‌ها وصله شده‌اند. به ویژه اپلیکیشن‌هایی مانند RocketMQ servers  و CVE-2021-4043 (Polkit). تمامی نرم افزارها و کتابخانه‌های سیستمی را به روز نگه دارید.

محدود کردن اجرای فایل: noexec را روی /tmp، /dev/shm و دیگر دایرکتوری‌های قابل نوشتن تنظیم کنید تا از اجرای باینری‌ها از این مکان‌ها جلوگیری کنید.

غیرفعال سازی سرویس‌هایی که استفاده نمی‌شوند: هر سرویسی را که مورد نیاز نیست غیرفعال کنید، به‌ویژه سرویس‌هایی که ممکن است سیستم را در معرض دید مهاجمان خارجی قرار دهند، مانند سرویس‌های HTTP.

پیاده سازی مدیریت دسترسی محدود (Strict Privilege Management): دسترسی root به فایل‌ها و دایرکتوری‌های بحرانی را محدود کنید. از کنترل دسترسی مبتنی بر نقش ([1]RBAC) برای محدود نمودن مواردی که کاربران و فرآیندها می‌توانند به آن دسترسی داشته باشند یا تغییر دهند، استفاده کنید.

تقسیم‌بندی شبکه: سرورهای مهم را از اینترنت جدا کنید و یا از فایروال‌ها برای محدود کردن ارتباطات خروجی، به‌ویژه ترافیک TOR یا اتصال به منابع استخراج ارز دیجیتال استفاده کنید.

استقرار Runtime Protection (حفاظت در زمان اجرا): از ابزارهای پیشرفته ضد بدافزار و تشخیص رفتار استفاده کنید تا روت کیت‌ها، کریپتو ماینرها و بدافزارهای بدون فایل مانند perfctl را شناسایی کنند.

 

[1] Role-Based Access Control

 

منبع

همچنین ممکن است دوست داشته باشید

پیام بگذارید

تعریف نشده است