微软Outlook中#MonikerLink漏洞的风险和大局观
内容提要
Check Point Research发布了一份名为《明显的、一般的和高级的:Outlook攻击向量的综合分析》的白皮书,详细介绍了Outlook上的各种攻击向量。研究人员发现Outlook在处理特定超链接时存在安全问题,可能导致泄漏本地NTLM凭据信息和远程代码执行。该漏洞可能存在于其他软件中。建议用户尽快应用官方补丁。
延伸解读
漏洞机制:特殊字符绕过安全限制
Outlook在处理超链接时,对以“file://”开头的链接会弹出警告并阻止访问远程文件。但研究人员发现,在文件路径末尾添加“!”和随机字符(如“test.rtf!something”)后,Outlook会将其解析为Moniker Link,从而绕过安全限制,直接访问远程资源。这一机制源于Outlook调用MkParseDisplayName API解析复合名字,导致本地NTLM凭据泄露,甚至可能触发远程代码执行。
攻击链简化:单击即可绕过保护视图
与传统攻击向量相比,#MonikerLink显著降低了攻击复杂度。传统方式需诱使用户双击附件并单击退出保护视图,用户交互得分高达2.2;而利用#MonikerLink,用户只需单击一次链接,且能绕过Office保护视图,得分仅为1.0。这意味着攻击者更容易得手,对用户安全构成更严重威胁。
影响范围:可能波及所有使用不安全API的软件
该漏洞根源在于MkParseDisplayName/MkParseDisplayNameEx API被不安全地使用。微软文档早已警告解析攻击者控制的输入存在风险。因此,除Outlook外,其他调用该API的软件也可能受影响,形成类似Log4j的广泛攻击面。安全社区和开发者应检查自身软件,使用“file:///\\ip\test\test.rtf!”格式测试,并关注API使用安全。
修复与防御:及时打补丁并监控异常
微软已在2024年2月补丁星期二发布CVE-2024-21413,CVSS评分9.8,修复了该漏洞。用户应尽快应用官方补丁。此外,组织应监控出站SMB流量,限制不必要的445端口通信,以降低NTLM凭据泄露风险。开发人员应避免使用不安全的API解析不可信输入,安全团队可主动测试类似攻击向量,防患于未然。
Q&A
什么是#MonikerLink漏洞?
#MonikerLink漏洞是Outlook处理特定超链接时存在的安全问题,攻击者通过构造包含感叹号(!)的file://协议链接,可以绕过Outlook的安全限制,导致本地NTLM凭据泄露和远程代码执行。
#MonikerLink漏洞是如何导致远程代码执行的?
当用户点击特制链接时,Outlook调用MkParseDisplayName() API解析Moniker Link,触发COM服务器(如Word)在后台打开远程文件。如果文件包含恶意代码,可在Word进程中执行任意代码,且绕过Protected View。
如何防御#MonikerLink漏洞?
微软已在2024年2月补丁星期二发布安全更新(CVE-2024-21413),强烈建议所有Outlook用户尽快应用官方补丁。此外,开发人员应避免不安全地使用MkParseDisplayName/MkParseDisplayNameEx API。
#MonikerLink漏洞与其他Outlook攻击向量相比有何优势?
传统攻击向量需要用户双击附件并单击退出Protected View,用户交互得分2.2;而#MonikerLink只需单击一次链接,且绕过Protected View,得分仅1.0,对攻击者更有利,对用户更危险。
#MonikerLink漏洞会影响Outlook以外的软件吗?
是的,该漏洞源于不安全使用MkParseDisplayName/MkParseDisplayNameEx API,可能影响其他以不安全方式使用该API的软件,类似log4j对Java生态的影响,但影响的是Windows/COM生态系统。
安全工程师如何测试软件是否存在#MonikerLink漏洞?
可以将格式为“file:///\\ip\test\test.rtf!”的超链接放入目标软件处理的输入中,监控软件行为,观察是否触发远程文件访问或凭据泄露。