امنیت و فایروال

Decrypt مجازی ساز Esxi با ایدی CVE-2020-3992

در تاریخ ۸ دسامبر ۲۰۲۲ خبر از یک باگ امنیتی توسط VMware ESXi منتشر شد که در آن گزارش از خطرات فعال بودن سرویس OpenSLP خبر داده بود، خبری که بسیاری شاید توجه ای به آن نداشتند تا از دیروز هکران از همین راه نفوذ استفاده کرده اند و بصورت جهانی بسیاری از سرور های که توسط این مجازی ساز مدیریت می شدند را مورد حمله قرار دهند.در ابتدای این حملات در ابتدا تلاش کردیم تا اطلاعات کافی درباره این حمله بدست بیاوریم و آن را  با کاربران خود به اشتراک گذاشتیم، در ادامه نیز تلاش شد تا راه حل قطعی برای این مورد داده شود، که در ادامه باهم به بررسی راه حل ها می پردازیم.

در ابتدا باید گفت در صورتیکه هنوز ماشین های مجازی شما در دسترس است باید سریعا سرویس OpenSLP را غیرفعال کنید زیرا که این باج افزار از OpenSLP استفاده می کند و با غیر فعال کردن این سرویس سرور های شما هک نمی شود.

 

 

[enesdev@ESXi:~] /etc/init.d/slpd stop
[enesdev@ESXi:~] esxcli network firewall ruleset set -r CIMSLP -e 0
[enesdev@ESXi:~] chkconfig slpd off

کامند فوق رول ست های امنیتی که برای سرویس CIMSLP که مربوط به همان OPEN SLP است را غیرفعال می کند. دستور esxi network firewall ruleset برای مدیریت کردن rule های فایروال در esxi است. از تاریخ ۳-۲-۲۰۲۳ نسخه esxi 5 و ۶ به بالا در معرض این باج افزار امنیتی قرار گرفته اند.

 

برای کاربرانی که تجربه هک شدن داشته اند فایل های vmdk ها رمزگذاری شده اند و عملاً دسترسی به ماشین مجازی ها امکان پذیر نمی باشد. اما نکته ای که وجود دارد این ویروس تنها فایل های .vmdk و .vmx را مورد حمله قرار می دهد اما به فایل های server-flat.vmdk آسیبی نمی رساند. در ساختار esxi دیتا ها در فایل های flat.vmdk نگه داری می شود. در این آموزش می خواهیم نحوه بازگردانی ماشین های مجازی از طریق فایل های flat.vmdk را پیش ببریم.

در ابتدا می بایست وارد سرور از طریق ssh شوید.

 

بعد از ورود به ssh، پیامی که هکر برای شما گذاشته را مشاهده می کنید.

سرویس OpenSLP را غیر فعال کنید.

[enesdev@ESXi:~] /etc/init.d/slpd stop
[enesdev@ESXi:~] esxcli network firewall ruleset set -r CIMSLP -e 0
[enesdev@ESXi:~] chkconfig slpd off

یکبار ریبوت زده و مجدد به ssh لاگین کیند :

سپس می بایست وارد دایرکتوری مربوط به ماشین مجازی که قصد بازگردانی دیتای آن را دارید، شوید.

بعد از وارد شدن به datastore که ماشین مجازی در آن قرار دارد، کامند ls -la را وارد نمایید، با این دستور حجم فایل vmname-flat.vmdk را مشاهده می کنید.

در این مرحله نیاز است فایل vmname.vmdk موجود را به مسیر دیگری از سرور با دستور mv منتقل کنید.

** توجه داشته باشید که هرگز نباید فایل vmname-flat.vmdk را حذف کنید **

در این مرحله حجم فایل vmname-flat.vmdk که در مرحله های قبل ملاحظه نمودید را می بایست در دستور زیر جایگزین ۶۴۴۲۴۵۰۹۴۴۰ نمایید.

vmkfstools -c 64424509440 -d thin temp.vmdk

پس از دستور بالا دو فایل با نام های temp.vmdk و temp-flat.vmdk باید ایجاد شده باشد.

فایل temp.vmdk را با vi باز کنید و در خط ۹ آن مقدارtemp-flat.vmdk را جایگزین vmname-flat.vmdk کنید و سپس خط ddb.thinProvisioned = “۱” را هم حذف کنید.

** در نظر داشته باشید که vmname نام ماشین شما می باشد. **

بعد از انجام تغییرات باید فایل temp-flat.vmdk را حذف کنید.

فایل temp.vmdk را vmname.vmdk (نام ماشین خود) تغییر دهید.

در این مرحله باید فایل .vmx ماشین را بررسی کنیم، در صورتیکه این فایل encrypt شده باید می توانیم از فایل .vmx~ که بکاپ فایل .vmx می باشد استفاده کنیم.

اگر فایل .vmx کد شده بود باید فایل .vmx~ را جایگزین آن کنید.

حال می بایست فایل .vmsd را هم به مسیر دیگری منتقل کنید، این فایل هم کد شده است و نیازی به آن نیست.

به ssh سرور برگردید و در آن دستور زیر را وارد کنید:

vmkfstools -e xxxx.vmdk

ریکاوری ماشین مجازی به اتمام رسیده است و در صورتیکه ماشین register نباشد می توانید از طریق پنل esxi آن را register کنید.

در صورتی هم که ماشین register شده باشد ابتدا می بایست آن را unregister کنید.

برای unregister ماشین ها می توانید از دستورات زیر در ssh استفاده کنید و بعد از طریق پنل esxi آن را register کنید.

List all registered VMs using: 
vim-cmd /vmsvc/getallvms
Unregister particular VM using: 
vim-cmd /vmsvc/unregister <id>

از طریق موارد فوق میتوانید ماشین خود را در دسترس قرار دهید امیدوارم آموزش فوق برای شما هم کارا باشد.

 

سعید یاوری

فعال در حوزه شبکه و امنیت DevSecOps

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا