1 байт — ровно столько изменили хакеры, чтобы обойти многомиллионную систему безопасности Microsoft

1 байт — ровно столько изменили хакеры, чтобы обойти многомиллионную систему безопасности Microsoft

Атака ToolShell поразила государственные структуры и банки сразу в пяти странах.

image

В середине июля специалисты «Лаборатории Касперского» сообщили о массовой атаке на локальные серверы Microsoft SharePoint по всему миру. Цепочка эксплойтов, получившая имя ToolShell, позволяет злоумышленникам захватывать полный контроль над уязвимыми системами, обходя аутентификацию и выполняя произвольный код на сервере. В ходе расследования удалось установить, что жертвами атаки стали организации из Египта, Иордании, России, Вьетнама и Замбии, включая государственные структуры, финансовые учреждения, производственные компании, а также предприятия в лесной и аграрной отраслях.

Ключевым элементом цепочки стал CVE-2025-49706 — уязвимость в методе PostAuthenticateRequestHandler библиотеки Microsoft.SharePoint.dll, позволяющая обойти проверку подлинности при определённых условиях. Злоумышленники использовали встроенную в IIS интеграцию с SharePoint, подставляя HTTP Referrer со ссылкой на «/_layouts/SignOut.aspx» и его вариации. Это отключало проверки авторизации, поскольку система ошибочно воспринимала запрос как легитимный.

Обход стал возможен из-за логики обработки пути: отсутствие чувствительности к регистру и некорректное исключение некоторых путей привело к тому, что даже после внедрённого Microsoft ограничения на «ToolPane.aspx», достаточно было просто добавить слэш в конец URL, чтобы снова обойти защиту. Эта недоработка вылилась в новый идентификатор — CVE-2025-53771 . Лишь обновление от 20 июля, усилившее механизм сопоставления допустимых путей, существенно ограничило возможность подделки referrer-заголовка.

Другим критическим вектором атаки стал CVE-2025-49704 — ошибка десериализации небезопасных данных. Через параметры POST-запроса «MSOtlPn_Uri» и «MSOtlPn_DWP», направленного на «/_layouts/15/ToolPane.aspx», происходила передача вредоносной XML-разметки с элементом WebPart. Внутри неё атакующие внедряли элемент ExcelDataSet из библиотеки Microsoft.PerformancePoint.Scorecards.Client.dll, используя его свойство CompressedDataTable. После декодирования и распаковки передавались данные в десериализатор BinarySerialization.Deserialize, вызывавший исполнение произвольного кода через технику ExpandedWrapper.

Для обхода проверок типов атакующие оборачивали опасный объект типа ExpandedWrapper во вложенный список, что позволило избежать срабатывания XmlValidator. Это уязвимость оказалась, по сути, обновлённой версией CVE-2020-1147 , уже использовавшей аналогичный подход, но без структуры списка. Microsoft изначально попыталась заблокировать ExcelDataSet через пометку элемента как небезопасного в web.config, однако пропустила обязательный шаг запуска мастера конфигурации SharePoint. Этот недосмотр сделал защиту бесполезной для многих пользователей, что вынудило компанию выпустить дополнительную заплатку CVE-2025-53770 с более строгой валидацией типов в XmlValidator.

Анализ вредоносной активности выявил, что для обхода первых защитных мер было достаточно изменить один байт в запросе. Простота и эффективность этой схемы делают ToolShell крайне опасным, сравнимым по масштабу с такими атаками, как ProxyLogon или EternalBlue. Подтверждение уязвимости на стороне клиента и сервера, а также наличие готовых публичных эксплойтов значительно повышают риск массового заражения.

Набор из пяти уязвимостей — CVE-2025-49704 , CVE-2025-49706 , CVE-2025-53770 , CVE-2025-53771 и связанная с ними CVE-2020-1147 — представляет собой мощную цепочку, позволяющую удалённое выполнение кода, полное обход средств аутентификации и эксплуатацию SharePoint через XML. Специалисты настаивают на немедленном обновлении систем и использовании средств защиты с возможностью обнаружения атак нулевого дня. Своевременное закрытие уязвимостей — единственная мера, способная остановить дальнейшее распространение ToolShell.