چهارشنبه شب ادمینهای سرور و شرکتهای ارائهدهنده سرویسهای ابری و مجازی اطلاع دادند یک آسیب شناخته شدهی ۲ ساله دردسرساز شده و در در حال حمله به سرورهای ESXi است و تمام دیتاسنترهای سراسر جهان را مورد هدف قرار گرفته است. در این مقاله میخواهیم ببینیم این بدافزار چیست و چگونه به وجود آمده است و راهحل جلوگیری از آن چیست.
چهارشنبه شب ادمینهای سرور و ارائهدهندگان سرویسهای ابری و مجازی خبر دادند که یک آسیب شناخته شدهی دوساله در VMware ESXi دردسرساز شده و حملات سنگینی از سوی خرابکاران به سمت سرورهای ESXi از فرانسه آغاز شده و به شدت در حال گسترش به سمت دیتاسنترهای سراسر جهان است.
طی این حمله که با سوء استفاده از آسیب امنیتی CVE-2021-21974 ترتیب داده شده است سرورهای قربانی، آلوده به باجافزار ESXiArgs خواهند شد. این حملات مستقیما سرویس OpenSLP را هدف گرفته و از باگ موجود در این سرویس سوء استفاده میکنند.
خالی از لطف نیست که بدانیم یک وصله امنیتی حدود یک سال پیش و در تاریخ ۲۳ فوریه ۲۰۲۱ برای رفع این باگ امنیتی ارائه شده بود و کسانی که به موقع پلتفرم خود را بهروزرسانی کردند از این حملات در امان بودند. اما به نظر میرسد، خیلی از ارائهدهندگان این آسیب را جدی نگرفته بودند ولی از این به بعد قطعا جدیتر پیگیر وصلههای امنیتی خواهد بود.
مهاجمان اکنون در حال اسکن و هدف قرار دادن مجازیسازهای ESXi از نسخه 6.x تا نسخه 6.7 هستند.
برای پیشگیری از هدف قرار گرفتن، لازم است که مدیران سرور پیش از هرچیز، سرویس Location Protocol یا SLP را بهطور کامل غیرفعال کنند. سپس در اولین فرصت وصله امنیتی مربوط به آسیبپذیری CVE-2021-21974 را نصب کنند. این وصله امنیتی برای نسخههای زیر ESXi ارائه شده است:
برای نسخههای پایینتر وصله امنیتی ارائه نشده است و برای جلوگیری از این خطر و خطرات امنیتی دیگر، نیاز است که ابتدا پلتفرم را حداقل به نسخه 6.5 بهروزرسانی کنید. دیتاسنتر فرانسوی OVH هم گزارشی منتشر کرده است که نشان میدهد موارد بسیاری از آلودگی به این باجافزار در سرورهای ESXi میزبانی شده در این دیتاسنتر گزارش شده است.
تمرکز این حملات روی پورت ۴۲۷ روی نسخههای ESXi پایینتر از 7.0 U3i است که چنانچه گفته شد، مربوط به سرویس OpenSLP میشود.
طوری که از پیام این باجافزار مشخص است، ما با یک بدافزار جدید روبرو هستیم که ارتباطی با موج قبلی باجافزارها موسوم به عملیات نوادا ندارد.
این بدافزار اقدام به کدگذاری روی فایلهایی با پسوندهای زیر میکند:
به عبارتی تمام فایلهای اصلی مربوط به ماشینهای مجازی میزبانی شده در ESXi کدگذاری یا Encrypt میشوند و یک فایل .args نیز بهازای هر فایل کد شده ایجاد میشود. برای دسترسی مجدد به فایلها یا Decrypt این فایلهای حیاتی، از شما درخواست مبلغی بیش از ۲ بیت کوین میشود. یعنی چیزی حدود ۵۰ هزار دلار!
عوامل این حملات ادعا میکنند که اطلاعات سرورها را نیز سرقت کردهاند ولی گزارش قربانیان این ادعا را تایید نمیکند. بهطور مثال یکی از مدیران سروری با ۵۰۰ گیگابایت اطلاعات را مانیتور کرده است. ترافیک عادی این سرور در حدود 2Mbps بوده و با مقایسه ۹۰ روز گذشته با بعد از حمله باجافزار، اثری از افزایش ترافیک خروجی دیده نشده است. در نتیجه تلاشی برای استخراج دادهها از سرور قربانی صورت نگرفته است.
قربانیان دو فایل دیگر به نامهای ranson.html و How to Restore Your Files.html نیز روی سرورهای آلوده پیدا کردهاند که با فرمت متن ساده هستند و یک نمونه از آنها با این محتویات به دست ما رسیده است:
تا کنون یک راهکار برای Decrypt دیتای آلوده ارائه شده است که به نظر میرسد برای بیشتر کاربران مفید واقع شده است و در ادامه همین مقاله، آموزش آن را ارائه خواهیم داد. شما هم اگر تجربهای دارید یا راهی برای بازیابی اطلاعات از دست رفته پیدا کردید، در بخش نظرات، آن را با ما و دیگر کاربران برتینا به اشتراک بگذارید.
یکی از SysAdminها موفق شده است که یک نسخه از این بدافزار را بازیابی کند و اطلاعاتی در انجمنهای تخصصی منتشر کند. تجزیه و تحلیل این فایل به ما اجازه میدهد که عملکرد این Ransomware را بهتر درک کنیم که این روند را با هم مرور میکنیم.
در ابتدای نفوذ، فایلهای ذیل در پوشه /tmp قرار میگیرند.
encrypt – اسکریپت اجرایی کد کردن فایلهای هدف
encrypt.sh – یک اسکریپت شل که روند حمله، نفوذ و کد کردن فایلها را مدیریت میکند.
public.pem – کلیدی که برای رمزنگاری فایلها استفاده میشود.
motd – پیام نفوذگر که در ابتدای لاگین به کاربر نشان داده میشود.
index.html – فایل پیام نفوذگر که جایگزین صفحه لاگین مجازیساز میشود.
فایل public.pem یک فایل RSA عمومی و احتمالا با استاندارد 2048 است و از نظر فنی هر فایل PEM معتبری را قبول میکند.
این تجزیه و تحلیل نشان میدهد که ESXiArgs احتمالاً براساس سورس کد فاش شده Babuk است که قبلاً توسط سایر کمپینهای باجافزار ESXi مانند CheersCrypt و رمزگذار PrideLocker متعلق به گروه Quantum/Dagon استفاده شده بود. علاوهبر این، همانطور که قبلاً دیتاسنتر OVH اشاره کرده بود، به نظر نمیرسد که این حملات به باجافزار نوادا مرتبط باشد.
پس از شروع کار باجافزار، اسکریپت دستور زیر را برای تخریب فایلهای ماشین مجازی ESXi (.vmx) اجرا میکند تا محتوای فایلهای ‘.vmdk’ و ‘.vswp’ به ‘1.vmdk’ و ‘1.vswp’ تغییر کنند.
سپس اسکریپت براساس روش استاندارد ESXi کلیه پردازشهای مرتبط با هر ماشین مجازی را از فایل vmx استخراج کرده و با دستور kill -9 همه را متوقف میکند. در ادامه دستو زیر برای دریافت لیست دیسکهای کل سرورهای مجازی اجرا میشود:
esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}
در مرحله بعد که در واقع مهمترین مرحله حمله است، بهازای هر فایل، یک فایل Encrypt ایجاد میشود تا از آن برای رمزگذاری فایل اصلی استفاده شود:
در پایان، فایلهای نوت در دایرکتوریهای مربوط به پیام لاگین و صفحه ورود به ESXi کپی میشود و پاکسازیهای نهایی فایلهای موقت اسکریپت انجام میشود.
اگر هنوز مورد حمله قرار نگرفتید، دستورات زیر را برای غیرفعال کردن سرویس SLP اجرا کنید:
[enesdev@ESXi:~] /etc/init.d/slpd stop
[enesdev@ESXi:~] esxcli network firewall ruleset set -r CIMSLP -e 0
[enesdev@ESXi:~] chkconfig slpd off
بهطور کلی پیشنهاد میشود کلیه سرویسهایی را که مورد استفاده نیستند غیرفعال کرده و سرویسهایی را نیز که استفاده عمومی ندارند، به آدرسهای IP مورد اطمینان خود محدود کنید.
اگر شوربختانه مورد حمله قرار گرفتید، پیش از هرچیز، سرور ESXi را ریبوت کنید. سپس از طریق SSH وارد پوشه مربوط به ماشین مجازی خود که قصد ریستور آن را دارید شوید:
حالا دستور ls -la را جهت دریافت سایز فایل flat.vmdk وارد کنید:
پس از آن فایل rm -rf xxx.vmdk را حذف کنید. دقت کنید که فایل xxx-flat.vmdk را حذف نکنید.
سپس دستور ذیل را جهت ایجاد فایل موقت وارد کنید:
vmkfstools -c 64424509440 -d thin temp.vmdk
عدد 64424509440 را با عددی که با دستور ls -la به دست آوردید جایگزین کنید.
حالا با یک نرمافزار که قابلیت اتصال SFTP داشته باشد دایرکتوریهای سرور را لیست کنید. وقتی وارد پوشه ماشین مجازی مورد نظر شوید، فایلهای temp.vmdk و temp-flat.vmdk را خواهیددید.
فایل temp.vmdk را با یک ویرایشگر متن مثل notepad++ باز کنید. فایل باید شبیه به فایل زیر باشد:
در خط ۹ و در جایی که نام فایل temp-flat.vmdk ذکر شده است، نام آن را با نام واقعی فایل -flat.vmdk ماشین مجازی خود جایگزین کنید.
در این مثال، اسم واقعی فایل جایگزین نام موقت شد. همچنین خط ۱۹ که شامل ddb.thinProvisioned = “1” بود هم حذف شد. حالا میتوانیم فایل temp-flat.vmdk را حذف کنیم.
همچنین باید فایل temp.vmdk نیز به اسم واقعی خود تغییر کند:
حالا باید فایل تنظیمات یا vmx را آماده کنیم. فایل اصلی کدگذاری شده است ولی یک فایل بکاپ از آن با نام .vmx~ موجود است. آن را باز کنید و کل محتویاتش را به فایل .vmx اصلی منتقل کنید.
همچنین شما فایل .vmsd را نیاز ندارید. این فایل خراب است ولی با حذف آن مشکلی ایجاد نمیشود.
به محیط SSH برگردید و فرمان زیر را براساس نام واقعی دیسک خود وارد کنید:
vmkfstools -e xxxx.vmdk
حالا وارد محیط ESXi خود شوید و با ورود به دیتاستوری که ماشین در آن قرار دارد و ورود به پوشه ماشین مجازی، روی فایل .vmx کلیک راست کنید و Register VM را انتخاب کنید. اگر ماشین از قبل در لیست وجود دارد، پیش از این کار ماشین قبلی را Unregister کنید.
ماشین ریستور شده را روشن کنید. سیستمعامل باید بدون هیچ مشکلی اجرا شود. کل این عملیات را برای تمام ماشینهای مجازی خود تکرار کنید.
برای اینکه پیغام هکرها دیگر دیده نشود، دستور زیر را اجرا کنید:
echo "" > /etc/motd
در پایان پیشنهاد میکنیم که همواره و روی همه سرویسها، کلیه تمهیدات و محدودسازیهای امنیتی را مد نظر داشته باشید و وصلههای امنیتی را بلافاصله پس از انتشار توسط توسعهدهنده نصب کنید.
این مطلب چقدر برای شما مفید بود؟
امتیاز 5 / 5. تعداد نظرات : 3
اولین نظر را شما ثبت کنید!