¿Necesita Cloud Computing? Empiece ahora

Fuga de credenciales NTLM a través de Temas de Windows

Tomer Peled

escrito por

Tomer Peled

March 06, 2024

Tomer Peled

escrito por

Tomer Peled

Tomer Peled es investigador de seguridad en Akamai. En su trabajo diario, lleva a cabo investigaciones que incluyen desde las vulnerabilidades hasta los aspectos internos del sistema operativo. En su tiempo libre, le gusta cocinar, practicar krav magá y jugar en su PC.

Tomer Peled, investigador de seguridad de Akamai, descubrió recientemente una vulnerabilidad de suplantación en Temas de Microsoft. Se le asignó el código CVE-2024-21320 con una puntuación de CVSS de 6,5.
Tomer Peled, investigador de seguridad de Akamai, descubrió recientemente una vulnerabilidad de suplantación en Temas de Microsoft. Se le asignó el código CVE-2024-21320 con una puntuación de CVSS de 6,5.

Comentario editorial y adicional de Tricia Howard

Resumen ejecutivo

  • El investigador de seguridad de Akamai Tomer Peled ha descubierto recientemente una vulnerabilidad de suplantación de identidad en Temas de Microsoft. Se le asignó el código CVE-2024-21320 con una puntuación de CVSS de 6,5.

  • La vulnerabilidad puede desencadenar una coacción de autenticación: un ataque en el que se obliga a una víctima a enviar credenciales (normalmente en forma de hashes NTLM a través de SMB) al equipo de un atacante. El atacante puede descifrar las credenciales fuera de línea más adelante.

  • Para aprovechar esta vulnerabilidad, el atacante solo necesita que la víctima descargue un archivo de tema en su equipo. Cuando el usuario vea el archivo en el Explorador, el explorador enviará automáticamente al servidor del atacante los paquetes de protocolo de negociación Server Message Block (SMB) que contienen credenciales.

  • Todas las versiones de Windows se ven afectadas, ya que Temas es una función integrada en el sistema operativo Windows. 

  • Microsoft corrigió esta vulnerabilidad en el Patch Tuesday de enero de 2024.

  • Ofrecemos una prueba de concepto (POC) con un archivo de Tema, así como un vídeo de POC y presentan varias formas de mitigar esta vulnerabilidad.

Introducción

Desde los días de Windows XP, Microsoft ha proporcionado varias opciones de personalización previas listas para usar: colores, fuentes y cursores, por nombrar algunas. Esta personalización es fácil para los usuarios. Pueden ver los temas instalados simplemente haciendo clic con el botón derecho en el escritorio, seleccionando "personalizar" y haciendo clic en "Temas". Los archivos de tema tienen el sufijo .theme y se pueden crear con esta descripción general de MSDN.

Este detalle aparentemente inocuo puede convertirse en el hogar de algunas vulnerabilidades escurridizas. En nuestro análisis del Patch Tuesday de septiembre de 2023, discutimos brevemente el impacto de CVE-2023-38146, una vulnerabilidad dentro de Temas. Al analizar la vulnerabilidad, decidimos "jugar" con los valores de un archivo de Tema y descubrimos que no se validaban determinados parámetros.

Al abusar de esta falta de validación, podemos realizar un ataque con una interacción del usuario prácticamente nula: todo lo que los usuarios deben hacer es descargar un archivo de Temas malicioso. Una vez que el usuario ve el archivo en el Explorador, comienza la vulnerabilidad.

Hemos documentado lo que necesita saber sobre esta vulnerabilidad, incluidas las mitigaciones y una POC. Le invitamos a seguir leyendo.

Cómo funciona

