کمپین آسیب‌پذیری ESXiargs

این مقاله معرفی کوتاهی از حمله ESXiargs ارائه داده و بعد از آن به بررسی مشخصات این حمله می‌پردازد. همچنین نکاتی درمورد این حمله و نحوه بازیابی را توضیح خواهد داد.
تصویر شاخص مقاله کمپین ESXiargs

در این مقاله می‌خوانیم

خلاصه مدیریتی 

کلمه ESXiargs نام یک حمله می‌باشد که از چندین آسیب‌پذیری که در هایپروایزرهای VMware ESXi وجود دارد، استفاده می‌نماید. این آسیب‌پذیری در سال 2020 شناسایی شد و به مهاجم اجازه می‌دهد کد را با دسترسی مدیر سیستم بر روی سرور اجرا نماید. آسیب‌پذیری ESXiargs به خاطر عیب در روشی که ESXi به آرگومان‌هایی که به مانیتور ماشین مجازی (VMM) پاس شده‌اند، رخ داده است و می‌تواند با ارسال بسته‌های شبکه در قالب مشخص به یک سیستم آسیب‌پذیر، بهره برداری گردد.

برای محافظت از خطر حملات ESXiargs برای نسخه‌های ESXi آسیب پذیر بروزرسانی‌های امنیتی منتشر شده است و توصیه می‌شود کاربران این بروزرسانی‌ها را اعمال نمایند.

مفهوم تیم قرمز (Red Team) چیست و چرا برای همه سازمان‌ها اهمیت دارد؟

مشخصات حمله

آسیب‌پذیری‌های مورد استفاده تاثیرگذار احتمالی:  CVE-2021-21974, CVE-2020-3992, CVE-2019-5544

منبع فنی حمله: VMWare ESXi’s OpenSLP

تاثییرات:  رمزنگاری .vmdk.vmx.vmxf.vmsd.vmsn.vswp.vmss.nvram.vmem

محافظت: محدود سازی دسترسی به esxi و vcenter / محدود سازی پورت ۴۲۷

نسخه‌های تحت تاثییر:

  • 7.0 before ESXi70U1c-17325551, 
  • 6.7 before ESXi670-202102401-SG, 
  • 6.5 before ESXi650-202102101-SG

شرح فنی

آسیب‌پذیری OpenSLP در VMware ESXi، نقص در پیاده‌سازی پروتکل شناسایی (SSDP) در کتابخانه OpenSLP می‌باشد که توسط VMware ESXi استفاده می‌شود. این آسیب‌پذیری به مهاجم اجازه می‌دهد تا با ارسال بسته‌های SSDP خاص، بدون نیاز به دسترسی جداگانه، کد دلخواه را بر روی سرور ESXi اجرا کند.

آسیب‌پذیری OpenSLP، نسخه‌های VMware ESXi 5.5، 6.0، 6.5 و 6.7 را تحت تاثیر قرار می‌دهد. مهاجم می‌تواند از این آسیب‌پذیری با ارسال بسته‌های SSDP خطرناک، استفاده نماید و منجر به حمله (buffer overflow) شود.

همچنین می‌تواند کد دلخواه را بر روی سیستم اجرا کند. کدی که توسط مهاجم اجرا می‌شود، می‌تواند برای نصب بدافزار یا باج‌افزار استفاده شود، و ممکن است باعث اثرگزاری بر روی همه یا بخشی از ماشین‌های مجازی سیستم شود.

آسیب‌پذیری سرریز بافر با کد CVE-2021-21974 که در این کمپین به شکل نامشخصی از آن استفاده گردیده است، در بخش SLP به صورت ذیل توسعه داده شده است:

srvurl از ورودی شبکه به دست می‌آید، اما تابع srvurl را با بایت NULL قبل از استفاده از (strstr) بررسی نمی‌شود.

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

برای جلوگیری از این آسیب‌پذیری مقدار ارسالی برای صحت سنجی ورودی به صورت ذیل بررسی می‌گردد:

__int64 __fastcall SLPParseSrvUrl(int srvurllen, const char *srvurl, _QWORD *a3) 
{ 
// ... 
  obuf = calloc(1uLL, srvurllen + 53LL); 
  if ( !obuf ) 
    return 12LL; 
  v6 = strstr(srvurl, ":/");		// <-- (5) 
  if ( !v6 ) 
  { 
    free(obuf); 
    return 22LL; 
  } 
  memcpy((char *)obuf + 41, srvurl, v6 - srvurl);  // <-- (6) 
// ... 
}

