HabitsRAT ویندوز و لینوکس را هدف می‌گیرد

پژوهشگران شرکت امنیتی Intezer یک تروجان دسترسی از دور به نام HabitsRAT کشف کرده‌اند که دو سیستم‌عامل ویندوز و لینوکس را آلوده می‌کند.

 HabitsRAT ویندوز و لینوکس را هدف می‌گیرد

پژوهشگران شرکت امنیتی Intezer یک تروجان دسترسی از دور به نام HabitsRAT کشف کرده‌اند که دو سیستم‌عامل ویندوز و لینوکس را آلوده می‌کند.

نسخه ویندوزی این بدافزار که در حملات علیه سرورهای Microsoft Exchange (سرور ایمیل) به کار رفته بود، اولین بار توسط بنیاد Shadowserver و برایان کربز (Brian Krebs) روزنامه‌نگار امنیت سایبری گزارش شده بود. اکنون شرکت Intezer نسخه دیگری از آن را کشف کرده که لینوکس را هدف قرار می‌دهد. در زمان کشف این نسخه، هیچ یک از ضدویروس‌های VirusTotal قادر به شناسایی آن نبوده‌اند.

بدافزار به مهاجم اجازه می‌دهد تا ماشین مورد نفوذ را از راه دور کنترل کند. HabitsRAT طوری نوشته شده است که وقتی دستوری را از سرور کنترل و فرمان دریافت می‌کند، آن را تنها در صورتی اجرا کند که امضای دیجیتال داشته باشد. دلیل این طراحی این است که ممکن است دیگران بخواهند با ارسال فرمان به بدافزار، آن را کنترل کنند یا از کار بیندازند. با استفاده از امضای دیجیتال از این کار جلوگیری می‌شود. این امر حرفه‌ای بودن نویسندگان بدافزار را نشان می‌دهد.

در 28 مارچ، برایان کربز، در یک پست وبلاگی درباره حملات سرورهای اکسچینج منتشر کرد و از یک وب شل (web shell) به نام Babydraco خبر داد که روی این سیستم‌ها نصب شده و برای نصب بدافزار استفاده می‌شود. وب شل نوعی در پشتی است که به مهاجم امکان می‌دهد سرور تسخیر شده را با دستورات تحت وب کنترل کند.

در این حملات از نام برایان کربز استفاده شده بود. بدافزار نصب شده توسط این وب شل، دارای فایلی به نام krebsonsecurity.exe بود و سرور کنترل فرمان آن روی دامنه‌ای به نام brian[.]krebsonsecurity[.]top قرار داشت. کربز در پست نامبرده می‌نویسد: «بیایید همین الان تکلیف را روشن کنیم: این کار من نبوده».

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

HabitsRAT به زبان گو (Go) نوشته شده و بخش اعظم کد آن بین نسخه لینوکسی و ویندوزی مشترک است. وقتی بدافزار اجرا شود، خود را در یک پوشه نصب می‌کند که مسیر آن در ویندوز “%SystemDrive%WindowsDefenderMsMpEng.exe” و در لینوکس “$HOME/.config/polkitd/polkitd” است. بنابراین اگر بدافزار با دسترسی root اجرا شده باشد، در مسیر /root نصب می‌شود. برای اینکه بدافزار مانایی خود را حفظ کند، در لینوکس از یک یونیت فایل systemd و در ویندوز از scheduled task بهره می‌برد.

 

ارتباط با سرور کنترل و فرمان

تروجان هم برای احراز هویت و هم رمزنگاری دستورات دریافتی از C2 (سرور کنترل و فرمان) از رمزنگاری کلید عمومی استفاده می‌کند. تروجان یک جفت کلید عمومی-خصوصی می‌سازد که در ساخت آنها از نام هاست استفاده شده است. موقع ارتباط با C2، تروجان یک درخواست POST به سرور C2 (به آدرس brian[.]krebsonsecurity[.]top) می‌فرستد تا ببیند آیا باید دستوری را اجرا کند یا خیر. همراه این درخواست، کلید عمومی هم فرستاده می‌شود تا سرور با استفاده از آن دستور را رمزنگاری کند.

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

تشخیص بدافزارهایی که به زبان گو نوشته شده‌اند معمولاً برای ضدویروس‌ها دشوار است و احتمالاً این وضعیت در آینده نیز ادامه خواهد داشت. برای حفاظت در برابر این بدافزار، بهتر است سرورهایی که از طریق اینترنت قابل دسترسی هستند، به‌روز نگه داشته شوند.

 

منبع: Intezer

کلمات کلیدی