روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ در بازه ۱۹ تا ۲۰ ژوئیه ۲۰۲۵، شرکتهای امنیتی و مراکز CERT ملی درباره اکسپلویتِ فعال از سرورهای شیرپوینت محلی هشدار منتشر کردند. طبق این گزارشها، حملات مشاهدهشده بدون نیاز به احراز هویت انجام میشد، به مهاجمان امکان تسلط کامل بر سرورهای آلوده را میداد و از زنجیره اکسپلویت شامل دو آسیبپذیری CVE-2025-49704 و CVE-2025-49706 با نام عمومی «ToolShell» استفاده میکرد. همچنین در همین تاریخها، مایکروسافت بهصورت خارج از برنامه پچهای امنیتی جدیدی برای آسیبپذیریهای CVE-2025-53770 و CVE-2025-53771 منتشر کرد تا نقصهای ایجادشده در پچهای قبلی CVE-2025-49704 و CVE-2025-49706 را برطرف کند. انتشار این بهروزرسانیهای «اصلاحشده» موجب سردرگمی درباره اینکه دقیقاً از کدام آسیبپذیریها سوءاستفاده میشود و آیا مهاجمان از اکسپلویتهای روز صفر استفاده میکنند یا خیر شده است.
محصولات کسپرسکی بهصورت پیشگیرانه فعالیتهای مخرب مربوط به این حملات را شناسایی و مسدود کردند و این موضوع امکان جمعآوری آمار مربوط به بازه زمانی و گستردگی این کمپین را فراهم کرد. آمار ما نشان میدهد موج گسترده بهرهبرداری از ۱۸ ژوئیه ۲۰۲۵ آغاز شده و مهاجمان سرورهایی در مصر، اردن، روسیه، ویتنام و زامبیا را هدف قرار دادهاند. نهادهای فعال در بخشهای مختلف از جمله دولت، مالی، تولید، جنگلداری و کشاورزی تحت تأثیر قرار گرفتهاند.
هنگام تحلیل تمامی آثار مرتبط با این حملات، که توسط محصولات ما شناسایی شده و همچنین اطلاعات عمومی ارائهشده توسط محققان خارجی، به دامپی[1] از یک درخواست POST برخوردیم که ادعا میشد شامل پیلود مخربی میشود که در این حملات استفاده شده است. پس از انجام تحلیل مستقل خودمان، تأیید کردیم که این دامپ واقعاً حاوی همان پیلود مخربی است که فناوریهای ما شناسایی کردهاند و ارسال تنها همین درخواست به یک نصب آسیبپذیر شیرپوینت برای اجرای پیلود مخرب در آن کافی است. تحلیل ما از اکسپلویت نشان داد که این حمله متکی بر آسیبپذیریهای CVE-2025-49704 و CVE-2025-49706 است، اما با تغییر تنها یک بایت در درخواست، توانستیم از پچهای ارائهشده برای این نقصها عبور کنیم.
در این مقاله اطلاعات دقیقی درباره CVE-2025-49704 ،CVE-2025-49706 ،CVE-2025-53770 ،CVE-2025-53771 و یک آسیبپذیری مرتبط ارائه میدهیم. از آنجا که کد اکسپلویت قبلاً بهصورت آنلاین منتشر شده، استفاده از آن بسیار ساده است و خطر قابلتوجهی ایجاد میکند، از تمامی سازمانها میخواهیم هرچه سریعتر بهروزرسانیهای لازم را نصب کنند.
اکسپلویت
تحقیقات ما با تحلیل یک دامپ از درخواست POST مرتبط با این موج از حملات به سرورهای شیرپوینت آغاز شد. این درخواست POST، اندپوینت/_layouts/15/ToolPane.aspxرا هدف قرار میدهد و شامل دو پارامتر MSOtlPn_Uri و MSOtlPn_DWP است. با بررسی کد ToolPane.aspx مشخص میشود که این فایل بهتنهایی عملکرد چندانی ندارد و بیشتر منطق آن در کلاس ToolPane از فضای نام Microsoft.SharePoint.WebPartPages در فایل Microsoft.SharePoint.dll قرار گرفته است. بررسی این کلاس کدی را نشان میدهد که با دو پارامتر موجود در اکسپلویت کار میکند. بااینحال، دسترسی به این اندپوینت در شرایط عادی بدون دور زدن احراز هویت سرور شیرپوینت ممکن نیست. اینجا است که اولین آسیبپذیری نوع Spoofing در Microsoft SharePoint Server با شمارهCVE-2025-49706وارد عمل میشود.
CVE-2025-49706
این آسیبپذیری در متودPostAuthenticateRequestHandler در Microsoft.SharePoint.dll وجود دارد. پیکربندی شیرپوینت نیازمند اجرای IIS در حالت Integrated است. در این حالت، مراحل احراز هویت IIS و ASP.NET یکپارچه هستند و نتیجه احراز هویت IIS تا مرحلهPostAuthenticateRequest مشخص نمیشود، یعنی زمانی که هر دو روش احراز هویت کامل شدهاند. بنابراین متود PostAuthenticateRequestHandler از مجموعهای از فلگها برای ردیابی تخطیهای احتمالی احراز هویت استفاده میکند. باگی منطقی در این متود باعث میشود اگر هدرReferrer در درخواست HTTP برابر با/_layouts/SignOut.aspxیا/_layouts/14/SignOut.aspxیا/_layouts/15/SignOut.aspxباشد احراز هویت دور زده شود.
کد، درخواست خروج (Sign-out) را پردازش میکند و زمانیکه صفحه خروج به عنوان Referrerتنظیم شده باشد نیز اجرا میشود. در صورتیکه مقدار flag6برابر false وflag7 برابر true باشد، هر دو شاخه شرطی که ممکن است منجر به پرتاب استثنای “Unauthorized Access” شوند، دور زده میشوند.
در ۸ ژوئیه ۲۰۲۵، مایکروسافت با افزودن چکهای اضافی برای تشخیص استفاده از اندپوینتToolPane.aspxهمراه با صفحه خروج به عنوان Referrer، پچی را برای رفع این آسیبپذیری منتشر کرد. این بررسی اضافه شده با مقایسه case-insensitive (حساس به بزرگ و کوچک بودن حروف) بررسی میکند آیا مسیر درخواستی باToolPane.aspxبه پایان میرسد یا خیر. آیا میتوان این بررسی را با استفاده از اندپوینتی متفاوت دور زد؟ آزمایشهای ما نشان داد این چک بهآسانی قابل دور زدن است.
CVE-2025-53771
ما توانستیم پچ آسیبپذیری CVE-2025-49706را تنها با افزودن یک بایت به درخواست POST اکسپلویت دور بزنیم. برای عبور از این پچ، تنها کافی بود یک اسلش “/”به انتهای مسیرToolPane.aspx اضافه شود. در ۲۰ ژوئیه ۲۰۲۵، مایکروسافت پچ جدیدی را برای رفع این دورزدن تحتCVE-2025-53771منتشر کرد. این اصلاح بررسیToolPane.aspx را با بررسی اینکه آیا مسیر درخواستی در لیست مجاز قابل استفاده باReferrerمربوط به صفحه خروج قرار دارد یا خیر جایگزین کرد. این allowlist شامل مسیرهای زیر میشود (و میتواند مسیرهای بیشتری که توسط مدیر افزوده شوند را نیز شامل شود):
- /_layouts/15/SignOut.aspx
- /_layouts/15/1033/initstrings.js
- /_layouts/15/init.js
- /_layouts/15/theming.js
- /ScriptResource.axd
- /_layouts/15/blank.js
- /WebResource.axd
- /_layouts/15/1033/styles/corev15.css
- /_layouts/15/1033/styles/error.css
- /_layouts/15/images/favicon.ico
- /_layouts/15/1033/strings.js
- /_layouts/15/core.js
هنگام آزمایش دورزدنCVE-2025-49706در محیط اشکالزدایی شیرپوینت با پچهای ۸ ژوئیه ۲۰۲۵، رفتار عجیبی مشاهده کردیم: نهتنها دورزدن CVE-2025-49706انجام شد، بلکه کل زنجیره اکسپلویت نیز کار کرد!اما صبر کنید — مگر مهاجمان از آسیبپذیری دیگری با عنوان اجرای کد ریموت یعنی CVE-2025-49704استفاده نمیکردند که قرار بود در همان پچ برطرف شده باشد؟
برای درک اینکه چرا در نمونه ما کل زنجیره اکسپلویت همچنان کار میکند، اجازه دهید به آسیبپذیریCVE-2025-49704 و نحوه رفع آن نگاه کنیم.
CVE-2025-49704
CVE-2025-49704 یک آسیبپذیری بازسازی داده غیرقابل اعتماد است که به دلیل اعتبارسنجی نادرست محتوای XML ایجاد میشود. در درخواست POST مربوط به اکسپلویت، دو پارامتر URL-encoded به نامهایMSOtlPn_Uriو MSOtlPn_DWPمشاهده میشود. با بررسی متودGetPartPreviewAndPropertiesFromMarkupدرMicrosoft.SharePoint.dll مشخص میشود که پارامترMSOtlPn_Uriیک URL صفحه است که میتواند به هر فایلی در پوشهCONTROLTEMPLATESاشاره کند و پارامترMSOtlPn_DWPحاوی چیزی به نام WebPart markup است. این markup شامل دستورات خاصی میشود که میتوانند کنترلهای ایمن روی سرور را اجرا کنند و ساختاری بسیار مشابه XML دارد.
هرچند XML موجود در پارامترMSOtlPn_DWP بهتنهایی حاوی آسیبپذیری نمیباشد، اما به مهاجمان اجازه میدهد کنترلExcelDataSet از فایلMicrosoft.PerformancePoint.Scorecards.Client.dll را با مقدار خصوصیتی (property) به نامCompressedDataTableشامل پیلود مخرب نمونهسازی کرده و با getter مربوط به property DataTable پردازش آن را آغاز کنند. با بررسی getter مربوط بهDataTableدر این DLL، به متودGetObjectFromCompressedBase64Stringمیرسیم که وظیفه serializing معکوس (deserialization) محتوایCompressedDataTable را بر عهده دارد. داده Base64 ابتدا رمزگشایی شده، سپساز حالت زیپ خارج شدهو در نهایت به متودBinarySerialization.DeserializeدرMicrosoft.SharePoint.dllارسال میگردد.
مهاجمان از این روش برای ارسال یک DataSet مخرب استفاده میکنند که محتوایبازسازیشدهآن شامل XML با المانی به شکل زیر است:
mathematicaCopyEditSystem.Collections.Generic.List`1[ [ System.Data.Services.Internal.ExpandedWrapper`2[...], System.Data.Services,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089 ]]
این ساختار با استفاده از تکنیک معروف ExpandedWrapper که برای سوءاستفاده ازبازسازیناامن در برنامههای مبتنی بر .NET استفاده میشود، اجرای کد دلخواه را ممکن میسازد. در حالت عادی نباید چنین چیزی امکانپذیر باشد، زیراBinarySerialization.DeserializeدرMicrosoft.SharePoint.dllازXmlValidator ویژهای استفاده میکند که انواع موجود در XML را بررسی و آنها را با لیست نوعهای مجاز تطبیق میدهد. اما اکسپلویت این بررسی را با قرار دادن شیء ExpandedWrapperداخل یک لیست دور میزند.
چرا با وجود پچ (۸ ژوئیه ۲۰۲۵) همچنان آسیبپذیری کار میکرد؟
بررسی پچ مایکروسافت نشان میدهد که این آسیبپذیری بهطور کامل رفع نشده، بلکه تنها خفیف شده است؛ یعنی با افزودن کلاسی جدید به نامAddExcelDataSetToSafeControlsدر فضای نامMicrosoft.SharePoint.Upgrade. این کلاس، فایلweb.configرا اصلاح میکند و کنترلMicrosoft.PerformancePoint.Scorecards.ExcelDataSet را بهعنوان unsafeعلامتگذاری میکند. نکته مهم اینجاست کهشیرپوینت پس از نصب پچ، این کد را بهصورت خودکار اجرا نمیکند.بنابراین تأثیر امنیتی این پچ فقط زمانی اعمال میشود که مدیر سیستم بهصورت دستی عملیات «آپگرید پیکربندی» را از طریق ابزار SharePoint Products Configuration Wizard اجرا کند. از آنجا که در راهنمای امنیتی CVE-2025-49704 اشارهای به نیاز انجام این مرحله نشده، احتمال دارد برخی مدیران SharePoint این کار را انجام ندهند؛ در نتیجه، سیستمهایی که پچ را نصب کردهاند اماآپگریدپیکربندی را دستی اجرا نکردهاند، همچنان در برابر این آسیبپذیری آسیبپذیر باقی میمانند.
CVE-2025-53770
در تاریخ ۲۰ ژوئیه ۲۰۲۵، مایکروسافت پچی را منتشر کرد که بهصورت ریشهای آسیبپذیریCVE-2025-49704را رفع میکند. این پچ یکXmlValidator بهروزرسانیشده معرفی میکند که نوع المانهای موجود در XML را بهدرستی بررسی میکند؛ بنابراین بهرهبرداری از این نقص بدون نیاز به عملیات آپگرید پیکربندی مسدود میشود و مهمتر از آن، امکان سوءاستفاده از همین ضعف از طریق سایر کنترلها (غیر ازExcelDataSet ) نیز از بین میرود.
CVE-2020-1147
کسانی که با اکسپلویتهای قبلی شیرپوینت آشنایی دارند ممکن است متوجه شباهت بسیار زیاد بین CVE-2025-49704/CVE-2025-53770 و آسیبپذیری قدیمیترCVE-2020-1147 در .NET Framework ،SharePoint Server و Visual Studio شوند. در واقع اگر اکسپلویتCVE-2020-1147را با نمونه مربوط بهCVE-2025-49704/CVE-2025-53770 مقایسه کنیم، تقریباً یکسان هستند؛ با این تفاوت که در نمونه جدید، شیء خطرناکExpandedWrapper داخل یک لیست قرار داده شده است. در نتیجه میتوانCVE-2025-53770را بهنوعی نسخه پچشده و تکاملیافتهای برای پوشش کاملCVE-2020-1147دانست.
نتیجهگیری
اگرچه پچهای مربوط به آسیبپذیریهای ToolShell اکنون در دسترس هستند، اما ما بر این باوریم که زنجیره اکسپلویتهای این حملات همچنان برای مدت طولانی توسط مهاجمان مورد استفاده قرار خواهد گرفت — مشابه آنچه در آسیبپذیریهای مشهور دیگری مثل ProxyLogon، PrintNightmareو EternalBlueشاهد بودیم. با وجود گذشت سالها از افشای آنها، بسیاری از سیستمهای پچنشده همچنان هدف مهاجمان قرار میگیرند. انتظار میرود ToolShell نیز همین مسیر را طی کند، چرا که اکسپلویتِ آن بسیار ساده است و کنترل کامل سرور آسیبپذیر را در اختیار مهاجم قرار میدهد.
برای محافظت بهتر در برابر تهدیدهایی مانند ToolShell، جامعه امنیتی باید از رخدادهای گذشته مرتبط با آسیبپذیریهای بحرانی درس بگیرد. خصوصاً، سرعت اعمال پچهای امنیتی اکنون مهمترین عامل در مقابله با چنین تهدیدهایی محسوب میشود. از آنجایی که اکسپلویتهای عمومی خیلی سریع پس از افشای آسیبپذیری منتشر میشوند، نصب سریع پچها بسیار حیاتی است، زیرا حتی چند ساعت تأخیر میتواند سرنوشتساز باشد.
همزمان، ضروری است که شبکههای سازمانی در برابر اکسپلویتهای روز صفر نیز محافظت شوند؛ یعنی زمانی که هنوز پچ عمومی برای آسیبپذیری در دسترس نیست. در این زمینه، تجهیز سیستمها به راهکارهای امنیتی قابلاعتماد — که در مورد ToolShell نیز پیش از افشای عمومی این حملات مؤثر عمل کردهاند
Kaspersky Next با مولفه تشخیص رفتاری خود بهصورت پیشگیرانه در برابر اکسپلویتِ این آسیبپذیریها محافظت میکند. علاوه بر این، قادر است اکسپلویت و فعالیت مخرب پس از آن را شناسایی کند. محصولات کسپرسکی اکسپلویتها و بدافزارهای استفادهشده در این حملات را با نامهای شناسایی زیر تشخیص میدهند:
- UDS:DangerousObject.Multi.Generic
- PDM:Exploit.Win32.Generic
- PDM:Trojan.Win32.Generic
- HEUR:Trojan.MSIL.Agent.gen
- ASP.Agent.*
- PowerShell.Agent.*
[1]در حوزه فناوری و امنیت کامپیوتر یعنی کپی کامل یا استخراج دادهها یا اطلاعات از یک منبع مشخص.
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.