
Module PowerShell de réponse à l'incident CVE-2025-59287 — WSUS Remote Code Execution (RCE)
Версия: 1.0.1
Автор: RZA / IT Operations
Лицензия: MIT
Модуль WSUSResponder предоставляет набор инструментов PowerShell для быстрого реагирования на критическую уязвимость CVE-2025-59287 — удалённое выполнение кода (RCE), затрагивающую Windows Server Update Services (WSUS).
Он позволяет:
| Модуль | Роль | Установка |
|---|
| ActiveDirectory | Автоматическое обнаружение серверов через AD | Add-WindowsCapability -Online -Name 'Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0' |
| ImportExcel | Генерация отчётов Excel (.xlsx) | Install-Module ImportExcel -Scope CurrentUser |
Enable-PSRemoting)WSUSResponder в одном из ваших каталогов модулей PowerShell:
$Path = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules\WSUSResponder"
New-Item -ItemType Directory -Path $Path -Force
WSUSResponder.psm1WSUSResponder.psd1Import-Module WSUSResponder
Get-Command -Module WSUSResponder
Get-Module WSUSResponder -ListAvailable
| Функция | Описание |
|---|---|
| Get-WSUSCveStatus | Сканирует серверы для обнаружения роли WSUS и внеплановых исправлений. |
| Set-WSUSCveWorkaround | Применяет обходной путь (правила брандмауэра, блокирующие порты 8530/8531). |
| Remove-WSUSCveWorkaround | Удаляет правила брандмауэра, созданные обходным путём. |
| Export-WSUSCveReport | Экспортирует результаты сканирования в несколько форматов (CSV, JSON, XLSX, TXT). |
$ReportPath = "C:\Temp\WSUS_Audit_$(Get-Date -Format yyyyMMdd)"
Get-WSUSCveStatus -FromAD -UsePS7Parallel | Export-WSUSCveReport -ExportPath $ReportPath
$scanResults = Get-WSUSCveStatus -FromAD -UsePS7Parallel
$vulnerable = $scanResults | Where-Object { $_.IsWSUS -and -not $_.IsPatched -and $_.Reachable }
$vulnerable | Set-WSUSCveWorkaround -PassThru
$scanResults | Export-WSUSCveReport -ExportPath "C:\Temp\WSUS_Mitig_$(Get-Date -Format yyyyMMdd)"
Remove-WSUSCveWorkaround -ComputerName 'srv-wsus-01','srv-wsus-02'
Отчёты сохраняются в папке, заданной параметром -ExportPath:
| Файл | Формат | Содержимое |
|---|---|---|
| WSUS_CVE59287_Report.csv | CSV | Полные результаты сканирования |
| WSUS_CVE59287_Report.json | JSON | Структурированный экспорт для API/автоматизации |
| WSUS_CVE59287_Report.xlsx | XLSX | Отформатированный отчёт с автоматическими фильтрами |
| Vulnerable_Hosts.txt | TXT | Простой список уязвимых хостов |
Invoke-Command и WinRM для удалённого выполненияForEach-Object -Parallel) для ускорения предварительных проверок-OperationTimeoutSecЕсли ваша политика выполнения — AllSigned, вы можете подписать модуль:
New-SelfSignedCertificate -Type CodeSigning -Subject "CN=IT Operations" -CertStoreLocation Cert:\CurrentUser\My
$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1
Set-AuthenticodeSignature -FilePath "C:\Modules\WSUSResponder\WSUSResponder.psm1" -Certificate $cert
Set-AuthenticodeSignature -FilePath "C:\Modules\WSUSResponder\WSUSResponder.psd1" -Certificate $cert
-UsePS7Parallel)Распространяется под лицензией MIT.
© 2025 RZA / IT Operations – Все права защищены.