El pasado 14 de marzo de 2023, Microsoft publicó un parche de seguridad que corregía la vulnerabilidad CVE-2023-23397. Esta vulnerabilidad crítica (CVSS de 9.8) permitía al atacante elevar privilegios en los sistemas Windows mediante un exploit “zero click”, es decir, sin que el usuario tuviera que interactuar para activarlo.
El CVE-2023-23397 permitía al atacante enviar un correo electrónico con contenido malicioso a través de Outlook a una víctima, haciendo que esta se conectase automáticamente a una ruta UNC bajo el control del atacante y recibir el hash NTLM de la contraseña de la víctima, el cual permitiría poder autenticarse en un sistema y elevar privilegios.
Antes de continuar con la vulnerabilidad, vamos a explicar rápidamente que es un hash NTLM y por qué es tan importante.
NTLM (NT LAN Manager) consiste en un conjunto de protocolos de autenticación que permite a los ordenadores y servidores verificarse entre sí. Básicamente, un hash NTLM es el formato criptográfico en el que se almacenan las contraseñas de usuario en sistemas Windows.
Este protocolo se realiza mediante un procedimiento de desafío/respuesta para llevar a cabo la autenticación del cliente y el servidor. Los pasos que se realizan son:
1. El cliente realiza una solicitud de autenticación a un servidor para un recurso al que desea acceder.
2. El servidor envía un desafío al cliente, por lo que este deberá cifrar el desafío utilizando el hash de su contraseña.
3. El cliente envía la respuesta encriptada al servidor, el cual contactará con el controlador de dominio para verificar si el encriptado es el correcto.
4. Si la respuesta es válida, el servidor autentica al usuario y le permite el acceso. Si la respuesta falla, el servidor rechazará la autenticación y le solicitará nuevas credenciales.
Demostración
A continuación, vamos a demostrar cómo se explotaba esta vulnerabilidad y, para ello, usaremos la máquina “Outlook NTLM Leak” de TryHackMe.
En primer lugar, crearemos un “responder” en nuestra máquina local, el cual nos permitirá escuchar los intentos de autenticación.
Una vez el responder está activado, deberemos crear una cita en el calendario de Outlook, la cual llevará la carga maliciosa con la que obtendremos el hash NTLM.
Para que esta cita sea útil, tendremos que establecer un recordatorio en 0 minutos, para que la cita le salte automáticamente a la víctima en el momento en que se envíe.
Con el recordatorio establecido a los 0 minutos, utilizaremos la extensión “OutlookSpy”, la cual nos permite poder editar los parámetros internos de Outlook. Una vez abierta, configuraremos el parámetro “ReminderSoundFile” y para ello nos iremos al apartado “script”.
Cuando estemos dentro de este apartado, cambiaremos los parámetros que vemos a continuación. Estos parámetros son:
– ReminderOverrideDefault: valor que indica que el sonido que se reproducirá será el que se indique en ReminderSoundFile.
– ReminderPlaySound: indica si se reproduce un sonido al ejecutarse el recordatorio.
– ReminderSoundFile: cadena donde introduciremos el exploit que apunta al responder que tenemos activado en nuestra máquina atacante.
Una vez lo tengamos, comprobamos que se han guardado correctamente los cambios.
Y guardamos el archivo.
En el momento que le damos a guardar, nos saltará instantáneamente el recordatorio como establecimos anteriormente.
Y en el momento que nos salta este recordatorio, vemos que nuestro responder ha pillado el NTLM de la víctima.
Hasta aquí hemos llegado con el análisis. Esperamos que os haya gustado y os vemos en la próxima entrega de FluProject.