
Hilft Verteidigern, ihre WSUS-Konfigurationen im Nachgang zu CVE-2025-59287 zu finden.
Entdecken Sie WSUS-Serverkonfigurationen in Gruppenrichtlinienobjekten (GPOs) – einschließlich versteckter Gruppenrichtlinienpräferenzen (GPP).
Find-WSUS ist ein PowerShell-Skript, das für Sicherheitsexperten und Systemadministratoren entwickelt wurde, um alle über GPOs konfigurierten WSUS-Server-URLs (Windows Server Update Services) zu identifizieren. Es erkennt Konfigurationen aus:
WSUS-Server sind Infrastrukturwerte von hohem Wert. Wenn sie kompromittiert werden, kann ein Angreifer bösartige „Updates“ auf alle in der Domäne eingebundenen Systeme ausrollen, was zu einer vollständigen Domänenkompromittierung führt.
🧨 Schwachstellen wie CVE-2025-59287 zeigen, dass ein einziger WSUS-Exploit Angreifern die Kontrolle über die gesamte Domäne verschaffen kann.
Find-WSUS hilft Organisationen, jede WSUS-Konfigurationsquelle zu finden, bevor Angreifer es tun.
Die meisten Scans prüfen nur:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Viele Organisationen stellen WSUS-Konfigurationen jedoch über Gruppenrichtlinienpräferenzen (GPP) bereit, die Registrierungsschlüssel direkt ändern. Diese Einstellungen erscheinen nicht in standardmäßigen GPMC-Berichten.
✅ Find-WSUS erkennt sowohl standardmäßige als auch GPP-basierte Konfigurationen und verschafft Ihnen vollständige Transparenz in Ihrer Umgebung.
Laden Sie das Skript in Ihre PowerShell-Sitzung:
. .\Find-WSUS.ps1
Nach dem Import steht die Funktion Find-WSUS zur Verfügung.
Find-WSUS | Format-Table -AutoSize
Detaillierte Fortschrittsmeldungen beim Scannen anzeigen:
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
Verwendet Get-GPRegistryValue in einem STA-Runspace, um COM-Threading-Fehler zu vermeiden.
Scannt nach Werten WUServer und WUStatusServer in:
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Get-GPOReport -ReportType Xml.q2:Registry) und Fallback-Knoten (*[local-name()='Registry'])....\Windows\WindowsUpdate-Schlüsseln.Dies entspricht dem tatsächlichen
Format-Table -AutoSize-Layout und den Kopfzeilen vonFind-WSUS, jedoch mit realistischen Beispiel-Hosts/URLs sowie GPO-Namen/-GUIDs.
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
Hinweis: In realen Umgebungen finden Sie häufig SSL auf
:8531und älteres HTTP auf:8530. Die obigen Hostnamen sind Beispiele; ersetzen Sie sie durch Ihre tatsächliche Inventarliste.
[!WARNING] Dieses Skript ist ein Erkennungstool, kein vollständiges Inventarsystem.
Es findet nur WSUS-Server, die über Gruppenrichtlinien definiert wurden. Es erkennt nicht:
Find-WSUS in allen Domänen Ihrer Gesamtstruktur aus.WSUSService ausgeführt wird.Entwickelt von Sicherheitsingenieuren, um versteckte WSUS-Konfigurationen aufzudecken und die Transparenz der Patch-Infrastruktur zu verbessern.
📘 Beiträge sind willkommen! Reichen Sie Pull-Requests oder Issues ein, um die Kompatibilität zu verbessern oder neue Erkennungsmethoden hinzuzufügen.
| Anforderung | Beschreibung |
|---|
| 64-Bit-PowerShell | Erforderlich für die COM-Kompatibilität. Das Skript beendet sich automatisch, wenn es in 32-Bit-PowerShell ausgeführt wird. |
| RSAT: Gruppenrichtlinien-Verwaltungstools | Erforderlich für das GroupPolicy-Modul.Windows 10/11: Einstellungen → Optionale Features → Feature hinzufügen → RSAT: Gruppenrichtlinien-VerwaltungstoolsWindows Server: Server-Manager → Rollen und Features hinzufügen → Features → Gruppenrichtlinienverwaltung |
| Berechtigungen | Lesezugriff auf alle GPOs in der zu scannenden Domäne. |
| Optional: Administratorrechte | Einige Registrierungsrichtlinienabfragen können ohne erhöhte Rechte fehlschlagen. |
| Parameter | Beschreibung | Standard |
|---|
-Name | Filtert GPOs nach Anzeigename mit Platzhaltern. Verwendet -All bei *. | * (alle GPOs) |
-Domain | Gibt eine abzufragende Domäne an (nützlich in Multi-Domain-Gesamtstrukturen). | Domäne des aktuellen Benutzers |
-Verbose | Zeigt detaillierte Scan-Fortschritte und -Ergebnisse an. | Aus |