
커널 포인터를 유출하고 Windows에서 KASLR을 우회하여 커널 익스플로잇 체인 프리미티브를 가능하게 하는 Kaspersky 드라이버 취약점을 악용하는 개념 증명입니다.
Kaspersky의 안티루트킷 모니터 드라이버(arkmon.sys)는 원시 커널 포인터를 포함하는 커널 디버그 로그를 저장합니다. 해당 로그는 XOR 0xCC + ROT13으로 "암호화"되어 있으며, 이는 쉽게 역산이 가능합니다. 모든 관리자 사용자는 IOCTL을 통해 이 로그를 읽고 복호화할 수 있어 KASLR을 완전히 무력화합니다.
이 글을 작성하는 시점에서, 해당 개념 증명은 완전히 패치된 Windows 11 25H2 및 최신 데이터베이스 업데이트가 적용된 Kaspersky Standard: K4W-21-26에서 동작합니다.
그래서 우리가 얻는 것은 무엇일까요? 복호화된 로그에는 여러 커널 공간 주소(0xFFFF...), 드라이버 베이스, 커널 객체 포인터 및 내부 오프셋이 포함되어 있습니다. 이는 KASLR을 무력화하며 커널 익스플로잇 체인의 프리미티브로 사용될 수 있습니다.
gcc -o poc.exe poc.c
poc.exe
관리자 권한이 필요합니다. Kaspersky가 설치되어 실행 중이어야 합니다.
