
CVE PoC
Este PoC é fornecido apenas para fins educacionais e de pesquisa. O autor não se responsabiliza por uso indevido ou danos causados por este código.
Este script PowerShell é uma ferramenta de teste para simular o ataque descrito em CVE-2013-3900. CVE-2013-3900 diz respeito ao mecanismo Authenticode no Windows, no qual a assinatura PE (arquivos EXE/DLL) pode conter dados adicionais (padding) na seção de certificados. Em configurações antigas ou padrão do Windows, tal modificação não invalida a assinatura, permitindo que código malicioso seja adicionado ao arquivo enquanto ele mantém seu status de "assinado". Ao habilitar EnableCertPaddingCheck=1 no registro, o sistema passa a tratar o padding adicional como uma violação de integridade, rejeitando tal arquivo.
Script:
Se a proteção estiver habilitada, o arquivo modificado será rejeitado (0x800B0100); se estiver desabilitada, ele será aceito (0x00000000).
Eu uso o MSBuild.exe porque é um arquivo de sistema do Windows com uma assinatura Authenticode incorporada (não uma assinatura de catálogo), o que nos permite modificar diretamente sua seção de certificados e simular de forma confiável a vulnerabilidade CVE-2013-3900. Isso torna o teste repetível e funciona em qualquer instalação do Windows Server sem a necessidade de baixar arquivos adicionais.
Para executar o script:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
Links: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900