El martes de parches de febrero se corrigió una falla crítica de escalada del kernel de Windows. Los investigadores de Avast descubrieron que la vulnerabilidad fue explotada por un grupo APT afiliado a Corea del Norte llamado Lazarus dentro de su rootkit FudModule. El rootkit "ahora utiliza una técnica de manipulación de entrada de tabla de administración para intentar suspender los procesos Protected Process Light (PPL) asociados con Microsoft Defender, CrowdStrike Falcon y HitmanPro, lo que representa un avance importante en su técnica de ataque". Los expertos especifican en un informe.
Vulnerabilidad de AppLocker reemplaza a BYOVD
El grupo Lazarus, también conocido como APT38, es uno de los equipos de piratas informáticos del gobierno de Corea del Norte, que se dedica al espionaje y sabotaje cibernéticos, así como a delitos cibernéticos ocasionales para recaudar dinero para el régimen. Sus operaciones se remontan a varios años atrás, pero algunos investigadores creen que es probable que Lazarus tenga varios subgrupos que ejecutan sus propias campañas y desarrollan malware adaptado a sus objetivos. El rootkit FudModule no es nuevo en el conjunto de herramientas de Lazarus y ya ha sido analizado por otras empresas de ciberseguridad en 2022.
FudModule es un rootkit de solo datos que existe en el espacio del usuario y explota los privilegios de lectura y escritura del kernel a través de los controladores para subvertir los mecanismos de seguridad de Windows y reducir la capacidad de los productos de seguridad para detectar otros componentes maliciosos. En versiones anteriores, los atacantes obtenían privilegios explotando vulnerabilidades conocidas en controladores de terceros firmados que implementaban en el sistema junto con el malware. Esta técnica se conoce como BYOVD (Bring Your Own Vulnerable Driver). Instalar un controlador en Windows requiere privilegios administrativos, por lo que los atacantes ya tienen privilegios elevados en los sistemas.
Técnicas de rootkit mejoradas
El rootkit FudModule utiliza su acceso de lectura/escritura al núcleo para desactivar algunas características importantes de las que dependen los productos de seguridad para detectar comportamientos sospechosos: devoluciones de llamadas de registro, que se utilizan para detectar cambios en el registro del sistema; devoluciones de llamadas de objeto, que se utilizan para ejecutar código personalizado en respuesta a operaciones de administración de subprocesos, procesos y escritorios; y devoluciones de llamadas de procesos, subprocesos e imágenes del núcleo, que permiten a los productos de seguridad de endpoints realizar comprobaciones cada vez que se crean nuevos procesos o se cargan archivos DLL. El rootkit FudModule elimina todos estos tipos de devoluciones de llamadas que los productos de seguridad registran en el núcleo para debilitar sus capacidades de detección de malware. Esta última variante solo realiza cambios menores en las devoluciones de llamadas que elimina. El rootkit también elimina los minifiltros del sistema de archivos que los programas antivirus registran para monitorear las operaciones de archivos. Una nueva característica del rootkit es desactivar las devoluciones de llamadas de verificación de imágenes que se invocan cuando se carga una nueva imagen de controlador en la memoria del núcleo. Esta característica es explotada por algunos programas anti-malware para detectar y bloquear controladores maliciosos o vulnerables.
Aunque todo esto parece ayudar a los atacantes con su técnica BYOVD, no tiene mucho sentido desactivar estas devoluciones de llamadas después de que ya hayan cargado un controlador comprometido para implementar el rootkit. Sería demasiado tarde, a menos que los atacantes planeen cargar otros controladores maliciosos para algún propósito después de que se haya implementado el rootkit. Se sabe que Lazarus ha utilizado controladores personalizados en el pasado para realizar ataques de borrado de disco. Otra técnica de rootkit implementada en esta versión tiene como objetivo deshabilitar directamente productos de seguridad específicos, a saber, AhnLab V3 Endpoint Security, Windows Defender, CrowdStrike Falcon y HitmanPro. "El grupo Lazarus sigue siendo uno de los actores de amenazas persistentes avanzadas más prolíficos y de mayor trayectoria. Si bien sus tácticas y técnicas ahora son bien conocidas, ocasionalmente aún logran sorprendernos con un nivel inesperado de sofisticación técnica", dijeron los investigadores de Avast. "El rootkit FudModule es el último ejemplo de esto y representa una de las herramientas más complejas que Lazarus tiene en su arsenal".
Existen defensas para el administrador del kernel.
Sin embargo, existe una diferencia entre obtener acceso de administrador y obtener privilegios de kernel (SYSTEM) en Windows. Estos roles operan en diferentes niveles de integridad y están sujetos a diferentes limitaciones, pero Microsoft no considera oficialmente que el acceso de administrador al kernel sea un límite de seguridad, ya que existen múltiples formas de ejecutar el kernel desde una cuenta de administrador; por ejemplo, BYOVD, ya que no faltan controladores de terceros mal escritos. Cualquier cuenta de administrador puede instalar un controlador, y cualquier controlador se carga en el kernel. “Microsoft no ha renunciado a asegurar el límite entre el administrador y el kernel”, explicaron además los investigadores de Avast. “Todo lo contrario, la empresa ha hecho grandes avances para hacer que ese límite sea más difícil de cruzar. Las protecciones de defensa en profundidad, como Driver Signature Enforcement (DES) o Hypervisor-Protected Code Integrity (HVCI), han hecho que sea cada vez más difícil para los atacantes ejecutar código personalizado en el kernel”.
La mayoría de ellos se han visto obligados a recurrir a ataques que solo se limitan a los datos (en los que logran sus objetivos maliciosos leyendo y escribiendo únicamente en la memoria del núcleo). Otras defensas, como la creación de listas de denegación de controladores, obligan a los atacantes a explotar controladores vulnerables menos conocidos, lo que aumenta la complejidad de los ataques. Si bien estas defensas aún no han llegado al punto en el que la barrera entre el administrador y el núcleo pueda considerarse oficialmente un límite de seguridad (los ataques BYOVD aún son posibles, por lo que llamarlo así solo engañaría a los usuarios y les daría una falsa sensación de seguridad), son claramente pasos en la dirección correcta.
Existe un parche
La nueva vulnerabilidad CVE-2024-21338 explotada por Lazarus se encuentra en appid.sys, que es el motor principal de AppLocker, la tecnología de listas blancas de aplicaciones integrada en Windows, irónicamente. Microsoft ha otorgado a esta vulnerabilidad una puntuación de 7,8 sobre 10 en la escala CVSS. Avast cree que esta alta puntuación se debe a que el fallo también podría explotarse desde la cuenta de servicio local, que tiene privilegios incluso inferiores a los de los administradores.
“Si bien la vulnerabilidad solo cumple parcialmente con los criterios de seguridad de Microsoft, creemos que aplicar un parche fue la decisión correcta y nos gustaría agradecer a Microsoft por resolver finalmente este problema”, dijeron los investigadores de Avast. “El parche sin duda interrumpirá las operaciones ofensivas de Lazarus, lo que los obligará a encontrar otro día cero de administrador a kernel o volver a las técnicas BYOVD”.
Otras noticias que te pueden interesar