
Remediación de PowerShell para CVE-2013-3900 (WinVerifyTrust) / Tenable Plugin 166555 usando EnableCertPaddingCheck.
Este repositorio contiene un script de PowerShell de remediación y verificación que aborda el hallazgo de Tenable/Nessus:
El script aplica la verificación de relleno de certificado de WinVerifyTrust estableciendo:
EnableCertPaddingCheck (DWORD) = 1En sistemas de 64 bits, los escáneres requieren que el valor se establezca tanto en la ruta de registro nativa como en la ruta de registro Wow6432Node (vista de 32 bits).
CVE-2013-3900 se relaciona con cómo Windows valida las firmas Authenticode usando WinVerifyTrust.
Si las verificaciones de relleno de certificado no se aplican, ciertas firmas manipuladas pueden tratarse como válidas en escenarios inseguros, y los escáneres de vulnerabilidades marcarán el host como no conforme.

✅ Asegura que se ejecute como Administrador
✅ Detecta si el sistema operativo es de 64 bits
✅ Asegura que existan las claves de registro requeridas
✅ Establece EnableCertPaddingCheck en:
1 cuando $secureEnvironment = $true (seguro / recomendado)0 cuando $secureEnvironment = $false (inseguro / laboratorio/pruebas)
✅ Imprime una tabla clara de Antes/Después y el resultado de cumplimientoUbicación del script:
El script aplica la configuración a:
HKLM:\Software\Microsoft\Cryptography\Wintrust\ConfigHKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config (SO de 64 bits)Valor aplicado:
EnableCertPaddingCheck (DWORD)$secureEnvironment = $true → aplicar mitigación (recomendado)$secureEnvironment = $false → deshabilitar mitigación (solo laboratorio/pruebas).\scripts\Set-WinVerifyTrustCertPadding.ps1
El script verifica la configuración mediante:
0 en caso de éxitoHallazgo de alta severidad presente (Plugin 166555 – CVE-2013-3900).
Total de hallazgos: 5

Hallazgo de alta severidad eliminado.
Total de hallazgos reducido: 5 → 4
