
PoC CVE
Ce PoC est fourni uniquement à des fins éducatives et de recherche. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par ce code.
Ce script PowerShell est un outil de test pour simuler l'attaque décrite dans CVE-2013-3900. CVE-2013-3900 concerne le mécanisme Authenticode dans Windows, où la signature PE (fichiers EXE/DLL) peut contenir des données supplémentaires (padding) dans la section certificat. Dans les paramètres Windows plus anciens ou par défaut, une telle modification n'invalide pas la signature, permettant d'ajouter du code malveillant au fichier tout en conservant son statut « signé ». En activant EnableCertPaddingCheck=1 dans le registre, le système commence à traiter le padding supplémentaire comme une violation de l'intégrité, rejetant un tel fichier.
Script:
Si la protection est activée, le fichier modifié sera rejeté (0x800B0100) ; si elle est désactivée, il sera accepté (0x00000000).
J'utilise MSBuild.exe car c'est un fichier système Windows avec une signature Authenticode intégrée (pas une signature de catalogue), ce qui nous permet de modifier directement sa section certificat et de simuler de manière fiable la vulnérabilité CVE-2013-3900. Cela rend le test reproductible et fonctionne sur toute installation Windows Server sans nécessiter de téléchargement de fichiers supplémentaires.
Pour exécuter le script :
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
Liens : https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900