
WinNotify에 대한 PoC로, 드라이버 매퍼를 통해 시연되며 로컬 권한 상승을 포함합니다.
LocalStranger는 취약한 커널 모드 드라이버가 실제로 얼마나 위험한지를 보여주기 위해 설계된 Proof of Concept 프로젝트입니다.
WinNotify.sys(내가 부르는 이름은 msft.sys)는 호출자 검증이 완전히 결여되어 임의의 커널 프리미티브를 노출하는 매우 위험한 취약 드라이버입니다.
예상외로, 이 드라이버는 Microsoft Windows Hardware Compatibility Publisher 파트너십 프로그램으로 서명되어 있으며, 현재까지
Microsoft 취약 드라이버 차단 목록에 추가되지 않았습니다. 분명히, 위협 그룹이 실제로 악용하지 않는 한, 기본적으로 누구의 문제로도 취급되지 않는 것 같습니다.
이 드라이버를 이용해, 나는 서명되지 않은 커널 드라이버를 커널 공간에 매핑하는 드라이버 매퍼와 사용자를 NT-AUTHORITY로 승격시키는 프로그램을 만들 수 있었습니다. 노출된 프리미티브가 얼마나 위험한지 때문에, 당신이 생각할 수 있는 것은 문자 그대로 무엇이든 할 수 있습니다. 하늘은 한계입니다.
LocalStranger는 하나의 주요 핵심 구성 요소인 lsapi로 구성되어 있으며, 이는 드라이버와의 사용자 모드 통신을 감싸는 래퍼를 구현합니다. 프로세스 R/W 및 메모리 할당부터 KASLR 우회, 물리적
및 가상 메모리 R/W까지.
드라이버 매퍼인 lsmapper는 꽤 현대적인 문법으로 C++로 작성되었습니다, 왜냐하면 내가 그렇게 하고 싶었기 때문입니다.
다른 모든 것은 C로 작성되었고 강한 Microsoft 서식을 따릅니다, 왜냐하면 나 역시 그렇게 하고 싶었기 때문입니다.
코드는 라이선스 없이 공유되었으니 그게 무슨 뜻인지 묻지 말고, 검색해 보세요.
