چند روزی هست که یک حمله گسترده در کل دنیا انجام شده که در این حمله بسیاری از سرورهایی که از vmware نسخه پایین مانند 6.7 u1-u2 استفاده میکردند مورد اسیب در این حمله قرار گرفتند و کل ماشینهای مجازی داخل آن سرور بصورت کامل اینکریپت شده و عملا از بین رفته .
تیم فنی سروآی تی از روز اول این حمله بصورت 24 ساعت این حمله را از جهات مختلف مورد بررسی قرار دادند و موفق به بازیابی 80درصد ماشینهای داخل آن سرورها شدند .
در این مقاله ما سعی کردیم راحل حل مقابله با این حمله را بیان کنیم و در مرحله بعد نحوه بازیبای ماشینهای مجازی را بیان کنیم
راه حل جلوگیری از این حمله
برای جلوگیری از این حمله اپدیت سرور به اخرین اپدیت ارائه شده توسط شرکت VMWARE میباشد ولی راه حل دیگه غیر فعال کردن SLP با استفاده از دستورات زیر حتما این مورد را انجام دهید
[enesdev@ESXi:~] /etc/init.d/slpd stop [enesdev@ESXi:~] esxcli network firewall ruleset set -r CIMSLP -e 0 [enesdev@ESXi:~] chkconfig slpd off
و اما راه حل دیگر محدود کردن ورود به سرور از ای پی های ست شده میباشدکه از طریق تنظیمات در vmware قابل انجام میباشد
نجات ماشینهای مجازی هک شد در vmware
سرورهایی که هک شدن فایلهای vmdk ها رمزگذاری شدهاند و عملاً دسترسی به ماشین مجازی ها امکان پذیر نیست. اما نکته ای که وجود دارد این ویروس تنها فایل های .vmdk و .vmx را مورد حمله قرار می دهد اما به فایل های server-flat.vmdk آسیبی نمی رساند.
در ساختار esxi دیتاها در فایل های flat.vmdk نگه داری میشود. بنابراین در ادامه این آموزش می خواهیم نحوه بازگردانی ماشین های مجازی از طریق فایل های flat.vmdk را پیش ببریم.
در ابتدا می بایست از طریق ssh وارد سرور شوید.
بعد از بالا آمدن سرور و ورود به محیط ssh به مسیر هاردهای خود رفته و ماشین مجازی که میخواهید برای بازیابی آن اقدام کنید وارد پوشه آن شوید
با دستور زیر فایل vmdk که اینکریپت شده را حذف میکنیم
rm -rf xxx.vmdk
توجه کنید xxxنام همان ماشین مجازی هست که در د ستور ls -la مشاهده کردید
*** توجه هرگز نباید فایل vmname-flat.vmdk را حذف کنید ***
vmkfstools -c 64424509440 -d thin temp.vmdk
این عدد 64424509440 در ماشینهای مختلف متفاوت هست که با همان دستور ls -la مشاهده میشود
حالا با استفاده از نرم افزار WinSCP وارد سرور خود شده و به همان مسیر ماشین مجازی که روی آن کار میکنید بروید خواهید دید دو فایل با نام های temp.vmdk و temp-flat.vmdk باید ایجاد شده باشد
فایل temp.vmdk رو دوبار روش کلیک کنید تا با استفاده از نوت پد باز شود
ddb.thinProvisioned = "1" در خط 19 حذف کنید
بعد از انجام این تغییرات باید فایل temp-flat.vmdk را حذف کنید و فایل temp.vmdk را 185.88.172.17.vmdk (نام ماشین خود) تغییر دهید.
اگر فایل .vmx کد شده بود باید فایل .vmx~ را جایگزین آن کنید.
در همین جا فایل .vmx~ باز کنید و تمام محتویات درون ان را کپی و با محتویات فایل .vmx جایگزین کنیدو ذخیره کنید
حالا فایل .vmsd را که کد شده حذف کنید
برگردید به ssh و دستور زیر را وارد کنید xxx نام ماشین شماست
vmkfstools -e xxxx.vmdk
کار تمام هست برگردید به vmware وارد هارد شوید و با راست کلیک xxx.vmx (نام ماشین شما)در پوشه ماشین Register VM را بزنید اگر ریجستر با خطای مواجه شد که این ماشین موجود هست برگردید به لیست ماشینهای خود ان ماشین را unregister کنید و دباره برگردید و register کنید
سپس خواهید دید که ماشین بالا خواهد آمد