بازیابی ماشین مجازی آلوده به باج افزار در esxi
در این مقاله به بازیابی ماشین مجازی آلوده به باج افزار در esxi میپردازیم و بصورت کلی ماشین های مجازی که آلوده به باج افزار شدند را بازگردانی میکنیم.
بازیابی ماشین مجازی آلوده به باج افزار در esxi
در آمورش باگ ESXi و راه جلوگیری از آن به موضوع جلوگیری از آلوده شدن ماشین های مجازی به باج افزار پرداختیم ولی در صورتی که به هر نحوی سرور شما دچار آلودگی به باج افزار شد راه حل آن صرفا حذف کردن نیست و در این آموش به بازیابی ماشین های آلوده به باج افزار میپردازیم.
نکته: حتما تمامیه patch ها و وصله های امنیتی را از سایت رسمی vmware دانلود نمایید.
در تاریخ 8 دسامبر سال 2022 خبری مبنی بر خطرناک بودن سرویس OpenSLP منتشر شد که بسیاری از متخصصین و مدیران سرور به آن بی اعتنایی کردند و چند روز بعد از آن حمله ای به همین سرویس در سرور اختصاصی esxi که خدمات میزبانی سرور مجازی را انجام میدادند شد که هدف اصلی باج خواهی و آلوده کردن کلیه اطلاعات هارد دیسک ها و ماشین های مجازی شد به گونه ای که با آدرس ولت بیت کوین و .. درخاست وجه بالایی در قبال آزادی اطلاعات میکردند.
لازم بذکر است وقتی درگیر باج افزار شوید راهی جز فراموشی کامل اطلاعات نخواهید داشت زیرا رقم های پرداختی بیت کوین و … به هیچ وجه تضمین بازیابی اطلاعات و حذف کامل را به شما نمیدهد.
غیر فعال کردن سرویس openslp
در ابتدا در صورتی که ماشین مجازی یا سرور esxi را reboot نکردید و دسترسی به ماشن دارید سرویس openslp را حتما غیر فعال کنید و در ادامه با ما همراه باشید.برای غیر فعال سازی سرویس openslp دستورات زیر را وارد میکنیم.
/etc/init.d/slpd stop esxcli network firewall ruleset set -r CIMSLP -e 0 chkconfig slpd off
دستورات وارد شده سرویس CIMSLP را که مربوط به openslp میباشد را غیر فعال میکند و رول های وارد شده را در esxi اعمال میکند.
ریکاوری سرور آلوده به باج افزار در esxi
کاربرانی که مورد حمله باج افزار قرار گرفته اند متوجه کد شدن فایل های vmdk کد شده اند و علاوه بر آنها فایل های .vmdk و .vmx نیز قابل دسترسی نمیباشند و بصورت آلوده واد کد شده اند.
اما نکته ای که امیدوارانه است به فایل های server-flat.vmdk آسیبی وارد نمیشود .
در مجازی ساز ESXI فایل ها و اطلاعات در فیال flat.vmdk نگه داری میشود و در این آموزش به بازگردانی ماشین مجازی از طریق flat.vmdk را مرور خواهیم کرد.
1- در ابتدا باید به سرویس ssh متصل شویم.
همانطور که میبینید کلیه فایل ها کد شده اند حتی فایل های welcome سرویس ssh و پیام مبتنی بر هک شدن و آدرس والت ارز مجازی برای پرداخت باج را مشاهده میکنید.
2- سپس یکبار سرور را با دستور زیر ریبوت میکنیم و بعد از لود سرور به ssh مجدد لاگین میشویم.
reboot
3-سپس می بایست وارد دایرکتوری مربوط به ماشین مجازی که قصد بازگردانی دیتای آن را دارید، شوید
بعد از وارد شدن به datastore که ماشین مجازی در آن قرار دارد، کامند ls -la را وارد نمایید، با این دستور حجم فایل vmname-flat.vmdk را مشاهده میکنید.
یک سرور esxi ممکن است از چندین هارد پشتیبانی کند , لذا باید به هارد مورد نظری که ماشین مجازی روی آن نصب گردیده وارد شویم.
آدرس هارد ها را در مسیر
/vmfs/volumes قرار دارند , با دستورات زیر میتوانید هارد های خود را پیدا کنید:
cd /vmfs/volumes
ls -la
سپس تعادی مسیر مانند datastore1 و datastore2 یا نامی که در وارد کردن هارد به سرور انتخاب کردید را مشاهده میکنید که اگر ماشین مجازی شما روی این هارد ها میباشد باید با دستور cd direname به آن وارد شوید سپس دستور ls -la را تایپ کنید تا فایل vmname-flat.vmdk را مشاهده کنید.
4-سپس با دستور mv فایل vmname.vmdk را به مسیر دیگری از سرور کپی میکنیم .
نکته: به هیچ عنوان فایل vmname.vmdk را حذف نکنید زیرا تنها کلید بازگردانی اطلاعات شما میباشد.
5-در این مرحله حجم فایل vmname-flat.vmdk که در مرحله های قبل ملاحظه نمودید را می بایست در دستور زیر جایگزین 64424509440 نمایید.
vmkfstools -c 64424509440 -d thin temp.vmdk
دقت داشته باشید که فایل هر ماشین مجازی متفاوت میباشد و عدد دقیق را با دستور ls -la یادداشت کنید و برای جایگزینی آن در دستور اقدام کنید.
6-پس از اجرای دستور بالا دو فایل با نام های temp.vmdk و temp-flat.vmdk باید ایجاد شده باشد.
فایل temp.vmdk را با vi باز کنید و در خط 9 آن مقدارtemp-flat.vmdk را جایگزین vmname-flat.vmdk کنید و سپس خط ddb.thinProvisioned = “1” را هم حذف کنید.
vi temp.vmdk
نکته: در صورتی که با ویرایشگر vi آشنایی ندارید آموزش کار با ویرایشگر vi را مشاهده کنید.
نکته:vmname نام ماشین شما میباشد مثلا اگر نام ماشین مجازی شما famaserver باشد خروجی دستور بالا famaserver-flat.vmdk میباشد.
7-بعد از انجام این تغییرات باید فایل temp-flat.vmdk را حذف کنید و فایل temp.vmdk را vmname.vmdk (نام ماشین خود) تغییر دهید.
8- در این مرحله باید فایل .vmx ماشین را بررسی کنیم، در صورتیکه این فایل encrypt شده باید میتوانیم از فایل .vmx~ که بکاپ فایل .vmx می باشد استفاده کنیم.
نکته :اگر فایل .vmx کد شده بود باید فایل .vmx~ را جایگزین آن کنید.
حال می بایست فایل .vmsd را هم به مسیر دیگری منتقل کنید، این فایل هم کد شده است و نیازی به آن نیست.
9- در ssh دستور زیر را وارد میکنیم:
vmkfstools -e xxxx.vmdk
ریکاوری ماشین مجازی به اتمام رسیده است و در صورتیکه ماشین register نباشد میتوانید از طریق پنل esxi آن را register کنید.
در صورتی هم که ماشین register شده باشد ابتدا میبایست آن را unregister کنید. برای unregister ماشینها میتوانید از دستورات زیر در ssh استفاده کنید و بعد از طریق پنل esxi آن را register کنید.
دستور زیر لیست ماشین های register شده را نمایش میدهد
vim-cmd /vmsvc/getallvms
با دستور زیر میتوانید ماشین با ID مورد نظر خود را Unregister کنید:
vim-cmd /vmsvc/unregister <id>
از طریق موارد بالا میتوانید ماشین خود را در دسترس قرار دهید.
بازیابی ماشین مجازی آلوده به باج افزار در esxi – فاماسرور
راه جلوگیری از آلوده شدن به باج افزار در esxi چیست؟
مقاله باگ esxi و راه جلوگیری از آن را مطالعه کنید.
آیا آسیبی به اطلاعات ماشین مجازی وارد نمیشود؟
باید این را در نظر داشته باشید که تمامیه اطلاعات آن سرور آلوده به باج افزار و کد شده است و این راه حل و مقاله شانس بسیار بزرگی در ریکاوری ماشین مجازی است ولی در صورت رعایت اصولی دستورات آسیبی به دیتا وارد نمیشود.
نسخه 7 نیز درگیر این باج افزار شده است؟
بله در نسخه esxi 5 به بالا تا نسخه esxi 7.0.1 update 1 این سرویس باگ را در خود جای داده است و تنها راه آن اعمال این دستورات است.
من اطلاعات مهمی در ماشین مجازی دارم آیا امکان آلوده شدن مجدد فایل ها وجود دارد؟
خیر در صورتی که مراحل بالا را به درستی انجام دهید هیچ خطری شمارا تهدید نمیکند ولی بعد از ریکاوری حتما بک آپ از سرویستان گرفته و در صورتی که esxi را ایمن کردید مجدد restore کنید.( نظر شخصی)