
KSLD 안티루트킷 드라이버의 취약점(IOCTL 0x222044)을 악용하여 PPL 보호를 우회하고 민감한 프로세스 메모리에 접근함으로써 Windows 시스템에서 로컬 권한 상승을 가능하게 합니다.
참고: KslKatz 및 KslDump.
KslD.sys (일명 MpKslDrv.sys)는 한때 Microsoft 안티멀웨어(Microsoft Defender 바이러스 백신, 구형 Windows 버전의 Windows Defender 바이러스 백신, Microsoft Security Essentials, System Center Endpoint Protection 등 포함)의 안티루트킷 도구 드라이버 중 하나였습니다.
ARK(안티루트킷) 드라이버로서, 이 드라이버는 임의의 파일 이름, 임의의 서비스 이름, 임의의 디바이스 이름으로 실행될 수 있으며(이러한 구성은 레지스트리 HKLM\SYSTEM\CurrentControlSet\Services(DriverServiceName)에 저장됨), 또한 여러 인스턴스(서로 다른 버전도 포함)가 공존하여 멀웨어의 차단을 우회할 수 있습니다.

버전 1.1.25081.3013의 드라이버는 디바이스를 열기 전에 사용자가 최소한 관리자 권한을 가지고 있는지, 그리고 허용된 프로세스인지(서비스 구성에도 저장됨) 확인하지만, 구성이 수정되었거나 IOCTL 코드가 실제 MS 안티멀웨어 프로세스에서 온 것인지에 대한 추가 검증은 없습니다. 이로 인해 IOCTL 0x222044가 로컬 시스템 관리자에게 노출되어 보호된 프로세스(예: PPL 보호 하의 lsass.exe)의 민감한 데이터에 접근할 수 있게 됩니다.
앞서 언급한 이유로 인해, 기존 KSLD 구성을 수정할 필요 없이 완전히 새로운 서비스를 생성하여 특정 서비스 구성을 제작하고 드라이버를 로드할 수 있습니다. 드라이버는 우리 프로젝트의 exe를 신뢰하고 파일/서비스/디바이스 이름 기반의 취약한 드라이버 보호를 우회합니다.

Microsoft는 이 문제가 보안 취약점 기준에 부합하지 않는다고 판단하므로, 이 공개 자료에서 언급된 결함은 즉시 패치되지 않을 수 있습니다.