
CVE PoC
이 PoC는 교육 및 연구 목적으로만 제공됩니다. 저자는 이 코드로 인한 오용 또는 손상에 대해 책임을 지지 않습니다.
이 PowerShell 스크립트는 CVE-2013-3900에 설명된 공격을 시뮬레이션하기 위한 테스트 도구입니다. CVE-2013-3900은 Windows의 Authenticode 메커니즘과 관련이 있으며, 이 메커니즘에서는 PE 서명(EXE/DLL 파일)의 인증서 섹션에 추가 데이터(패딩)가 포함될 수 있습니다. 이전 버전 또는 기본 Windows 설정에서는 이러한 수정이 서명을 무효화하지 않으므로, 파일의 “서명된” 상태를 유지하면서 악성 코드를 파일에 추가할 수 있습니다. 레지스트리에서 EnableCertPaddingCheck=1을 활성화하면 시스템은 추가 패딩을 무결성 위반으로 간주하여 해당 파일을 거부합니다.
스크립트:
보호가 활성화된 경우 수정된 파일은 거부되고(0x800B0100), 비활성화된 경우 수락됩니다(0x00000000).
Authenticode 서명(카탈로그 서명이 아닌)이 포함된 Windows 시스템 파일이기 때문에 MSBuild.exe를 사용합니다. 이를 통해 인증서 섹션을 직접 수정하여 CVE-2013-3900 취약점을 안정적으로 시뮬레이션할 수 있습니다. 이렇게 하면 테스트를 반복할 수 있으며, 추가 파일을 다운로드할 필요 없이 모든 Windows Server 설치 환경에서 작동합니다.
스크립트 실행 방법:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
링크: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900