
PowerShell-Skript zur Minderung von CVE-2013-3900 durch Aktivierung strengerer WinVerifyTrust-Authenticode-Signaturvalidierung über Registrierungskonfiguration.
#CVE-2013-3900 ist eine Sicherheitslücke zur Remote-Codeausführung in der Art und Weise, wie die WinVerifyTrust-Funktion von Microsoft die Windows-Authenticode-Signaturüberprüfung durchführt. Dieser Fehler ermöglicht es einem Angreifer, eine signierte ausführbare Datei zu verändern, indem er einem nicht überprüften Teil #der Datei schädlichen Code hinzufügt, ohne deren Signatur zu invalidieren.
#Die Gegenmaßnahme für diese Sicherheitslücke ist eine Opt-in-Funktion, die eine bestimmte Registrierungseinstellung erfordert. Nach der Aktivierung führt Windows eine strengere Überprüfung der Authenticode-Signaturen durch und stellt sicher, dass keine zusätzlichen Daten in der signierten Datei vorhanden sind.
$regPath32 = "HKLM:\Software\Microsoft\Cryptography\Wintrust\Config" $regPath64 = "HKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config" $valueName = "EnableCertPaddingCheck" $valueData = 1
if (-not (Test-Path $regPath64)) { New-Item -Path $regPath64 -Force | Out-Null Write-Host "Created registry path: $regPath64" }
Set-ItemProperty -Path $regPath64 -Name $valueName -Value $valueData -Type DWord -Force | Out-Null Write-Host "Set $valueName to $valueData in $regPath64"
if (-not (Test-Path $regPath32)) { New-Item -Path $regPath32 -Force | Out-Null Write-Host "Created registry path: $regPath32" }
Set-ItemProperty -Path $regPath32 -Name $valueName -Value $valueData -Type DWord -Force | Out-Null Write-Host "Set $valueName to $valueData in $regPath32"
Write-Host "`nMitigation script complete."