En diciembre de 2022, Microsoft publicó los paquetes mensuales de Windows Update que incluían un aviso sobre controladores maliciosos, firmados por Microsoft y otras autoridades de firma de código, que Sophos X-Ops (y otros) observaron que los actores de amenazas abusaban durante los ataques. Esta semana, Microsoft ha publicado el aviso de seguridad ADV230001 como parte de su actualización de Windows de julio, que aborda el descubrimiento por parte de Sophos de más de 100 controladores maliciosos que habían sido firmados digitalmente por Microsoft y otros, desde abril de 2021.
También publicaron el artículo 5029033 de la Base de conocimientos, que incluye, información nueva y más detallada, sobre las medidas técnicas que ha tomado Microsoft para protegerse contra estos controladores maliciosos firmados. Sophos dispone desde 2022 de medidas de protección que pueden detectar la presencia de estos controladores y bloquear su instalación. Al final de este artículo encontrarás más información sobre las detecciones.
Como parte del modelo de seguridad para las generaciones más recientes de Windows de 64 bits, Microsoft instituyó una política en 2016 (a partir de Windows 10, versión 1607), según la cual los controladores del núcleo deben llevar una firma digital válida antes de que un sistema operativo Windows con el Arranque Seguro activado los cargue.
Esto es importante porque la naturaleza de los controladores de terceros es que funcionan casi como componentes del sistema operativo, a un nivel muy bajo. Dependiendo de cómo se creen e instalen, los controladores pueden cargarse antes de que otras partes de un sistema operativo (incluido el software de seguridad para endpoints) puedan iniciarse.
En nuestro artículo de diciembre sobre controladores firmados maliciosos, descubrimos que eso es exactamente lo que hacían los atacantes: utilizaban sus privilegios de administrador obtenidos previamente para configurar los controladores de modo que se cargaran durante el proceso de arranque, antes de que se ejecutara el software de seguridad, y una vez cargados, los controladores saboteaban varios tipos de aplicaciones de seguridad (y de otro tipo), impidiendo que se ejecutaran según lo previsto. Los productos para endpoints de Sophos estaban entre las herramientas de seguridad atacadas.
En algunos casos, los controladores revelados (y neutralizados funcionalmente) el pasado diciembre habían sido firmados utilizando certificados de firma de código que habían sido emitidos a editores de software, robados y luego filtrados a Internet. En otros, estaban firmados misteriosa y válidamente con el certificado Microsoft Windows Hardware Compatibility Publisher (WHCP).
Microsoft solo firma código utilizando el certificado WHCP cuando un proveedor de software o hardware que se haya registrado previamente en el programa Windows Hardware Dev Center de Microsoft, y esté en posesión de un certificado de firma de código con Extended Validation, envía el controlador a la empresa para que lo firme.
Si alguien tiene acceso físico a una máquina Windows y puede reiniciarla en el cargador de arranque de Windows, es posible que desactive esta función caso por caso mediante la opción Desactivar la aplicación de la firma del controlador antes de que arranque Windows. Los atacantes, en los casos que investigamos, no tenían acceso físico a las máquinas.
Romper la cadena de confianza
Microsoft invalidó el año pasado los controladores de los que les informamos, haciendo que no pudieran cargarse. El mismo día del anuncio, en estrecha coordinación con Microsoft, Sophos publicó firmas actualizadas de protección de endpoints que detectarían y eliminarían cualquier controlador de este tipo encontrado en un ordenador.
Las firmas digitales incrustadas en los archivos de los controladores revelaron que el problema era mucho mayor de lo que Sophos o Microsoft habían previsto. En las semanas siguientes, Sophos descubrió 133 controladores maliciosos, 100 de los cuales habían sido firmados por el certificado WHCP de Microsoft.
Entre los propietarios de los certificados de los controladores no firmados por WHCP, los detalles del certificado revelan que habían sido emitidos a empresas cuyos nombres indican que tienen su sede en China. Estos certificados pertenecían a las siguientes empresas:
- Beijing Kate Zhanhong Technology Co.,Ltd.
- Zhuhai liancheng Technology Co., Ltd.
- Beijing JoinHope Image Technology Ltd.
- 海南巨灵网络科技有限公司 (Hainan Giant Spirit Network Technology Co., Ltd.)
- Shenzhen Luyoudashi Technology Co., Ltd.
- Chengdu Lule Cube
- Bopsoft
También es destacable que encontramos un pequeño número de controladores maliciosos sin firmar que eran funcionalmente idénticos a los controladores firmados. Los analistas de SophosLabs plantearon la hipótesis de que estos controladores sin firmar podrían haber sido las versiones enviadas posteriormente a los mecanismos de firma de código como WHCP.
Muchos de los controladores firmados también se empaquetaron utilizando software empaquetador en tiempo de ejecución. Las utilidades de empaquetado son utilizadas tanto por los editores de software legítimo como por los creadores de malware para ofuscar y ocultar las funciones dentro de un ejecutable (los controladores son una forma de Ejecutable Portátil de Windows, o PE). Sin embargo, la mayoría de los controladores legítimos no están empaquetados. Algunos de los controladores estaban empaquetados con VMProtect.
Tras un examen más detallado, nuestros analistas descubrieron detalles interesantes que revelaban pistas sobre cómo operaba la persona o personas que estaban detrás del plan para conseguir la firma de los controladores maliciosos. Basándonos en nuestros análisis de los controladores firmados y sus binarios subyacentes, parece que el creador del controlador malicioso creó una versión “padre” del controlador, luego ejecutó la versión padre a través de una o más utilidades de empaquetado una o más veces, creando en algunos casos docenas de variantes “hijo”, todas las cuales los creadores podían enviar a Microsoft para que las firmara.
De qué son capaces los controladores
Sophos descubrió que los controladores pertenecían a dos categorías generales: o bien eran “Endpoint protection killers” funcionalmente similares a los controladores descubiertos el año pasado, o bien eran una forma de un rootkit, destinados a ejecutarse silenciosamente en segundo plano en un ordenador infectado. Como mencionamos anteriormente, estos controladores solo podían ser instalados por alguien que tuviera privilegios administrativos en el sistema.
Entre los controladores “endpoint protection killer”, 68 estaban firmados por Microsoft, y 13 estaban firmados por certificados de otras empresas.
Entre los controladores rootkit, 32 estaban firmados por Microsoft, 4 por otras empresas y 16 eran variaciones sin firmar de uno de los cuatro controladores firmados.
La mayoría de los controladores de rootkits tenían capacidad para supervisar el tráfico de red mediante la Plataforma de Filtrado de Windows (WFP), lo que les habría dado la posibilidad de observar datos sensibles enviados o recibidos de Internet.
Varios de los rootkits parecen ser variantes de familias conocidas de rootkits de Windows, como el rootkit FU, el rootkit Fivesys, el rootkit FK_undead o el rootkit Netfilter. Algunos de estos rootkits tienen la capacidad de desactivar las funciones de Control de Cuentas de Usuario (UAC) de Windows, lo que permite al operador del rootkit elevar los privilegios de otras aplicaciones a un nivel de Administrador sin que aparezca un aviso UAC en pantalla.
Muchos de los rootkits también tienen la capacidad de comunicarse con un servidor de mando y control cuya dirección se basa en un Algoritmo Generador de Dominios (DGA), y que cambia con el tiempo. Estos rootkits se comunicaban con nombres de dominio DGA que utilizaban el dominio de nivel superior (TLD) .xyz.
Detección y orientación
Los controladores con capacidades similares a las encontradas en el curso de esta investigación se detectarán con alguna o todas las firmas siguientes: Mal/Rootkit-BE, Troj/Rootkit-VE, Troj/Agent-BJJB, Mal/Rootkit-VF, Troj/Rootkit-ND, Troj/Rootkit-NH, Troj/Rootkit-NO, Troj/Rootkit-NP o Troj/Rootkit-NS.
Los archivos de controladores denunciados por Sophos a Microsoft serán, a partir de la publicación del parche del 11 de julio de 2023, invalidados y sus firmas revocadas por el mecanismo de actualización de Microsoft, y dejarán de ejecutarse. Microsoft también puede invalidar otros controladores cuya procedencia coincida con la fuente de los controladores conocidos como maliciosos en cualquier momento futuro.
Sophos ha publicado hashes y otros detalles relevantes sobre los controladores firmados maliciosos en el Github de SophosLabs.
Agradecimientos
Sophos desea agradecer a los investigadores de SophosLabs Andrew Ludgate y Andreas Klopsch su ayuda en la elaboración de perfiles y la recopilación de la lista de controladores maliciosos.