
Rimedio end-to-end della CVE-2013-3900 utilizzando PowerShell e Tenable. Mostra l'identificazione delle vulnerabilità, il rafforzamento del registro e la verifica automatizzata in un ambiente Azure.
Questo progetto dimostra un flusso di lavoro di gestione delle vulnerabilità reale. Usando una VM Azure, ho individuato un difetto di convalida della firma ad alta gravità, l'ho confermato manualmente tramite PowerShell e ho implementato una correzione basata sul registro per rafforzare il sistema contro l'esecuzione di codice non autorizzato.
La funzione WinVerifyTrust in Windows presentava un subdolo difetto (CVE-2013-3900). Gli aggressori potevano "agganciare" codice dannoso a un file firmato senza rompere la firma digitale. Ciò significa che un file poteva sembrare "attendibile" anche se conteneva codice dannoso, permettendogli di bypassare i controlli di sicurezza.
Ho iniziato eseguendo una scansione Tenable sulla mia VM Azure (Host: Kaddy). La scansione ha segnalato una vulnerabilità di gravità "Alta" (VPR 9.0) perché al sistema mancava un'impostazione di sicurezza specifica chiamata EnableCertPaddingCheck.

Non mi sono limitato a fidarmi dello scanner. Ho usato PowerShell per verificare se la chiave di registro esistesse effettivamente
Get-ItemProperty -Path "HKLM:\Software\Microsoft\Cryptography\Wintrust\Config" -Name EnableCertPaddingCheck
Risultato: Il comando ha fallito con un errore "Il percorso non esiste". Questo ha confermato che il sistema era completamente vulnerabile a questo specifico exploit.

Invece di modificare manualmente il Registro di sistema (RegEdit), ho usato uno script PowerShell per applicare la correzione. Questo è più veloce, ripetibile e sicuro, specialmente per centinaia di macchine.
Ho applicato la correzione a entrambi:

Dopo che lo script è terminato, ho eseguito di nuovo il controllo di verifica. Come mostrato nei log finali, il valore EnableCertPaddingCheck è ora impostato su 1. Il sistema ora convalida rigorosamente il padding del certificato, chiudendo effettivamente la falla di sicurezza.

Oltre le patch: Ho imparato che alcune vulnerabilità non vengono risolte semplicemente eseguendo "Windows Update". A volte bisogna sporcarsi le mani nel registro per rafforzare realmente un sistema.
Rafforzamento del registro: Padroneggiare HKLM tramite PowerShell è essenziale per i professionisti della sicurezza che gestiscono sistemi su larga scala.