El formato de archivo de Tema consta de varios bloques de parámetros. En esta publicación, hablaremos de dos parámetros: El parámetro BrandImage dentro del bloque [theme] (Figura 1) y el parámetro Wallpaper (Figura 2) dentro del bloque [Control Panel\Desktop] .

 En esta publicación, discutiremos dos parámetros: el parámetro BrandImage dentro del bloque [theme] (Figura 1) y el parámetro Wallpaper (Figura 2) dentro del bloque [Control Panel\Desktop]. Fig. 1: El parámetro BrandImage en un archivo de Tema
 En esta publicación, discutiremos dos parámetros: el parámetro BrandImage dentro del bloque [theme] (Figura 1) y el parámetro Wallpaper (Figura 2) dentro del bloque [Control Panel\Desktop]. Fig. 2: El parámetro Wallpaper de un archivo de Tema

Cada archivo en Windows tiene una miniatura que se supone que corresponde a su función. La miniatura puede ser cualquier cosa, desde el logotipo del producto hasta una representación de su uso (como con Calculadora, por ejemplo). Las miniaturas del archivo de Tema se componen de tres partes: un fondo de pantalla (el cuadrado negro), un archivo MSstyle (el cuadrado morado) y la imagen de marca (la imagen de Infection Monkey; Figura 3).

Las miniaturas de los archivos de Tema se componen de tres partes: un fondo de pantalla (el cuadrado negro), un archivo MSstyle (el cuadrado morado) y la imagen de marca (la imagen de Infection Monkey; Figura 3). Fig. 3: Miniatura de un archivo de Tema con sus tres componentes

Estos componentes se escriben dentro del archivo de Tema en tres parámetros diferentes: BrandImage, Wallpaper y VisualStyle. Todos ellos pueden ser rutas remotas que apunten a terminales UNC.

Cómo se explota

Cuando se crea o visualiza un archivo de Tema, Windows intentará crear la miniatura correcta para él a partir de sus tres componentes. Se iniciará el proceso de creación de miniaturas de modo automático dentro del proceso del Explorador. La figura 4 describe el flujo de código para la creación de miniaturas de un archivo de Tema.

La Figura 4 describe el flujo de código para la creación de miniaturas de un archivo de Tema. Fig. 4: Flujo de código para la creación de miniaturas de Tema

Dado que estas acciones se inician automáticamente, es un lugar excelente para que los atacantes busquen formas de manipular el resultado. Una de las formas en que los atacantes pueden hacerlo es cambiando el valor de cada uno de estos tres parámetros a una ruta UNC que apunte a un servidor controlado por el atacante, con la esperanza de que el equipo de la víctima intente autenticarse en su equipo.

Hemos descubierto que la ruta de la imagen puede ser cualquier ruta legítima, incluida una ruta UNC. Cambiar los valores de "BrandImage" o "Wallpaper" produjo una conexión desde el equipo de la víctima que llevó a un ataque de coacción de autenticación. Es decir, como parte de la conexión con el servidor remoto, el cliente realiza una negociación SMB durante la cual se envían sus credenciales NTLM.

Las consecuencias de una fuga NTLM

Con las credenciales NTLM de una víctima, un atacante puede realizar un ataque de retransmisión NTLM, un ataque a sistemas que aceptan NTLM como credenciales de acceso. Al transmitir los hashes NTLM, un atacante podría autenticarse como un usuario legítimo y, por tanto, obtener acceso a sistemas a los que de otro modo no tendría acceso.

Otra opción es proporcionar las credenciales NTLM como entrada a una aplicación de descifrado de contraseñas, como John the Ripper, para intentar descifrar la contraseña de la víctima mediante la fuerza bruta.

Un ejemplo de lo grande que puede ser el impacto es la infame vulnerabilidad de Outlook, que se reveló inicialmente a Microsoft en marzo de 2023. Se encontró un resultado similar y se ha explotado de forma activa libremente, lo que demuestra que este vector de ataque sigue siendo relevante y lucrativo para los atacantes.

La vulnerabilidad de marzo permitió a un atacante enviar un correo electrónico a la víctima y activar una descarga de archivo de audio. La ruta de acceso a ese archivo de audio podría apuntar a cualquier lugar, incluso a un servidor remoto (mediante una ruta UNC). El investigador de Akamai Ben Barnea escribió extensamente sobre esta vulnerabilidad y cómo encontró varios modos de eludir el parche creado para ella.

