
CVE-2026-85884를 시연하는 PowerShell 개념 증명으로, Windows whesvc/WinDiag Lua ETW에서 저권한 또는 WPAD LPAC 코드에서 SYSTEM으로의 권한 상승을 보여줍니다.
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-85884
이 저장소는 Windows Health and Optimized Experiences 서비스(whesvc)와 Windows Diagnostics Lua 엔진과 관련된 Windows 권한 경계 문제에 대한 연구 및 개념 증명 자료를 포함합니다.
관련 진단 기능으로 실행되는 코드는 공격자가 제어하는 Lua 모듈 경로를 포함하는 신뢰할 수 있는 ETW 워크플로 이벤트를 발생시킬 수 있습니다. LocalSystem 서비스는 해당 이벤트를 소비하고 WinDiag를 통해 모듈을 실행하지만, 생산자를 적절히 인증하지 않으며 모듈을 신뢰할 수 있는 위치로 제한하지도 않습니다.
완전히 입증된 전환 과정은 다음과 같습니다:
low-privileged or WPAD LPAC code
-> Microsoft.Windows.Diagnostics.Lua ETW event
-> LocalSystem whesvc workflow
-> attacker-controlled Lua module
-> SYSTEM process canary
이 문제는 포함된 보고서에 문서화된 정확한 Windows 11 x64 빌드에서 재현되었으며, 빌드 26200.8457 및 29617.1000을 포함합니다.
Invoke-WhesvcToSystem.ps1은 가장 간단한 로컬 사용자 시연입니다. DLL, 컴파일러 또는 외부 페이로드가 필요하지 않으며 아무것도 포함하거나 다운로드하지 않습니다. 권한 있는 Lua 콜백은 cmd.exe를 통해 기본 제공되는 whoami.exe /user 명령을 실행하고 그 출력을 카나리 파일로 리디렉션합니다.
표준 비관리자 PowerShell 세션에서:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1
성공적으로 실행되면 whoami.exe /user 출력에 다음이 포함됩니다:
nt authority\system S-1-5-18
카나리는 다음 위치에 기록됩니다:
%LOCALAPPDATA%\WhesvcL2S\system-canary.txt
워크플로에는 최소 추적 간격이 있으므로 시연은 일반적으로 최소 35초가 소요됩니다.
카나리 및 일치하는 임시 Lua 모듈을 제거하려면:
powershell.exe -NoProfile -ExecutionPolicy Bypass `
-File .\Invoke-WhesvcToSystem.ps1 -Cleanup
이 자료는 방어 연구, 패치 검증 및 승인된 보안 테스트를 위해 제공됩니다. 사용자는 관련 법률을 준수하고 프로덕션 시스템에 대한 중단을 방지할 책임이 있습니다.