روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ GTSC در پایان سپتامبر گزارشی در مورد حملهای به زیرساخت حیاتی که ماه آگست رخ داده بود منتشر کرد. در طول این تحقیقات، متخصصین دو آسیبپذیری روز صفر در سرور Microsoft Exchange پیدا کردند که در حمله مورد استفاده قرار گرفته بودند. اولی (CVE-2022-41040) یک آسیبپذیری جعل درخواست سمت سرور (SSRF) است که به مهاجم احراز هویتشده اجازه میدهد تا از راه دور آسیبپذیری بعدی را –یعنی CVE-2022-41082- فعال کند. دومین آسیبپذیری در عوض وقتی MS Exchange PowerShell برای مهاجم قابل دسترسی باشد اجرای کد دلخواه (RCE) را ممکن میسازد.
همانطور که در گزارش GTSC اشاره شد هر دوی آسیبپذیریها با هم در محیط بیرون به منظور ایجاد بکدر روی سرور آسیبپذیر و اجرای حرکت جانبی اکسپلویت شدند. مایکروسافت بعد از اینکه CVE-2022-41040 و CVE-2022-41082 فاش شدند یک راهنمای کاهشی ارائه داد که در ادامهاش چندتایی هم آپدیت منتشر شد. به نقل از این شرکت، آسیبپذیریهای نامبرده روی MS Exchange Server نسخههای 2013، 2016 و 2019 اثر گذاشتهاند. در 11 اکتبر 2022 نیز این شرکت به عنوان بخشی از آپدیت پچ تیوزدی خود پچهایی برای کاور کردن آسیبپذیریها منتشر کرد.
بعد از آن در تاریخ 17 نوامبر محقق امنیتی نیز اولین PoC. کارامد خود را نیز منتشر کرد. این یک اسکریپت پیتون بود که پارامترهای زیر را میپذیرد: کاربر، پسورد، آدرس ایمیل و خط فرمان برای اجرا روی میزبان قربانی. جامعه امنیت سایبری این جفت آسیبپذیری را ProxyNotShell نامیدند. نام به زنجیره حمله اخیر ProxyShell برمیگردد که دارای همان آسیبپذیریها در سرورهای اکسچینج بود (آنها در سال 2021 کشف شدند). ProxyShell مجموعه ای از سه آسیبپذیری است: CVE-2021-34473، CVE-2021-34523 و CVE-2021-31207 . مهاجمین از آنها برای ایجاد پوسته های وب و اجرای کد دلخواه بر روی سرورهای آسیب پذیر Microsoft Exchange استفاده میکردند.
جزئیات اکسپلویت ProxyNotShell
اولین قدم در این حمله استفاده از CVE-2022-41040 برای دسترسی به نقطه پایانی PowerShell API است. با استفاده از فیلتر ناکافی دادههای ورودی در مکانیزم Exchange Autodiscover، یک مهاجم با ترکیبی از ورود و رمز عبور شناخته شده برای یک حساب ثبت شده، میتواند به نقطه پایانی ممتاز Exchange Server API دسترسی پیدا کند (https://%exchange server domain%/powershell). این دسترسی به مهاجم اجازه میدهد تا دستورات PowerShell را در محیط Exchange روی ماشین سرور اجرا و آنها را از طریق پروتکل XML SOAP در payload ارسال کند.
در مرحله بعدی، مهاجم باید از طریق پروتکل WSMAN به مدیریت سازمانی مبتنی بر وب (WBEM) دسترسی پیدا کند. مهاجم پوسته را روی سیستم آسیب پذیر برای اجرای بیشتر اسکریپت PowerShell از طریق مدیریت از راه دور ویندوز راهاندازی میکند (PsRemoting). پس از راهاندازی پوسته، مهاجم باید فوراً بازه زیستی آن را افزایش دهد. در غیر این صورت، پوسته بسته میشود زیرا زمان انقضا آن به طور پیشفرض بسیار کوتاه است. این برای اجرای دستورات بیشتر در Exchange Server ضروری است. برای انجام این کار، مهاجم بلافاصله یک درخواست ویژه از طریق WSMAN ارسال میکند که گزینه keep alive را فعال میکند.
پس از آن، مهاجم آسیب پذیری دوم - CVE-2022-41082 را اکسپلویت میکند. با استفاده از PowerShell Remoting، مهاجم درخواستی برای ایجاد یک دفترچه آدرس ارسال میکند و دادههای رمزگذاریشده و سریالسازی شده را با یک بار ویژه به عنوان پارامتر ارسال میکند. در PoC منتشر شده، این دادههای کدگذاری شده حاوی ابزاری به نام System.UnitySerializationHolder است که یک شیء از کلاس System.Windows.Markup.XamlReader را ایجاد میکند. این کلاس داده های XAML را از یک payload پردازش میکند، که یک شیء جدید از کلاس System.Diagnostics ایجاد و شامل یک فراخوانی متد برای باز کردن یک فرآیند جدید در سیستم هدف است. در PoC منتشر شده، این فرآیند calc.exe است.
اکسپلویت ProxyNotShell
چند هفته بعد از اینکه این آسیبپذیری کشف شد، کسپرسکی اکسپلویت موفقی از ProxyNotShell را در محیط بیرون شناسایی کرد. عامل اقدامات زیر را انجام داده بود:
- شناسایی (کاربران، گروهها، دامنهها)
- اقدامات مختلف سرقت (حتی دراپ کردن باینریهای آسیبپذیر)
- تزریق ریموت پروسه
- مقاومت
- پوسته معکوس
در این مورد، مهاجم برای انجام چنین نفوذی به اطلاعات و دادههای لازم دسترسی داشت. مهاجم از Exchange Server شرکت سوءاستفاده کرد و در نتیجه توانست هر فرآیندی را که می خواست در ماشین Exchange ایجاد و دستورات را به عنوان یک بار ارسال کند.
در سمت سرور، تمام فرآیندهایی که از طریق اکسپلویت شروع میشوند، دارای یک فرآیند اصلی با پارامترهای خاص هستند:
w3wp.exe -ap "msexchangepowershellapppool
این مراحل حمله پسااکسپلویتی بسیار شبیه به مراحل حمله گزارش شده توسط TrendMicro است و تنها تفاوت آنها در آسیبپذیریهایی است که مورد سوء استفاده قرار میگیرند. محصولات ما در برابر تمام این مراحل پسااکسپلویتی و همچنین سایر حملاتی که از آسیب پذیریهای CVE-2022-41040 و CVE-2022-41082 استفاده میکنند محافظت میکند. نام شناسایی پروکسیناتشل، PDM:Exploit.Win32.Generic است.
توصیههای امنیتی
- تمرکز خود را روی استراتژی دفاعی برای شناسایی حرکت جانبی و فیلتر کردن داده در اینترنت بگذارید. حسابی به ترافیک خروجی برای شناسایی کانکشنهای مجرمان سایبری توجه کنید.
- از جدیدترین دادههای هوش تهدید برای آگاه ماندن از TTPهای واقعی بکاررفته توسط عاملین تهدید استفاده کنید.
- از راهکار امنیتی با قابلیت جلوگیری از اکسپلویت و آسیبپذیری و نیز راهکاری که مجهز به اجزای مدیریت پچ است استفاده کنید؛ مانند Kaspersky Endpoint Security for Business. مؤلفهی Exploit Prevention ما با اپها اقدامات مشکوک را زیر نظر میگیرد و اجرای فایلهای مخرب را بلاک میکند.
- از راهکارهایی چون Kaspersky Endpoint Detection and Response و Kaspersky Managed Detection and Response استفاده کنید که حملات را در همان مراحل اولیه شناسایی و متوقف میکنند.
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.