
CVE PoC
Questo PoC è fornito solo a scopo educativo e di ricerca. L'autore non si assume alcuna responsabilità per un uso improprio o danni causati da questo codice.
Questo script PowerShell è uno strumento di test per simulare l'attacco descritto in CVE-2013-3900. CVE-2013-3900 riguarda il meccanismo Authenticode in Windows, in cui la firma PE (file EXE/DLL) può contenere dati aggiuntivi (padding) nella sezione del certificato. Nelle impostazioni Windows più vecchie o predefinite, tale modifica non invalida la firma, consentendo di aggiungere codice malevolo al file mantenendo il suo stato di "firmato". Abilitando EnableCertPaddingCheck=1 nel registro, il sistema inizia a considerare il padding aggiuntivo come una violazione dell'integrità, rifiutando tale file.
Script:
Se la protezione è abilitata, il file modificato verrà rifiutato (0x800B0100); se disabilitata, verrà accettato (0x00000000).
Utilizzo MSBuild.exe perché è un file di sistema Windows con una firma Authenticode incorporata (non una firma di catalogo), che ci consente di modificare direttamente la sua sezione del certificato e simulare in modo affidabile la vulnerabilità CVE-2013-3900. Ciò rende il test ripetibile e funziona su qualsiasi installazione di Windows Server senza la necessità di scaricare file aggiuntivi.
Per eseguire lo script:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
Link: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900