
Correzione tramite PowerShell per CVE-2013-3900 (WinVerifyTrust) / Tenable Plugin 166555 utilizzando EnableCertPaddingCheck.
Questo repository contiene uno script di remediation e verifica PowerShell che risolve la segnalazione Tenable/Nessus:
Lo script impone il controllo del padding del certificato WinVerifyTrust impostando:
EnableCertPaddingCheck (DWORD) = 1Sui sistemi a 64 bit, gli scanner richiedono che il valore sia impostato sia nel percorso del registro nativo che nel percorso del registro Wow6432Node (vista a 32 bit).
CVE-2013-3900 riguarda il modo in cui Windows convalida le firme Authenticode utilizzando WinVerifyTrust.
Se i controlli del padding del certificato non sono imposti, alcune firme create appositamente potrebbero essere trattate come valide in scenari non sicuri, e gli scanner di vulnerabilità segnaleranno l'host come non conforme.

✅ Garantisce di essere eseguito come Amministratore
✅ Rileva se il sistema operativo è a 64 bit
✅ Garantisce l'esistenza delle chiavi di registro richieste
✅ Imposta EnableCertPaddingCheck su:
1 quando $secureEnvironment = $true (sicuro / consigliato)0 quando $secureEnvironment = $false (non sicuro / laboratorio/test)✅ Stampa una tabella chiara Prima/Dopo e il risultato di conformità
Posizione dello script:
Lo script applica l'impostazione a:
HKLM:\Software\Microsoft\Cryptography\Wintrust\ConfigHKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config (SO a 64 bit)Valore imposto:
EnableCertPaddingCheck (DWORD)$secureEnvironment = $true → imporre mitigazione (consigliato)$secureEnvironment = $false → disabilitare mitigazione (solo laboratorio/test).\scripts\Set-WinVerifyTrustCertPadding.ps1
Lo script verifica la configurazione:
0 in caso di successoSegnalazione ad alta gravità presente (Plugin 166555 – CVE-2013-3900).
Totale segnalazioni: 5

Segnalazione ad alta gravità rimossa.
Totale segnalazioni ridotto: 5 → 4
