
CVE-PoC
Dieser PoC dient ausschließlich zu Bildungs- und Forschungszwecken. Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die durch diesen Code verursacht werden.
Dieses PowerShell-Skript ist ein Testwerkzeug zur Simulation des in CVE-2013-3900 beschriebenen Angriffs. CVE-2013-3900 betrifft den Authenticode-Mechanismus in Windows, bei dem die PE-Signatur (EXE/DLL-Dateien) zusätzliche Daten (Padding) im Zertifikatsabschnitt enthalten kann. In älteren oder standardmäßigen Windows-Einstellungen führt eine solche Modifikation nicht zur Ungültigkeit der Signatur, sodass dem Code bösartiger Code hinzugefügt werden kann, während sein „signierter“ Status erhalten bleibt. Durch Aktivieren von EnableCertPaddingCheck=1 in der Registry beginnt das System, zusätzliches Padding als Integritätsverletzung zu behandeln und eine solche Datei abzulehnen.
Skript:
Wenn der Schutz aktiviert ist, wird die modifizierte Datei abgelehnt (0x800B0100); wenn deaktiviert, wird sie akzeptiert (0x00000000).
Ich verwende MSBuild.exe, da es sich um eine Windows-Systemdatei mit einer eingebetteten Authenticode-Signatur (keine Katalogsignatur) handelt, sodass wir ihren Zertifikatsabschnitt direkt modifizieren und die CVE-2013-3900-Sicherheitslücke zuverlässig simulieren können. Dies macht den Test wiederholbar und funktioniert auf jeder Windows Server-Installation, ohne dass zusätzliche Dateien heruntergeladen werden müssen.
So führen Sie das Skript aus:
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