Cómo protegerse contra los ataques de degradación en Windows

Windows Downdate es un ataque que puede revertir las actualizaciones de su sistema operativo para reintroducir vulnerabilidades y permitir que los atacantes tomen el control total de su sistema. ¿Cómo mitigar el riesgo?

Todas las aplicaciones de software, incluidos los sistemas operativos, contienen vulnerabilidades, por lo que las actualizaciones periódicas para instalar parches son una de las bases fundamentales de la ciberseguridad. Los investigadores que inventaron el ataque de Windows Downdate se centraron en este mismo mecanismo de actualización, con el objetivo de revertir sigilosamente un sistema Windows completamente actualizado a una versión anterior que contenga archivos y servicios vulnerables. Esto deja al sistema expuesto a vulnerabilidades conocidas y a riesgos de alto nivel, incluidos el hipervisor y el kernel seguro. Peor aún, la actualización estándar y las comprobaciones del estado del sistema informarán que todo está actualizado y funciona bien.

Mecanismo de ataque

De hecho, los investigadores encontraron dos fallos separados con mecanismos operativos ligeramente diferentes. Una vulnerabilidad, a la que se le asignó el ID CVE-2024-21302 y denominada Downdate, se basa en un fallo en el proceso de instalación de la actualización: los componentes de actualización descargados se controlan, se protegen contra modificaciones y se firman digitalmente, pero en una de las etapas intermedias de la instalación (entre reinicios), el procedimiento de actualización crea y luego usa un archivo que contiene una lista de acciones planificadas (pending.xml). Si los atacantes logran crear su propia versión de ese archivo y luego añadir la información relacionada en el registro, el servicio del Instalador de módulos de Windows (TrustedInstaller) ejecutará las instrucciones del archivo al reiniciar.

De hecho, el contenido del archivo pending.xml se verifica, pero se hace durante las etapas de instalación anteriores; TrustedInstaller no lo vuelve a verificar. Por supuesto, es imposible escribir lo que quiera en el archivo e instalar archivos arbitrarios de esta manera, ya que deben estar firmados por Microsoft, pero reemplazar los archivos del sistema con otros más antiguos desarrollados por Microsoft es bastante posible. Esto puede volver a exponer el sistema a vulnerabilidades que ya se habían corregido con parches hace tiempo, incluidas las vulnerabilidades críticas. La adición de las claves necesarias relacionadas con pending.xml en el registro requiere privilegios de administrador, después de lo cual se debe reiniciar el sistema. Sin embargo, estas son las únicas limitaciones importantes. Este ataque no requiere privilegios elevados (para los cuales Windows atenúa la pantalla y solicita un permiso adicional al administrador), y la mayoría de las herramientas de seguridad no marcarán las acciones realizadas durante el ataque como sospechosas.

La segunda vulnerabilidad, CVE-2024-38202, le permite a un actor manipular la carpeta Windows.old, donde el sistema de actualización almacena la instalación anterior de Windows. Aunque la modificación de archivos en esta carpeta requiere privilegios especiales, un atacante con derechos de usuario regulares puede cambiar el nombre de la carpeta, crear una nueva carpeta Windows.old desde cero y colocar allí versiones obsoletas y vulnerables de los archivos del sistema Windows. Al iniciar una restauración del sistema, Windows vuelve a la instalación vulnerable. Se requieren determinados privilegios para la restauración del sistema, pero no son privilegios de administrador y, a veces, se otorgan a usuarios habituales.

Anulación de VBS y robo de contraseñas

Desde 2015, la arquitectura de Windows se ha rediseñado para evitar que una vulneración del kernel de Windows ponga en peligro a todo el sistema. Esto implica una variedad de medidas conocidas colectivamente como seguridad basada en virtualización (VBS). Entre otras cosas, el hipervisor del sistema se utiliza para aislar los componentes del sistema operativo y crear un kernel seguro para realizar las operaciones más confidenciales, almacenar contraseñas, etc.

