
Educational Proof of Concept (PoC) for CVE-2023-36874 — Windows Error Reporting (WER) Local Privilege Escalation vulnerability.
CVE-2023-36874 취약점의 교육 및 방어 연구용 구현으로, Windows 오류 보고(WER) 구성 요소 내의 로컬 권한 상승(LPE) 결함을 시연합니다.
이 저장소와 제공된 소스 코드는 엄격히 교육 목적, 보안 연구 및 방어적 감사 용도로만 제공됩니다. 명시적인 승인 없이 프로덕션 시스템이나 환경에서 이 코드를 실행하지 마십시오. 저자는 본 자료를 통해 이루어진 어떠한 오용, 손상 또는 불법 활동에 대해서도 책임을 지지 않습니다.
CVE-2023-36874는 **Windows 오류 보고(WER)**의 논리적 권한 상승 취약점입니다.
낮은 권한의 공격자는 Windows 개체 관리자(Object Manager) 네임스페이스를 조작하여 이 결함을 악용할 수 있습니다. 로컬 세션 디렉터리 내에 사용자 지정 심볼릭 링크(\??\C:)를 생성함으로써 공격자는 루트 드라이브로 전달되는 파일 액세스 요청을 리디렉션할 수 있습니다.
높은 권한의 서비스(NT AUTHORITY\SYSTEM)가 특정 문서화되지 않은 COM 인터페이스(예: IErcLuaSupport)를 사용하여 오류 보고 작업을 트리거하면, 리디렉션된 경로에서 파일을 부적절하게 실행합니다. 이를 통해 사용자가 제어하는 바이너리(wermgr.exe)가 SYSTEM 권한으로 실행될 수 있습니다.
main.cpp — 환경 설정, 개체 관리자 심볼릭 링크 생성 및 COM 상호 작용을 담당하는 주요 C++ 소스 코드입니다.exploit.exe (자리 표시자) — 권한 있는 서비스에 의해 실행될 대상 페이로드 바이너리입니다.main.cpp를 추가합니다.x86(Win32)에서 **x64**로 변경합니다. 이 익스플로잇은 64비트 시스템 경로 확인에 의존합니다.Ctrl + Shift + B).실행되면 프로그램은 백그라운드에서 다음 작업을 수행합니다:
C:\ProgramData에 더미 보고서 폴더를 만들고 C:\Users\Public\test\Windows\System32에 미러 디렉터리 구조를 준비합니다.NtCreateSymbolicLinkObject를 호출하여 로컬 세션 드라이브 C: 쿼리를 사용자 지정 Public\test 폴더로 다시 라우팅합니다.CLSID_ERCLuaSupport를 사용하여 프로세스 외부(out-of-process) COM 서버에 연결합니다.SubmitReport()를 통해 더미 보고서를 로드하고 제출하도록 강제합니다. 시스템은 C:\Windows\System32\wermgr.exe를 실행하려 시도하지만 페이로드로 리디렉션됩니다.이 바이너리는 백그라운드에서 조용히 실행됩니다.
0이며 페이로드가 NT AUTHORITY\SYSTEM 컨텍스트에서 실행됩니다.-1로 종료됩니다.이 문제는 2023년 7월 패치 화요일(Patch Tuesday) 업데이트 주기에서 Microsoft에 의해 공식적으로 해결되었습니다.
이 취약점 및 유사한 취약점을 완화하려면: