Todo lo que sabemos sobre CVE-2023-23397

Huntress ha estado monitoreando CVE-2023-23397, una vulnerabilidad crítica/día cero que afecta a Microsoft Outlook. A diferencia de otros exploits que hemos visto en el pasado, este exploit es particularmente peligroso porque no se necesita ninguna interacción del usuario para activarlo. Una vez que un correo infectado llega a una bandeja de entrada de Microsoft Outlook, se pueden obtener hashes de credenciales sensibles.

El martes de parches, Microsoft lanzó un parche para solucionar la vulnerabilidad, así que recomendamos aplicar el parche de inmediato para proteger tu entorno de este peligroso exploit. Todas las versiones compatibles de Microsoft Outlook para Windows están afectadas, incluido el Outlook instalado localmente desde Microsoft 365. Otras versiones de Microsoft Outlook, como las de Android, iOS, Mac, así como Outlook en la web y otros servicios de Microsoft 365 en la web, no se ven afectadas.

***

ACTUALIZACIÓN 21/03/2023 11:34 a. m. hora del Este: Se aclaró el texto inicial sobre las versiones de software afectadas. Consulta la publicación de Microsoft MSRC para obtener información detallada sobre los parches disponibles.

ACTUALIZACIÓN 20/03/2023 4:47 p. m. hora del Este: Según señaló John Hammond y la validación externa de Will Dormann, al menos en nuestras pruebas, desactivar la configuración de "Mostrar recordatorios" en Outlook evita la filtración de credenciales NTLM. Gracias especiales a Tony Francisco de MSP Media Network por hacer la pregunta "¿qué pasaría si...?".

ACTUALIZACIÓN 17/03/2023 1:16 p. m. hora del Este: Para aclarar, la vulnerabilidad CVE-2023-23397 depende de qué aplicación utiliza el usuario para revisar su correo (es decir, Outlook.exe); no importa dónde esté alojado el correo. Consulta el aviso oficial de Microsoft para conocer la lista de actualizaciones de seguridad que deben instalarse en los sistemas de los usuarios finales.

ACTUALIZACIÓN 17/03/2023 11:12 a. m. hora del Este: Los investigadores de seguridad Will Dormann y Dominic Chell informaron que esta vulnerabilidad todavía se puede usar como método de escalada de privilegios incluso después de aplicar el parche, pero el adversario debe activarla mediante un nombre de equipo local en la red.

Qué hace

Los actores de amenazas están explotando esta vulnerabilidad al enviar un correo malicioso, que, de nuevo, no necesita abrirse. A partir de ahí, los atacantes capturan hashes Net-NTLMv2, que permiten la autenticación en entornos Windows. Esto permite a los actores de amenazas autenticarse potencialmente como las víctimas, escalar privilegios o comprometer aún más el entorno.

Qué deberías hacer tú

A riesgo de sonar repetitivo, aplica el parche. Este martes pasado, Microsoft lanzó un parche que mitiga la vulnerabilidad, así que es fundamental que actualices tus sistemas.

Cronología

La cadena de ataque

La descripción general de alto nivel para explotar CVE-2023-23397 es la siguiente:

  • Un actor de amenazas crea una invitación o cita de calendario maliciosa
  • Se configuran propiedades MAPI adicionales en el archivo personalizado .MSG para activar la explotación
  • La invitación de calendario se envía por correo electrónico a la víctima
  • La ejecución se activa mediante el sonido de la "notificación de recordatorio" de la reunión o evento propuesto
  • Se realizan conexiones SMB y autenticación NTLM contra el equipo remoto especificado

Microsoft ha publicado un script de PowerShell para ayudar a buscar y descubrir, dentro de los entornos, elementos de correo que tengan estas propiedades presentes.

Se puede crear una invitación de cita de calendario maliciosa con dos propiedades adicionales de Message Application Program Interface (MAPI),

  1. PidLidReminderFileParameter
  2. PidLidReminderOverride

PidLidReminderFileParameter es un valor de cadena que especifica el nombre de archivo de un archivo .WAV o de audio, que se reproduce como el tono y sonido de notificación de recordatorio cuando una reunión ya pasó o un evento está atrasado. Configurado como un recurso remoto a través de una ruta UNC, el objetivo puede acceder a esta ubicación y desencadenar la autenticación NTLM, filtrando finalmente los hashes sensibles de las credenciales de un usuario.

PidLidReminderOverride es un valor booleano que simplemente fuerza el uso del parámetro de archivo especificado. Configurado con el valor true, el actor puede asegurarse de que este archivo se use.

Tal como se describe en la publicación de blog de Dominic Chell y como sugiere la publicación de Twitter de HackingLZ, estas propiedades se pueden agregar y crear fácilmente usando la librería MsgKit (con ligeras modificaciones) en C# y .NET framework. Esto puede generar un archivo .MSG para una cita de calendario que se puede hacer clic para agregar al calendario de un usuario, adjuntar en un correo electrónico, o enviar de forma natural dentro de Outlook.

En Huntress, el investigador de seguridad John Hammond pudo armar una prueba de concepto rudimentaria. Con fines de demostración, esto muestra la recepción de un correo electrónico, el proceso manual de agregar la invitación de la cita al calendario, con una notificación de recordatorio de "0 minutos" para que la ventana emergente se active de inmediato, y así se capturan los hashes.

Ten en cuenta que los archivos .MSG pueden enviarse como un correo electrónico independiente, y los pasos manuales que se muestran a continuación se pueden omitir.

Con esta prueba de concepto, pudimos realizar una investigación adicional para determinar oportunidades de detección, hacer análisis de memoria, y más.

Cabe señalar que estos hashes NTLM descubiertos pueden ser utilizados por un actor de amenazas en ataques pass-the-hash, intentos sin conexión para descifrar los hashes, o explotación posterior adicional. Como ejemplo, mira esta breve demostración de cómo descifrar los hashes con John the Ripper:

Esfuerzos de detección

Al observar la cadena de ataque, descubrimos y validamos los mismos indicadores y artefactos que vio ACE Responder.

Puedes descargar nuestros registros de ProcMon observados, tanto filtrados solo por eventos de proceso como con todas las señales, aquí.

Cuando se entrega una invitación de calendario maliciosa y se activa la notificación de recordatorio:

  • svchost.exe genera un proceso hijo rundll32.exe
  • rundll32.exe C:\Windows\system32\davclnt.dll,DavSetCookie [REMOTE-HOST] http://[REMOTE-HOST]/[SUPPLIED-SHARE]/

Por supuesto, el marcador de posición "REMOTE-HOST" puede ser una dirección IP, un nombre de equipo remoto o un nombre de dominio completamente calificado. Lo mismo ocurre con el marcador "SUPPLIED-SHARE", ya que puede ser cualquier destino elegido.

El sistema envía múltiples solicitudes SMB al equipo remoto proporcionado dentro de la ruta UNC (realizando así la autenticación NTLM). Sin embargo, observamos que varios de los procesos svchost.exe y los rundll32.exe hijos mencionados a veces se crean solo cuando se encuentra un servicio WebDAV válido y no un servicio SMB válido. Cuando sí se generan los procesos rundll32.exe, solo se invocan unos pocos (de dos a tres).

Para demostrar esto, observa el siguiente disparo manual del exploit de CVE-2023-23397, con Responder en ejecución y pocos procesos rundll32.exe iniciados.

Sin embargo, observa este ejemplo posterior de Responder, justo después de la demostración anterior, donde los indicadores de rundll32.exe ya no están presentes.

Cuando no usamos Responder y no hay un servidor SMB presente, sino solo un servidor WebDAV (un simple wsgidav para pruebas), se observan artefactos rundll32.exe consistentes y múltiples. Por supuesto, esto significa que no se observan hashes NTLM, ya que no hay un servidor SMB que los capture, y sin esa respuesta, se producen emparejamientos frecuentes y repetidos de svchost.exe y rundll32.exe.

De cualquier forma, un primer intento de explotación nuevo siempre invocará al menos algunos procesos svchost.exe y rundll32.exe con los cuales trabajar. Ten en cuenta que, muchas veces, los últimos o los dos últimos argumentos de línea de comandos del proceso rundll32.exe (mostrados de nuevo abajo) agregarán una extensión de archivo .WAV al final de la URL de WebDAV.

rundll32.exe C:\Windows\system32\davclnt.dll,DavSetCookie [REMOTE-HOST]
http://[REMOTE-HOST]/[SUPPLIED-SHARE]/.WAV

Recuerda que esta técnica de ataque abusa del sonido de la notificación de recordatorio para un evento próximo o pasado. Dado que el exploit obliga a la aplicación a recuperar un archivo de sonido, tiene sentido que intente agregar una extensión de archivo y buscar un archivo de sonido WAVE legítimo.

Correlacionar estos eventos de proceso específicos con la secuencia anterior puede generar un indicador de alta fidelidad.

Con nuestra capacidad de EDR, Huntress puede detectar esta actividad exitosamente.

Otras mitigaciones

El aviso de seguridad de Microsoft sugiere agregar usuarios al Protected Users Security Group, lo que impide el uso de NTLM como mecanismo de autenticación. Sin embargo, esto puede causar problemas no deseados con otras aplicaciones y se recomienda solo como una mitigación temporal.

Además, puedes bloquear el tráfico saliente de TCP 445/SMB desde el borde de tu red o los firewalls locales, para que la autenticación NTLM no pueda llegar a recursos compartidos de archivos externos. Esta es otra sugerencia que debe tomarse con mucha consideración para tu propio entorno.

La mejor opción es aplicar parches con las actualizaciones de seguridad más recientes presentadas en el último Patch Tuesday.

Recursos

También te podría interesar