
PowerShell-скрипт для смягчения последствий CVE-2013-3900 путем включения более строгой проверки подписей Authenticode WinVerifyTrust через настройку реестра.
#CVE-2013-3900 — это уязвимость удаленного выполнения кода в том, как функция WinVerifyTrust от Microsoft обрабатывает проверку подписи Windows Authenticode. Эта ошибка позволяет злоумышленнику изменить подписанный исполняемый файл, добавив вредоносный код в непроверенную часть #файла без аннулирования его подписи.
#Смягчение этой уязвимости представляет собой опциональную функцию, требующую определенной настройки реестра. После включения Windows будет выполнять более строгую проверку подписей Authenticode, гарантируя отсутствие посторонних данных в подписанном файле.
$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."