
Remédiation PowerShell pour CVE-2013-3900 (WinVerifyTrust) / Tenable Plugin 166555 utilisant EnableCertPaddingCheck.
Ce dépôt contient un script de correction et de vérification PowerShell qui répond à la constatation Tenable/Nessus :
Le script impose la vérification du remplissage de certificat WinVerifyTrust en définissant :
EnableCertPaddingCheck (DWORD) = 1Sur les systèmes 64 bits, les scanners exigent que la valeur soit définie à la fois dans le chemin de registre natif et dans le chemin de registre Wow6432Node (vue 32 bits).
CVE-2013-3900 concerne la manière dont Windows valide les signatures Authenticode à l'aide de WinVerifyTrust.
Si les vérifications du remplissage des certificats ne sont pas appliquées, certaines signatures falsifiées peuvent être considérées comme valides dans des scénarios non sécurisés, et les scanners de vulnérabilités marqueront l'hôte comme non conforme.

✅ Garantit qu'il est exécuté en tant qu'Administrateur
✅ Détecte si le système d'exploitation est 64 bits
✅ Vérifie que les clés de registre requises existent
✅ Définit EnableCertPaddingCheck à :
1 lorsque $secureEnvironment = $true (sécurisé / recommandé)0 lorsque $secureEnvironment = $false (non sécurisé / laboratoire / test)
✅ Affiche un tableau clair Avant/Après et le résultat de conformitéEmplacement du script :
Le script applique le paramètre à :
HKLM:\Software\Microsoft\Cryptography\Wintrust\ConfigHKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config (système d'exploitation 64 bits)Valeur appliquée :
EnableCertPaddingCheck (DWORD)$secureEnvironment = $true → appliquer l'atténuation (recommandé)$secureEnvironment = $false → désactiver l'atténuation (laboratoire/test uniquement).\scripts\Set-WinVerifyTrustCertPadding.ps1
Le script vérifie la configuration en :
0 en cas de succèsConstation de gravité élevée présente (Plugin 166555 – CVE-2013-3900).
Nombre total de constations : 5

Constation de gravité élevée supprimée.
Nombre total de constations réduit : 5 → 4
