从黑洞2002到图片木马
网络与通信
黑洞是国内著名的木马程序,据说正在开发中的黑洞2002将具备服务端程序,可以直接生成一个HTM文件,别人只要浏览这个HTM文件后即会中招。对于浏览网页就会中木马的事,相信大家也都听说过,大都是利用ActiveX漏洞来运行木马服务端程序,现在已经有很多杀毒软件可以对付这类攻击。然而黑洞2002所采用的网页木马却是一个完全不同的概念,它采用的是最新的图片木马技术,也就是说并不直接下载任何可执行程序即被感染,因此防范起来更是难上加难。
笔者从黑洞木马作者专门为某网站开发的黑洞×××网专版中看到了这种图片木马技术,在这个版本的黑洞中,你可以在生成服务端程序时选择生成HTM文件((图1))。生成后的HTM服务端程序里并没有任何的可执行程序,只有三个文件:Server.bmp、Server.htm和Server.js((图2)),从这三个文件表面无法想像它竟然隐藏着木马服务端程序! 黑客们只要把这三个文件放在自己的主页空间中,让用户浏览Server.htm文件后,用户经过两次重启系统后服务端程序就会自动安装并在系统中运行了。


一、图片木马原理
首先我们看看图片木马的实现流程。
先将EXE文件转换成24位真彩的BMP图像,然后把图片嵌入到网页中,当用户浏览该网页时,这个BMP图像文件就会被自动下载到本地浏览器缓存目录中。由于在网页中加入了一段VBS代码,通过代码可找到这个BMP文件,并调用Debug.exe程序将BMP文件转换成EXE并执行它。
可能你会问,怎么能将EXE文件转换成24位真彩的BMP图像呢?这同样也是利用了系统的漏洞,只要将EXE文件的文件头信息进行更改就可以欺骗Windows,使其误认为是BMP图像文件。
图片木马实现的关键在于VBS代码(出于安全考虑,这里不给出代码)。它的作用是在注册表启动项里加入一个新的键值,该键值调用VBS在IE的历史记录中查找上面那个已经被下载的BMP文件,然后调用Debug程序将这个BMP文件还原成EXE文件,然后又在注册表的“Run”中加入这个新的EXE文件作为开机启动文件,这样在下次开机时,这个程序就会运行。这就是需要经过两次重新启动才能安装完毕的秘密。
二、防范办法
从上面的实现原理中我们也可以看出,要防范图片木马的攻击可以从两个途径入手:
1.禁止VBS脚本执行
我们知道,VBS脚本代码是通过WSH(Windows Script Host)来解释执行的,通过将WSH删除,就可以全面禁止VBS脚本代码的执行,而且对于大多数的用户来说,WSH并没有什么用处,删除WSH并不会对系统正常运行造成影响。
在Win9X中(注:图片木马暂时只对Win9X系统起作用)WSH是默认安装选项。卸载方法是打开“控制面板→添加/删除程序→Windows安装程序”标签,选择“附件”,再单击“详细资料”,去掉“Windows Scripting Host”选项前的复选标记即可((图3))。

2.禁用Debug命令
Debug是一个DOS命令,主要功能是用于调试和编辑EXE可执行文件,也是一个极易被利用的DOS命令。Debug的程序文件位于C:\Windows\Command目录下,我们只要将它改名即可达到禁止非法调用的目的,不过对于普通用户来说,这个命令并没有太大的实际用途,删除也无妨。