ZDI-CAN-25373:Windows快捷方式漏洞被广泛APT活动作为零日利用
趋势零日倡议™(ZDI)威胁狩猎团队发现ZDI-CAN-25373(又名ZDI-25-148)存在大量利用实例,可追溯到2017年的各种活动。我们的分析显示,来自朝鲜、伊朗、俄罗斯和中国的11个国家支持的团体在主要出于网络间谍和数据盗窃动机的操作中使用了ZDI-CAN-25373。
我们发现近千个利用ZDI-CAN-25373的Shell Link(.lnk)样本;然而,利用尝试的总数可能要高得多。随后,我们通过Trend ZDI的漏洞赏金计划向微软提交了概念验证漏洞利用,微软拒绝用安全补丁解决此漏洞。
国家支持的APT组织利用ZDI-CAN-25373进行间谍和数据盗窃
在跟踪ZDI-CAN-25373的利用过程中,我们发现多个威胁行为者和APT组织广泛滥用此漏洞。这些威胁包括国家支持和非国家支持的APT组织。许多组织在其攻击链中表现出高度复杂性,并有在野外滥用零日漏洞的历史。
图1中的样本已高度可信地归因于APT组织。Trend ZDI威胁狩猎团队发现了数百个额外样本,目前无法自信归因,但仍在野外利用了ZDI-CAN-25373。
图2突出了按原产国利用ZDI-CAN-25373作为其攻击链一部分的APT组织数量。这些APT组织包括国家支持、国家附属和网络犯罪组织的混合。我们在图3中分离了这些已知原产国的国家支持APT组织。
近一半利用ZDI-CAN-25373的国家支持威胁行为者据报道源自朝鲜。值得注意的是,朝鲜的绝大多数入侵集在不同时期都针对了ZDI-CAN-25373。这一观察强调了朝鲜网络计划内不同威胁团体之间的交叉协作、技术和工具共享趋势。
在我们分析利用ZDI-CAN-25373的活动及其相关入侵集时,我们发现近70%主要专注于间谍和信息盗窃(图4)。相比之下,超过20%旨在实现财务收益。在某些情况下,主要动机为间谍的威胁行为者可能通过财务动机的活动资助其间谍努力。
目标行业和风险
在与ZDI-CAN-25373相关的活动及其我们监控的相应入侵集中,我们发现了大量遥测数据,表明各种国家支持和网络犯罪威胁行为者一直在针对多个行业(图5)。
在我们分析ZDI-CAN-25373的利用情况时,我们确定了以下特别面临定向攻击风险的行业:
- 政府
- 私营部门
- 金融,包括加密货币相关
- 智库,包括非政府组织(NGO)
- 电信
- 军事和国防
- 能源
属于这些行业的组织面临更高的利用风险,应立即扫描并确保ZDI-CAN-25373的安全缓解措施,并对.lnk文件保持警惕。此外,鼓励组织调查可能使用ZDI-CAN-25373作为入侵载体的系统潜在泄露或尝试泄露。
探索恶意软件负载
在我们跟踪的利用ZDI-CAN-25373的.lnk文件和活动中,我们能够恢复一些恶意软件负载或通过趋势科技威胁遥测关联它们。这突出了在利用ZDI-CAN-25373的活动中各种恶意软件负载和加载器的多样化使用。
在图6中,对于显示在“恶意软件即服务”(MaaS)下的样本,我们无法恢复使用的特定恶意软件负载,但观察到的源域通常提供MaaS和商品恶意软件负载。“PoC”行表示检索到的概念验证样本。这些可能在攻击链开发生命周期中使用。我们在跟踪这些入侵集和恶意软件时发现了一个有趣的观察结果,即Water Asena(Evil Corp)在其Raspberry Robin活动中一直在利用ZDI-CAN-25373。
受害者分析
在我们分析的样本中,大多数来自北美,包括美国和加拿大。然而,由于利用ZDI-CAN-25373的APT组织数量众多,受害者分析范围更广,还影响欧洲、亚洲、南美、非洲和澳大利亚(图7)。
当放置在地图上如图8所示时,我们可以看到ZDI-CAN-25373的利用是广泛的,重点在北美、南美、欧洲、东亚和澳大利亚。需要注意的是,影响范围可能更大,因为图8仅显示Trend ZDI威胁狩猎团队能够恢复的样本。
技术细节
ZDI-CAN-25373涉及Windows通过UI显示快捷方式(.lnk)文件内容的方式。通过利用此漏洞,攻击者可以准备恶意.lnk文件交付给受害者。在使用Windows提供的用户界面检查文件时,受害者将无法判断文件包含任何恶意内容。以下部分进一步解释了该漏洞。
MS-SHLLINK(.lnk)文件格式
Windows快捷方式文件,也称为Shell Link文件(.lnk),是Windows操作系统使用的一种二进制文件类型,用作文件、文件夹或应用程序的快捷方式。这种文件类型在威胁行为者中很受欢迎,因为命令行参数可以嵌入.lnk文件的目标字段中,这可能导致在受害者机器上执行代码。本节将涵盖Windows快捷方式(MS-SHLLINK)二进制格式的基础知识,因为它们与理解ZDI-CAN-25373的利用相关。
ShellLinkHeader
每个.lnk文件都以ShellLinkHeader结构开始。在ShellLinkHeader中,有两个在每个.lnk文件中包含相同值的强制字段(表1)。这些是HeaderSize和LinkCLSID字段(图9)。这两个字段可以用作魔术字节来确定文件是否是.lnk文件。
| 字段 | 值 |
|---|---|
| HeaderSize(4字节,偏移0x0000) | 0x0000004C |
| LinkCLSID(16字节,偏移0x0004) | 00021401-0000-0000-C000-000000000046 |
表1. ShellLinkHeader结构中的强制字段
LinkFlags
LinkFlags结构出现在HeaderSize和LinkCLSID之后。它包含指定.lnk文件中额外存在哪些结构的标志。特别重要的是HasArguments标志。当设置此标志时,.lnk将包含一个COMMAND_LINE_ARGUMENTS结构(图10)。作为.lnk二进制格式的一部分,额外的COMMAND_LINE_ARGUMENTS可以传递给.lnk文件的目标。在恶意.lnk文件中,这些可能是通过cmd.exe、powershell.exe或其他LOLbin二进制文件下载和安装恶意负载的额外命令行参数。这通常被在其攻击链中使用.lnk文件的威胁行为者滥用,并存在于ZDI-CAN-25373的利用中。
LinkTargetIDList
此结构包含.lnk文件的目标,如图11所示。当使用此结构时,HasLinkTargetIDList标志将在LinkFlags部分设置。
COMMAND_LINE_ARGUMENTS
当在LinksFlags结构中设置HasArguments标志时,将存在COMMAND_LINE_ARGUMENTS结构。此结构存储激活快捷方式时将传递给指定目标的命令行参数(图12)。这通常在基于.lnk文件的攻击中用于代码执行。
ICON_LOCATION
威胁行为者通常还滥用ICON_LOCATION结构来控制.lnk文件显示的图标,如图13所示。
在利用.lnk文件的攻击活动中,威胁行为者通常会更改图标以混淆和诱使受害者执行快捷方式。由于Windows总是抑制显示.lnk扩展名,威胁行为者通常会添加“欺骗”扩展名,如.pdf.lnk以及匹配的图标以进一步欺骗用户。.lnk文件通常在图标的左下侧有一个箭头。
漏洞详情
为了利用ZDI-CAN-25373,威胁行为者精心制作了在COMMAND_LINE_ARGUMENTS结构内填充空白字符的.lnk文件(表2)。
| 十六进制值 | 输出 |
|---|---|
| \x20 | 空格 |
| \x09 | 水平制表符 |
| \x0A | 换行 |
| \x0B | 垂直制表符 |
| \x0C | 换页 |
| \x0D | 回车 |
表2. 用于利用ZDI-CAN-25373的空白字符
如果用户检查包含此恶意填充的.lnk文件,Windows将无法在用户界面的分配空间中显示恶意参数(图14)。此漏洞利用的影响是,将由.lnk文件执行的命令行参数完全对用户隐藏。
为了检查利用ZDI-CAN-25373的样本的目标字段和COMMAND_LINE_ARGUMENTS结构的内容,需要第三方工具。
当使用十六进制编辑器查看样本时,可以观察到COMMAND_LINE_ARGUMENTS结构内大量空格(\x20)字符(图16)。
我们在威胁行为者用换行(\x0A)和回车(\x0D)字符填充COMMAND_LINE_ARGUMENTS的情况下发现了一个有趣的观察结果。在这种情况下,当检查.lnk文件的属性时,目标字段中只显示一个可高亮字符(图17)。
在我们的分析过程中,我们发现一些朝鲜威胁行为者,如Earth Manticore(APT37)和Earth Imp(Konni),倾向于使用极大的.lnk文件,其中包含大量空白和其他垃圾内容以进一步逃避检测。Earth Imp使用的文件大小中位数为3.32MB,最大文件大小为70.1MB。Earth Manticore使用的文件大小中位数为33.33MB,最大文件大小为55.16MB。
ZDI-CAN-25373是用户界面(UI)关键信息错误表示(CWE-451)的一个例子。这意味着Windows UI未能向用户呈现关键信息。与我们之前的发现类似,这是未能正确向用户表示安全关键信息的失败。通过利用ZDI-CAN-25373,威胁行为者可以防止最终用户查看与评估文件风险级别相关的关键信息(正在执行的命令)。
结论
源自民族国家以及复杂网络犯罪分子的APT构成的威胁对全球政府、关键基础设施和私营组织维护的数据的机密性、完整性和可用性构成重大风险。在利用ZDI-CAN-25373的11个国家支持的APT组织中,大多数有在野外攻击中利用零日漏洞的记录。这些漏洞带来重大风险,因为它们针对软件供应商未知且缺乏相应安全补丁的缺陷,从而使政府和组织容易受到利用。随着地缘政治紧张和冲突升级,威胁行为者的复杂性和零日漏洞的利用预计将增加,因为民族国家和网络犯罪分子都努力获得对其对手的竞争优势。零日利用的日益普遍需要实施全面的安全解决方案,以有效保护关键资产和行业。此漏洞通过Trend ZDI的漏洞赏金计划披露给微软;微软将其分类为低严重性,并且不会在近期修补。
为了使软件更安全并保护客户免受零日攻击,Trend ZDI与安全研究人员和供应商合作,在APT组织可以在攻击中部署之前修补和负责任地披露软件漏洞。Trend ZDI威胁狩猎团队还主动狩猎野外的零日攻击以保护行业。
趋势Vision One™的主动安全
组织可以通过Trend Vision One™保护自己免受APT组织等攻击——这是唯一一个集中网络风险暴露管理、安全操作和强大分层保护的AI驱动企业网络安全平台。这种全面方法帮助您预测和预防威胁,加速整个数字资产的主动安全结果。凭借数十年的网络安全领导力和Trend Cybertron,行业首个主动网络安全AI,它提供了经过验证的结果:勒索软件风险降低92%,检测时间减少99%。安全领导者可以基准化其态势并向利益相关者展示持续改进。借助Trend Vision One,您能够消除安全盲点,专注于最重要的事情,并将安全提升为创新的战略合作伙伴。
当面临不确定的入侵、行为和例程时,组织应假设其系统已经受损或泄露,并立即隔离受影响的数据或工具链。凭借更广泛的视角和快速响应,组织可以处理泄露并保护其剩余系统,特别是借助强大的端点