آغاز حمله

ESXiargs، نام کمپین حمله می باشد که در آن مهاجمان با استفاده از آسیب پذیری موجود در VMware ESXi به سرور مذکور دسترسی و باج افزار مشخص را اجرا نمایند. همچنین با استفاده از رمزنگاری متقارن و نامتقارن ماشین‌های مجازی (VM) که روی میزبان مورد حمله در حال اجرا هستند را قفل می‌نماید و باعث می‌شود کاربر قادر به دسترسی به آن نباشد.

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

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

چگونه بازیابی اطلاعات را انجام دهیم؟

مراحل بازیابی اطلاعات بدین ترتیب می‌باشد.

  • قطع اتصال از شبکه برای جلوگیری از انتشار مجدد باج‌افزار
  • انتقال فایل‌های پشتیبان ماشین‌ها به محیط خارج از محدوده باج‌افزار
  • تشخیص و پاکسازی باج‌افزار از سرور قربانی

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

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

مراحل:

  • دریافت اسکریپت و ذخیره‌سازی در مسیر /tmp

wget -O /tmp/recover.sh https://raw.githubusercontent.com/cisagov/ESXiArgs-Recover/main/recover.sh

  • اعطای دسترسی

chmod +x /tmp/recover.sh

  • مراجعه به مسیر ماشین رمزنگاری شده، برای مثال:

cd /vmfs/volumes/datastore1/example

  • لیست فایل های موجود با پسوند vmdk استخراج نمایید

ls

  • اسکریپت را شکل ذیر اجرا نمایید

/tmp/recover.sh [name], where [name]

همچنین اگر به شکل thin ذخیره‌سازی انجام گردیده است به شکل زیر دستور را اجرا نمایید

/tmp/recover.sh [name] thin.

  • پس از بازیابی می‌توانید مجدد ماشین‌ها را register نمایید.
  • برای بازیابی صفحه وب esxi ابتدا از مسیر زیر رفته و سپس از صفحه اصلی پشتیبان ایجاد نمایید.

cd /usr/lib/vmware/hostd/docroot/ui/ && mv index.html ransom.html && mv index1.html index.html

  • سپس دستور ذیل را برای حذف فایل باج‌افزار در صورت صلاح دید اجرا نمایید.

cd /usr/lib/vmware/hostd/docroot && mv index.html ransom.html && rm index.html & mv index1.html index.html

  • ESXi را مجدد راه اندازی نمایید
  • سپس در مرورگر و پس از ورود مراحل ذیل را برای register ماشین‌های بازیابی شده اجرا نمایید.
  • بر روی ماشین‌های موجود که فایل‌های آن‌ها رمزنگاری شده‌اند، کلیک راست و سپس “Unregister” را انتخاب نمایید.
  • سپس “Create / Register VM” را انتخاب نمایید.
  • گزینه “Register an existing virtual machine” انتخاب نمایید.
  • گزینه “Select one or more virtual machines, a datastore or a directory” را انتخاب و سپس به مسیر ماشین‌ها رفته و vmx را انتخاب نمایید.
  • گزینه “Next” و “Finish” را انتخاب نمایید.

سخن آخر

نکته قابل تامل در این کمپین، ضرورت وجود فایل‌های پشتیبان منظم از ماشین‌های مجازی می‌باشد. چرا که حملات تحت تاثیر مجازی سازها به صورت روز افزون در حال پیشرفت بوده و پیشنهاد می‌گردد اقدامات فوق برای مدیریت ریسک‌های مربوطه، حتما انجام شوند:

  • پشتیبان از فایل‌های مربوط به ماشین‌های مجازی و ذخیره‌سازی به صورت آفلاین
  • رصد و بروزرسانی آخرین patch های امنیتی
  • آموزش آگاهی رسانی‌های امنیتی برای مدیران و کارمندان در مقابل حملات مهندسی اجتماعی
  • ایجاد، ذخیره سازی و تغییر دوره ای کلمه عبور ها با پیجیدگی کافی و ایمن
  • استفاده از نرم افزار های امنیتی برای کاهش احتمال بهره برداری از آسیب پذیری های احتمالی

مقاله برای مطالعه بیشتر

مهندسی اجتماعی چیست؟

منابع

پیمایش به بالا