Hasta 34 controladores únicos y vulnerables de Windows Driver Model (WDM) y Windows Driver Frameworks (WDF) podrían ser explotados por actores de amenazas sin privilegios para obtener el control total de los dispositivos y ejecutar código arbitrario en los sistemas subyacentes.
“Al explotar los controladores, un atacante sin privilegios puede borrar/alterar el firmware y/o elevar los privilegios [del sistema operativo]”, dijo Takahiro Haruyama, investigador senior de amenazas de VMware Carbon Black.
La investigación amplía estudios anteriores, como ScrewedDrivers y POPKORN que utilizaron la ejecución simbólica para automatizar el descubrimiento de controladores vulnerables. Se centra específicamente en los controladores que contienen acceso al firmware a través de E/S de puerto y E/S asignada a la memoria.
Los nombres de algunos de los controladores vulnerables incluyen AODDriver.sys, ComputerZ.sys, dellbios.sys, GEDevDrv.sys, GtcKmdfBs.sys, IoAccess.sys, kerneld.amd64, ngiodriver.sys, nvoclock.sys, PDFWKRNL.sys (CVE-2023-20598), RadHwMgr.sys, rtif.sys, rtport.sys, stdcdrv64.sys, and TdkLib64.sys (CVE-2023-35841).
De los 34 controladores, seis permiten el acceso a la memoria del kernel del que se puede abusar para elevar los privilegios y anular las soluciones de seguridad. Doce de los controladores podrían ser explotados para subvertir mecanismos de seguridad como la aleatorización del diseño del espacio de direcciones del kernel (KASLR).
Siete de los controladores, incluido el stdcdrv64.sys de Intel, se pueden utilizar para borrar el firmware en la memoria flash SPI, haciendo que el sistema no pueda arrancar. Desde entonces, Intel ha emitido una solución para el problema.
VMware también identificó controladores WDF como WDTKernel.sys y H2OFFT64.sys que no son vulnerables en términos de control de acceso, pero que pueden ser utilizados como armas triviales por los actores de amenazas privilegiadas para llevar a cabo lo que se llama un ataque Bring Your Own Vulnerable Driver (BYOVD).
La técnica ha sido empleada por varios adversarios, incluido el Grupo Lazarus, vinculado a Corea del Norte, como una forma de obtener privilegios elevados y deshabilitar el software de seguridad que se ejecuta en puntos finales comprometidos para evadir la detección.
“El alcance actual de las API/instrucciones a las que se dirige el [script IDAPython para automatizar el análisis de código estático de controladores vulnerables x64] es estrecho y solo se limita al acceso al firmware”, dijo Haruyama.
“Sin embargo, es fácil extender el código para cubrir otros vectores de ataque (por ejemplo, la terminación de procesos arbitrarios)”.