
Помогает защитникам находить свои конфигурации WSUS в связи с CVE-2025-59287
Обнаружение конфигураций WSUS-серверов в объектах групповой политики (GPO), включая скрытые предпочтения групповой политики (GPP).
Find-WSUS — это PowerShell-скрипт, предназначенный для специалистов по безопасности и системных администраторов, который позволяет выявить все URL-адреса WSUS-серверов (Windows Server Update Services), заданные через GPO. Он определяет конфигурации из обоих источников:
WSUS-серверы — это инфраструктурные активы высокой ценности. В случае компрометации злоумышленник может распространять вредоносные «обновления» на все системы, входящие в домен, что приведёт к полной компрометации домена.
🧨 Такие уязвимости, как CVE-2025-59287, показывают, что одна эксплуатируемая уязвимость WSUS может дать злоумышленникам контроль над всем доменом.
Find-WSUS помогает организациям обнаружить все источники конфигурации WSUS раньше, чем это сделают злоумышленники.
Большинство проверок просматривают только:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Однако многие организации развёртывают конфигурацию WSUS через предпочтения групповой политики (GPP), которые напрямую изменяют ключи реестра. Эти параметры не отображаются в стандартных отчётах GPMC.
✅ Find-WSUS обнаруживает как стандартные конфигурации, так и конфигурации на основе GPP, обеспечивая полную видимость вашей среды.
| Требование | Описание |
|---|---|
| 64-разрядный PowerShell | Требуется для совместимости с COM. Скрипт автоматически завершает работу, если он запущен в 32-разрядном PowerShell. |
| RSAT: Средства управления групповой политикой | Требуется для модуля GroupPolicy.Windows 10/11: Settings → Optional Features → Add a Feature → RSAT: Group Policy Management ToolsWindows Server: Server Manager → Add Roles and Features → Features → Group Policy Management |
| Права доступа | Чтение всех GPO в сканируемом домене. |
| Необязательно: права администратора | Некоторые запросы параметров реестра могут завершаться ошибкой без повышения привилегий. |
Загрузите скрипт в свой сеанс PowerShell:
. .\Find-WSUS.ps1
После импорта становится доступной функция Find-WSUS.
Find-WSUS | Format-Table -AutoSize
Просмотр подробных сообщений о ходе выполнения во время сканирования:
Find-WSUS -Verbose
Find-WSUS -Domain "child.mydomain.com" | Format-Table -AutoSize
Find-WSUS -Name "*Server*" -Verbose
$results = Find-WSUS -Domain "mydomain.com"
$results.Hostname | Where-Object { $_ } | Sort-Object -Unique
| Параметр | Описание | По умолчанию |
|---|---|---|
-Name | Фильтрует GPO по отображаемому имени с использованием подстановочных знаков. Использует -All при *. | * (все GPO) |
-Domain | Указывает домен для запроса (полезно в лесах с несколькими доменами). | Домен текущего пользователя |
-Verbose | Отображает подробный ход сканирования и результаты. | Выкл. |
Использует Get-GPRegistryValue в STA-пространстве выполнения (runspace) для предотвращения ошибок потоков COM.
Ищет значения WUServer и WUStatusServer в:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Get-GPOReport -ReportType Xml.q2:Registry) и резервных (*[local-name()='Registry'])....\Windows\WindowsUpdate.Это зеркально отражает фактическую раскладку
Format-Table -AutoSizeи заголовки изFind-WSUS, но с реалистичными примерами хостов/URL-адресов, а также именами и GUID GPO.
PS C:\Users\Administrator\Documents> Find-WSUS | Format-Table -AutoSize
[OK] Environment check passed: 64-bit PowerShell, GroupPolicy module loaded, GPOs accessible.
GPOName Scope Key ValueName Value Hostname GPOGuid
------- ----- --- --------- ----- -------- -------
Default Domain Policy Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer https://wsus.corp.contoso.com:8531 wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Default Domain Policy Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\Windows\Update WUStatusServer https://wsus.corp.contoso.com:8531 wsus.corp.contoso.com 31b2f340-016d-11d2-945f-00c04fb984f9
Corporate WSUS Baseline Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUServer http://wsus01.contoso.com:8530 wsus01.contoso.com 57f2e3da-33c5-4a35-abce-c12a0b7f9823
Corporate WSUS Baseline Policy (Computer) HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus01.contoso.com:8531 wsus01.contoso.com 57f2e3da-33c5-4a35-abce-c12a0b7f9823
Workstations - Windows Update (GPP) Preference (Registry) HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate WUStatusServer https://wsus-west.contoso.com:8531 wsus-west.contoso.com a1cde8b2-7f45-43f2-9db4-9c1e93a0e5c1