
Prueba de concepto que explota una vulnerabilidad en un controlador de Kaspersky para filtrar punteros del kernel y evadir KASLR en Windows, habilitando primitivas para cadenas de explotación del kernel.
El controlador monitor anti-rootkit de Kaspersky (arkmon.sys) almacena un registro de depuración del kernel que contiene punteros crudos del kernel. El registro está "cifrado" con XOR 0xCC + ROT13, reversible de forma trivial. Cualquier usuario administrador puede leer y descifrar este registro mediante IOCTL, anulando por completo KASLR.
Al momento de redactar esto, la prueba de concepto funciona en un Windows 11 25H2 totalmente parcheado y Kaspersky Standard: K4W-21-26 con las últimas actualizaciones de bases de datos.
¿Entonces qué obtenemos? El registro descifrado contiene múltiples direcciones del espacio del kernel (0xFFFF...), bases de controladores, punteros a objetos del kernel y desplazamientos internos. Estas anulan KASLR y pueden usarse como primitivas para cadenas de explotación del kernel.
gcc -o poc.exe poc.c
poc.exe
Requiere permisos de administrador. Kaspersky debe estar instalado y en ejecución.
