
CVE PoC
Este PoC se proporciona únicamente con fines educativos y de investigación. El autor no asume ninguna responsabilidad por el mal uso o los daños causados por este código.
Este script de PowerShell es una herramienta de prueba para simular el ataque descrito en CVE-2013-3900. CVE-2013-3900 se refiere al mecanismo Authenticode en Windows, en el cual la firma PE (archivos EXE/DLL) puede contener datos adicionales (relleno) en la sección de certificados. En configuraciones antiguas o predeterminadas de Windows, dicha modificación no invalida la firma, lo que permite agregar código malicioso al archivo mientras conserva su estado de "firmado". Al habilitar EnableCertPaddingCheck=1 en el registro, el sistema comienza a tratar el relleno adicional como una violación de integridad, rechazando dicho archivo.
Script:
Si la protección está habilitada, el archivo modificado será rechazado (0x800B0100); si está deshabilitada, será aceptado (0x00000000).
Uso MSBuild.exe porque es un archivo del sistema de Windows con una firma Authenticode incrustada (no una firma de catálogo), lo que nos permite modificar directamente su sección de certificados y simular de manera confiable la vulnerabilidad CVE-2013-3900. Esto hace que la prueba sea repetible y funcione en cualquier instalación de Windows Server sin necesidad de descargar archivos adicionales.
Para ejecutar el script:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
Enlaces: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900