Путаница в уязвимостях WSUS: ставим все на свои места

Ещё в группе «Windows»
- Этот ваш Siemens…
Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…
- Заглядываем внутрь ESE
Заглядываем внутрь ESE 🫣 В ходе расследования инцидентов мы в PT ESC IR регулярно сталкиваемся с…
- ::%16777216 — так что же ты такое?
::%16777216 — так что же ты такое? Известно, что в ходе атак злоумышленники могут использовать туннелирование.…
- Отключение Defender / MpPreference
В дополнение к посту 👆 Отключение Defender / MpPreference Set-MpPreference -DisableRealtimeMonitoring $true Set-MpPreference -DisableBehaviorMonitoring $true Set-MpPreference…
- Использование DefendNot в атаках с XWorm
Использование DefendNot в атаках с XWorm 🪱 Группа киберразведки зафиксировала фишинговую активность, целью которой являлась кража…
Путаница в уязвимостях WSUS: ставим все на свои места 🕷
Одной из самых актуальных уязвимостей в Windows Server Update Services (WSUS) стала критическая ошибка с идентификатором CVE-2025-59287 и оценкой CVSS 9.8. Она связана с десериализацией недоверенных данных в службе обновления Windows Server и позволяет неавторизованному удаленному злоумышленнику выполнить код на сервере, отправив специально сформированное событие.
В разборах эксплуатации шаги были указаны некорректно, так как их взяли из статьи. Однако позже авторы сами ее исправили и указали, что разбор относится к CVE-2023-35317, тогда как анализ CVE-2025-59287 перенесли в отдельную статью.
Это вызвало путаницу в многочисленных репостах, поэтому мы решили расставить все точки над i и заодно показать, как атакующий может восстановить оснастку после эксплуатации уязвимости.
❗️ Напомним технические детали эксплуатации
Условия для эксплуатации:
• Сервер Windows с включенной ролью WSUS Server (по умолчанию отключена)
• Неустановленные обновления KB5070879 / KB5070881 / KB5070882 / KB5070883 / KB5070884 / KB5070886 / KB5070887
• Сетевой доступ к портам 8530 (HTTP) или 8531 (HTTPS)
• Учетные данные не требуются
Техническая цепочка эксплуатации:
1️⃣ Получение конфигурации — злоумышленник отправляет запрос к /ReportingWebService/ReportingWebService.asmx для получения ServerID (скриншот 1)
2️⃣ Извлечение cookies — используя ServerID, выполняется запрос к /SimpleAuthWebService/SimpleAuth.asmx для получения AuthorizationCookie (скриншот 2)
3️⃣ Получение криптографических данных — запрос к /ClientWebService/Client.asmx для извлечения временных меток и зашифрованной нагрузки (скриншот 3)
4️⃣ Доставка полезной нагрузки — финальный запрос отправляет событие с вредоносным сериализованным объектом, созданным через ysoserial.net с гаджетом TextFormattingRunProperties, с использованием события SynchronizationCompletedCancel (скриншот 4)
При обработке события с ID 389 (SynchronizationCompletedCancel) WSUS пытается десериализовать XML с телом ошибки, что приводит к выполнению произвольного кода.
Также в процессе эксплуатации регистрируется ложный узел с указанным DNS, в рамках которого отправляется событие. Этот процесс легко автоматизировать — например, с помощью шаблона Nuclei (скриншот 5). Восстановление оснастки после тестирования — на скриншоте 6.
🗿 После успешной эксплуатации оснастка WSUS ломается. Это происходит потому, что GUI при отображении узлов парсит их события, а у ложного узла событие повреждено и не поддается десериализации. В результате отображение узлов вызывает исключение и интерфейс перестает работать.
Для восстановления необходимо удалить вредоносное событие из таблицы tbEventInstance в базе данных SUSDB. Однако прямой доступ к БД есть только у привилегированных пользователей, а служба WSUS часто запущена от имени Network Service.
При этом служба WSUS имеет доступ к функциям, используемым в оснастке, поэтому пользователь, от имени которого получена сессия (даже Network Service), может управлять зарегистрированными узлами. Это позволяет безопасно завершить эксплуатацию и сразу восстановить оснастку.
$wsus = Get-WsusServer
Get-WsusComputer -NameIncludes "test1337.test.local" | ForEach-Object {
$wsus.GetComputerTarget($_.Id).Delete()
}
Эта команда выполняет две важные функции:
• Удаляет зарегистрированный ложный узел из базы данных WSUS
• Автоматически очищает связанное с ним событие с ID 389, использованное для доставки полезной нагрузки
🧐 Почему это важно: без очистки в WSUS остаются артефакты — ложный узел и события в логах, что может нарушить нормальную работу службы.
Эта уязвимость демонстрирует, как критические компоненты инфраструктуры могут становиться точкой входа для злоумышленников. При проведении тестирования на проникновение важно не только атаковать, но и корректно восстанавливать систему после эксплуатации.
Рекомендации по защите
• Установите обновления — KB5070879 / KB5070881 / KB5070882 / KB5070883 / KB5070884 / KB5070886 / KB5070887 в зависимости от версии Windows Server
• Ограничьте сетевой доступ — WSUS не должен быть доступен из интернета. Используйте сегментацию сети для ограничения доступа только доверенным подсетям
• Если невозможно обновить — временно отключите роль WSUS Server или заблокируйте порты 8530 / 8531 до установки патчей
#offensive #nuclei #wsus #cve
@ptescalator (X, Max)





Ещё в группе «Windows»
- Этот ваш Siemens…
Недавно наши коллеги из Центра промышленной экспертизы Позитива обнаружили на MalwareBazaar один любопытный Windows-образец. Вот его…
- Заглядываем внутрь ESE
Заглядываем внутрь ESE 🫣 В ходе расследования инцидентов мы в PT ESC IR регулярно сталкиваемся с…
- ::%16777216 — так что же ты такое?
::%16777216 — так что же ты такое? Известно, что в ходе атак злоумышленники могут использовать туннелирование.…
- Отключение Defender / MpPreference
В дополнение к посту 👆 Отключение Defender / MpPreference Set-MpPreference -DisableRealtimeMonitoring $true Set-MpPreference -DisableBehaviorMonitoring $true Set-MpPreference…
- Использование DefendNot в атаках с XWorm
Использование DefendNot в атаках с XWorm 🪱 Группа киберразведки зафиксировала фишинговую активность, целью которой являлась кража…