A qué se le aplicó el parche

En su revisión, Microsoft agregó una llamada a una función que comprueba si la entrada es una ruta UNC ("PathIsUNC") y un valor de registro para comprobar si se permiten rutas UNC para el uso de archivos de Tema (Figura 6). Si la ruta es una ruta UNC y no se permiten rutas UNC, la miniatura no se cargará. Si se permiten, la miniatura se creará con la imagen de marca y el fondo de pantalla.

El valor "DisableThumbnailOnNetworkFolder" se puede encontrar en la ubicación del registro: "HKCU/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Mitigation". El valor se comprueba en la función recién añadida "IsUNCPathAllowedForThumbnailImage()" dentro de la biblioteca themeui.dll.

En su revisión, Microsoft agregó una llamada a una función que comprueba si la entrada es una ruta UNC ("PathIsUNC") y un valor de registro para comprobar si se permiten rutas UNC para el uso de archivos de Tema (Figura 6). Fig. 6: Flujo de código para nueva comprobación UNC

En su sección de preguntas frecuentes sobre esta vulnerabilidad, Microsoft escribió: "... y, a continuación, convence al usuario de que manipule el archivo especialmente diseñado, pero no al hacer clic ni abrir el archivo malicioso". Según nuestra investigación, esto parece ser incorrecto.   Como ya hemos explicado, no es necesario modificar el contenido del archivo; tan solo su visualización activará el envío de credenciales.

Mitigación

En Windows 11, es posible bloquear el uso de la autenticación NTLM en SMB con equipos remotos mediante políticas de grupo. Para ello, los administradores deberían editar Plantillas administrativas > Red > Estación de trabajo Lanman > Bloquear NTLM.

Microsoft sugirió utilizar otra política denominada "Restringir NTLM" que ayudará a mitigar esta vulnerabilidad. La política se puede activar mediante el Manual de Microsoft.

Mediante la microsegmentación, los administradores de red pueden bloquear el tráfico SMB a ubicaciones remotas fuera de la red. Normalmente no se espera que estas conexiones tengan lugar, ya que SMB se utiliza principalmente para la comunicación con controladores de dominio y servidores de archivos. Consulte nuestra completa entrada de blog sobre microsegmentación para obtener más información sobre la segmentación del tráfico SMB.

Conclusión

Los ataques de coacción de autenticación son bien conocidos y utilizados ampliamente por los atacantes para el movimiento lateral y el Credential Stuffing. Por ejemplo, hace unos años, el grupo llamado Dragonfly utilizó archivos LNK modificados para obtener credenciales a través de SMB. La activación de este tipo de ataque mediante archivos de Tema es un nuevo vector sorprendente.

Esta vulnerabilidad subraya la importancia de un protocolo antiphishing dentro de las organizaciones, ya que los atacantes pueden enviar fácilmente un archivo de aspecto benigno que inicie este ataque.

Nos complace ver que Microsoft intenta mitigar este vector de ataque con la adición de políticas de grupo relevantes. Recomendamos a los defensores que actualicen sus terminales con la última versión del parche de seguridad.

Tiempo de divulgación

  • 20/09/2023: Vulnerabilidad revelada al Centro de respuesta de seguridad de Microsoft (MSRC)

  • 01/10/2023: Más información enviada al MSRC

  • 18/10/2023: El MSRC aceptó que esto requería parches

  • 09/01/2024: Microsoft publica un parche para estas vulnerabilidades

  • 06/03/2024: Publicación de la entrada del blog de Akamai



Tomer Peled

escrito por

Tomer Peled

March 06, 2024

Tomer Peled

escrito por

Tomer Peled

Tomer Peled es investigador de seguridad en Akamai. En su trabajo diario, lleva a cabo investigaciones que incluyen desde las vulnerabilidades hasta los aspectos internos del sistema operativo. En su tiempo libre, le gusta cocinar, practicar krav magá y jugar en su PC.