
CVE-2013-3900을 완화하기 위해 레지스트리 구성을 통해 더 엄격한 WinVerifyTrust Authenticode 서명 유효성 검사를 활성화하는 PowerShell 스크립트
#CVE-2013-3900은 Microsoft의 WinVerifyTrust 함수가 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."