
EnableCertPaddingCheck를 사용한 CVE-2013-3900 (WinVerifyTrust) / Tenable Plugin 166555에 대한 PowerShell 수정
이 저장소는 Tenable/Nessus 결과를 해결하는 PowerShell 수정 + 확인 스크립트를 포함합니다:
이 스크립트는 다음을 설정하여 WinVerifyTrust 인증서 패딩 검사를 적용합니다:
EnableCertPaddingCheck (DWORD) = 164비트 시스템에서 스캐너는 네이티브 레지스트리 경로와 Wow6432Node(32비트 보기) 레지스트리 경로 모두에 값이 설정되어 있어야 합니다.
CVE-2013-3900은 Windows가 WinVerifyTrust를 사용하여 Authenticode 서명을 검증하는 방식과 관련됩니다.
인증서 패딩 검사가 적용되지 않으면 특정 조작된 서명이 안전하지 않은 시나리오에서 유효한 것으로 처리될 수 있으며, 취약점 스캐너는 호스트를 비준수로 플래그 지정합니다.

✅ 관리자로 실행되는지 확인합니다.
✅ OS가 64비트인지 감지합니다.
✅ 필요한 레지스트리 키가 존재하는지 확인합니다.
✅ EnableCertPaddingCheck를 다음으로 설정합니다:
$secureEnvironment = $true인 경우 1 (보안 / 권장)$secureEnvironment = $false인 경우 0 (비보안 / 실험실/테스트)✅ 명확한 Before/After 테이블과 준수 결과를 출력합니다.
스크립트 위치:
scripts/Set-WinVerifyTrustCertPadding.ps1
스크립트는 다음 위치에 설정을 적용합니다:
HKLM:\Software\Microsoft\Cryptography\Wintrust\ConfigHKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config (64비트 OS)적용되는 값:
EnableCertPaddingCheck (DWORD)$secureEnvironment = $true → 완화 적용 (권장)$secureEnvironment = $false → 완화 비활성화 (실험실/테스트 전용).\scripts\Set-WinVerifyTrustCertPadding.ps1
스크립트는 다음을 통해 구성을 확인합니다:
0 반환높은 심각도 결과 존재 (Plugin 166555 – CVE-2013-3900).
총 결과: 5

높은 심각도 결과 제거됨.
총 결과 감소: 5 → 4
