
Aide les défenseurs à trouver leurs configurations WSUS à la suite de CVE-2025-59287
Découvrez les configurations de serveurs WSUS dans les objets de stratégie de groupe (GPO) — y compris les préférences de stratégie de groupe (GPP) masquées.
Find-WSUS est un script PowerShell conçu pour les professionnels de la sécurité et les administrateurs système afin d’identifier toutes les URL de serveurs WSUS (Windows Server Update Services) configurées via des GPO. Il détecte les configurations provenant à la fois de :
Les serveurs WSUS sont des actifs d’infrastructure à forte valeur. S’ils sont compromis, un attaquant peut déployer de fausses « mises à jour » sur tous les systèmes joints au domaine, conduisant à une compromission totale du domaine.
🧨 Des vulnérabilités comme CVE-2025-59287 démontrent qu’une seule exploitation WSUS peut donner aux attaquants un contrôle total sur le domaine.
Find-WSUS aide les organisations à localiser toutes les sources de configuration WSUS avant les attaquants.
La plupart des analyses ne vérifient que :
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Cependant, de nombreuses organisations déploient la configuration WSUS via les Préférences de stratégie de groupe (GPP), qui modifient directement les clés de registre. Ces paramètres n’apparaissent pas dans les rapports GPMC standard.
✅ Find-WSUS détecte à la fois les configurations standard et celles basées sur les GPP, vous offrant une visibilité complète sur votre environnement.
| Exigence | Description |
|---|---|
| PowerShell 64 bits | Requis pour la compatibilité COM. Le script se termine automatiquement s’il est exécuté dans PowerShell 32 bits. |
| RSAT : Outils d’administration de stratégie de groupe | Requis pour le module GroupPolicy.Windows 10/11 : Paramètres → Fonctionnalités optionnelles → Ajouter une fonctionnalité → RSAT : Outils d’administration de stratégie de groupeWindows Server : Gestionnaire de serveur → Ajouter des rôles et fonctionnalités → Fonctionnalités → Gestion de la stratégie de groupe |
| Autorisations | Accès en lecture à tous les GPO du domaine analysé. |
| Optionnel : droits d’administrateur | Certaines requêtes de stratégie de registre peuvent échouer sans élévation de privilèges. |
Chargez le script dans votre session PowerShell :
. .\Find-WSUS.ps1
Après l’importation, la fonction Find-WSUS devient disponible.
Find-WSUS | Format-Table -AutoSize
Affichez des messages de progression détaillés pendant l’analyse :
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
| Paramètre | Description | Défaut |
|---|---|---|
-Name | Filtre les GPO par nom d’affichage à l’aide de caractères génériques. Utilise -All avec *. | * (tous les GPO) |
-Domain | Spécifie un domaine à interroger (utile dans les forêts multi-domaines). | Domaine de l’utilisateur courant |
-Verbose | Affiche la progression détaillée de l’analyse et les résultats. | Désactivé |
Utilise Get-GPRegistryValue dans un runspace STA pour éviter les erreurs de threading COM.
Recherche les valeurs WUServer et WUStatusServer dans :
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
Get-GPOReport -ReportType Xml.q2:Registry) et les nœuds de secours (*[local-name()='Registry'])....\Windows\WindowsUpdate.Cela reflète la véritable disposition et les en-têtes de
Format-Table -AutoSizedeFind-WSUS, mais avec des exemples réalistes d’hôtes/URL et de noms/GUID de GPO.
PS C:\Users\Administrator\Documents> Find-WSUS | Format-Table -AutoSize
[OK] Environment check passed: 64-bit PowerShell, GroupPolicy module loaded, GPOs accessible.