Para evitar que los atacantes desactiven la VBS, Windows puede configurarse para que esto sea imposible, incluso con derechos de administrador. La única forma de desactivar esta protección es reiniciando el ordenador en un modo especial e introduciendo un comando de teclado. Esta función se denomina bloqueo de la Interfaz de firmware extensible unificada (UEFI). El ataque de Windows Downdate también evita esta restricción al reemplazar los archivos con versiones modificadas, desactualizadas y vulnerables. La VBS no comprueba el estado de actualización de los archivos del sistema, por lo que pueden sustituirse por versiones más antiguas y vulnerables sin signos detectables ni mensajes de error. Es decir, técnicamente la VBS no está desactivada, pero ya no realiza su función de seguridad.

Este ataque permite la sustitución de archivos de kernel seguro y de hipervisor con versiones de dos años de antigüedad que contienen varias vulnerabilidades cuyo aprovechamiento conduce a la obtención de privilegios. Como resultado, los atacantes pueden obtener los privilegios máximos del sistema, acceso total al hipervisor y a los procesos de protección de la memoria, y la capacidad de leer fácilmente credenciales, hashes de contraseñas y también hashes NTLM de la memoria (que se pueden usar para expandir el ataque de red).

Protección contra Downdate

En febrero de 2024 se informó a Microsoft de las vulnerabilidades de Downdate, pero no fue hasta agosto cuando se publicaron los detalles como parte de su implementación mensual de parches de Patch Tuesday. Corregir los errores resultó ser una tarea difícil y plagada de efectos secundarios, incluido el bloqueo de algunos sistemas Windows. Por lo tanto, en lugar de apresurarse a publicar otro parche, Microsoft por ahora simplemente ha emitido algunos consejos para mitigar los riesgos. Estos incluyen los siguientes:

  • Auditar a los usuarios autorizados a realizar operaciones de restauración y actualización del sistema, minimizar el número de estos usuarios y revocar los permisos cuando sea posible.
  • Implementar listas de control de acceso (ACL/DACL) para restringir el acceso y la modificación de los archivos de actualización.
  • Configurar la supervisión de eventos para instancias en las que se utilizan privilegios elevados para modificar o reemplazar archivos de actualización; esto podría ser un indicador del aprovechamiento de vulnerabilidades.
  • Del mismo modo, supervisar la modificación y sustitución de archivos asociados con el subsistema VBS y las copias de seguridad de los archivos del sistema.

Supervisar estos eventos mediante SIEM y EDR es relativamente sencillo. Sin embargo, se pueden esperar falsos positivos, por lo que distinguir la actividad legítima del administrador de sistemas de la de los ciberdelincuentes recae en última instancia en el equipo de seguridad.

Todo lo anterior se aplica no solo a los sistemas físicos, sino también a las máquinas Windows virtuales en entornos cloud. Para las máquinas virtuales en Azure, también recomendamos realizar un seguimiento de los intentos inusuales de inicio de sesión con credenciales de administrador. Activa MFA y cambia las credenciales en caso de que se detecte un intento de este tipo.

Otro consejo más drástico: revoca los privilegios de administrador para los empleados que no los necesiten y solicita que los administradores genuinos (i) solo realicen acciones administrativas en su respectiva cuenta y (ii) usen una cuenta aparte para otras tareas.

Soluciones arriesgadas

Para quienes buscan más seguridad, Microsoft ofrece la actualización KB5042562, que mitiga la gravedad de CVE-2024-21302. Con esta actualización, las versiones desactualizadas de los archivos de VBS del sistema se añaden a la lista de revocados y ya no se pueden ejecutar en un ordenador actualizado. Esta directiva (SkuSiPolicy.p7b) se aplica a nivel de UEFI, por lo que al utilizarla debe actualizar no solo el sistema operativo sino también los soportes de arranque extraíbles de respaldo. También es importante tener en cuenta que ya no sería posible regresar a las instalaciones anteriores de Windows. Además, la actualización activa a la fuerza la función Integridad del código del modo usuario (UMCI), que en sí misma puede causar problemas de compatibilidad y rendimiento.

En general, se recomienda a los administradores que consideren cuidadosamente los riesgos y estudien a fondo el procedimiento y sus posibles efectos secundarios. En el futuro, Microsoft promete lanzar parches y medidas de seguridad adicionales para todas las versiones relevantes de Windows, hasta Windows 10, versión 1507, y Windows Server 2016.

Consejos