首先明确,网页木马实际上是一个HTML网页,与其它网页不同的是该网页是黑客精心制作的,用户一旦访问了该网页就会中木马。为什么说是黑客精心制作的呢?因为嵌入在这个网页中的脚本恰如其分地利用了IE浏览器的漏洞,让IE在后台自动下载黑客放置在网络上的木马并运行(安装)这个木马,也就是说,这个网页能下载木马到本地并运行(安装)下载到本地电脑上的木马,整个过程都在后台运行,用户一旦打开这个网页,下载过程和运行(安装)过程就自动开始。
有朋友会说,打开一个网页,IE浏览器真的能自动下载程序和运行程序吗?如果IE真的能肆无忌惮地任意下载和运行程序,那天下还不大乱。实际上,为了安全,IE浏览器是禁止自动下载程序特别是运行程序的,但是,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”。以后用到这个控件的时候你使用这个名称就可以正常调用此控件了。