Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Find-WSUS — Помогает защитникам находить свои конфигурации WSUS в связи с CVE-2025-59287 | Kitploit
Инструменты/GitHubGitHub/mubix/find-wsus
Оборонительные ИнструментыАнализ уязвимостейАудит конфигурацииСбор информацииБезопасность Цепочки Поставок
GitHubmubix/find-wsus

Find-WSUS

Помогает защитникам находить свои конфигурации WSUS в связи с CVE-2025-59287

Репозиторий
4631211 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🧭 Find-WSUS

Обнаружение конфигураций WSUS-серверов в объектах групповой политики (GPO), включая скрытые предпочтения групповой политики (GPP).

Find-WSUS — это PowerShell-скрипт, предназначенный для специалистов по безопасности и системных администраторов, который позволяет выявить все URL-адреса WSUS-серверов (Windows Server Update Services), заданные через GPO. Он определяет конфигурации из обоих источников:

  • Политики административных шаблонов (HKLM\Software\Policies)
  • Предпочтения групповой политики (GPP) — параметры реестра, скрытые в XML-отчётах

⚠️ Почему это важно

WSUS-серверы — это инфраструктурные активы высокой ценности. В случае компрометации злоумышленник может распространять вредоносные «обновления» на все системы, входящие в домен, что приведёт к полной компрометации домена.

🧨 Такие уязвимости, как CVE-2025-59287, показывают, что одна эксплуатируемая уязвимость WSUS может дать злоумышленникам контроль над всем доменом.

Find-WSUS помогает организациям обнаружить все источники конфигурации 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 Tools
Windows Server: Server Manager → Add Roles and Features → Features → Group Policy Management
Права доступаЧтение всех GPO в сканируемом домене.
Необязательно: права администратораНекоторые запросы параметров реестра могут завершаться ошибкой без повышения привилегий.

⚙️ Использование

1. Импорт скрипта

Загрузите скрипт в свой сеанс PowerShell:

. .\Find-WSUS.ps1

2. Запуск сканирования

После импорта становится доступной функция Find-WSUS.

Пример 1: Сканирование текущего домена

Find-WSUS | Format-Table -AutoSize

Пример 2: Подробный вывод

Просмотр подробных сообщений о ходе выполнения во время сканирования:

Find-WSUS -Verbose

Пример 3: Сканирование другого домена

Find-WSUS -Domain "child.mydomain.com" | Format-Table -AutoSize

Пример 4: Фильтрация GPO по имени

Find-WSUS -Name "*Server*" -Verbose

Пример 5: Получение уникального списка WSUS-хостов

$results = Find-WSUS -Domain "mydomain.com"
$results.Hostname | Where-Object { $_ } | Sort-Object -Unique

📦 Параметры

ПараметрОписаниеПо умолчанию
-NameФильтрует GPO по отображаемому имени с использованием подстановочных знаков. Использует -All при *.* (все GPO)
-DomainУказывает домен для запроса (полезно в лесах с несколькими доменами).Домен текущего пользователя
-VerboseОтображает подробный ход сканирования и результаты.Выкл.

🧠 Как это работает

1. Проверка окружения

  • Проверяет, что PowerShell является 64-разрядным.
  • Проверяет, что модуль GroupPolicy установлен.
  • Подтверждает доступность GPO в указанном домене.

2. Сканирование политик (STA Runspace)

  • Использует Get-GPRegistryValue в STA-пространстве выполнения (runspace) для предотвращения ошибок потоков COM.

  • Ищет значения WUServer и WUStatusServer в:

    HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
    

3. Сканирование предпочтений (GPP XML)

  • Анализирует XML-вывод команды Get-GPOReport -ReportType Xml.
  • Находит скрытые URL-адреса WSUS в узлах с пространством имён (q2:Registry) и резервных (*[local-name()='Registry']).
  • Захватывает значения, записанные в ветке HKLM, включая ключи ...\Windows\WindowsUpdate.

4. Агрегация результатов

  • Объединяет все полученные данные в единый набор данных.
  • Извлекает имена хостов из URL-адресов для удобной дедупликации.
  • Возвращает чистые отсортированные объекты.

🧾 Пример вывода (формат как в реальном использовании)

Это зеркально отражает фактическую раскладку 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
Скачать инструмент