手工清除“灰鸽子”病毒一例
日期:2006-12-23 荐:
这天上午我到了实验室,打开电脑上网看到一个“免费电话全球打”,当即就下载了,解压运行其中的EXE文件。要知道,我的操作系统是Win2000,已经打上了各种安全补丁,并且KV杀毒软件也设置了实时监控的。 当我运行那个文件时,KV杀毒软件就弹出了告警窗口(图1 )
◎木马被隔离 为什么到这时才发现呢?因为这种木马采用了“组装合成法”,就是把一个合法的程序和一个木马绑定,当运行合法程序时,木马就自动加载,同时,由于绑定后木马的代码发生了变化,根据特征码扫描的杀毒软件是很难查出来的。这也就是我中招的原因。 一波三折 中了木马,就要想办法清除它。这个木马已被KV“禁用”,无法与远程的木马客户端进行通信。单从这个角度讲,如果不去管它,也无大碍。可每次启动电脑KV就报告,让人整天提心吊胆,并且我的Maxthon浏览器每次关闭网页窗口,都要弹出“error”提示,这种情况以前从未发生过,显然是这个木马搞的鬼! 怎么办呢?因为是实验室的电脑,光驱和软驱被拆掉了,不支持U盘启动,也没有做过Ghost备份,所以既进入不了DOS,也无法用Ghost备份来恢复。我决定先试试在Win2000中能否用KV将木马清除掉,可当KV查到Wi erverhook.dll时,电脑就自动关机重启了,而且启动后要蓝屏查硬盘!随后通过多次试验发现,用KV2004去查,不论是杀毒状态、查毒状态还是询问状态,只要一查到wi erverHook.Dll这个文件,电脑就立刻重启。而且也无法复制、剪切、删除和修改wi erverHook.Dll这个文件。这使我愈发相信,wi erverHook.Dll是个重要的、开机就要调入内存的系统动态链接库(后来的事实证明,这是这个木马最容易让人上当之处!)。 此后,我检查了注册表和几个重要的系统文件。传统的木马会在注册表里或Win.ini、System.ini文件里留下某些痕迹,例如在注册表的HKEY_LOCAL_MACHINE \Software\Microsoft\Windows\CurrentVersio \Run中加上可疑的键值。检查结果令人失望,在整个注册表里都搜索不到任何有关“huigezi”这个键值,“wi erver”这个字符串在注册表中可以找到,但我认为它是系统DLL,也不敢对它下手。 柳暗花明 到此为止我认识到这种木马不简单,很可能是采用了DLL动态链接库技术和反弹端口技术。还好被KV及时发现并禁用。它的反弹端口是Game over了,可毕竟它已成功地安装,它的DLL动态链接库技术就使我难以把它清除掉。 小知识:DLL动态链接库技术 DLL动态链接库技术是用木马DLL修改或替换常用的系统DLL文件。这样做能在进程查看器中隐形,而且能随系统DLL一起开机后自动启动调入内存运行,难以被发现。即便被发现,也对企图查杀它的行为起到吓阻作用,因为查杀它就可能伤害到系统文件,就要冒整个系统崩溃的危险! 小知识:反弹端口型木马 反弹端口型木马是针对防火墙对于连入的链接会进行非常严格的过滤,但是对于连出的链接却疏于防范这一特点进行渗透的。与一般木马相反,它是用安装在被控制电脑内部的服务端去主动连接木马的客户端,而且用的是合法端口,把数据包含在像HTTP或FTP的报文中。采用这种技术的木马,一旦被它成功地安装运行,那中招电脑的防火墙简直就是形同虚设了。 我尝试进入Win2000的安全模式,在安全模式中系统只加载一些最基本的系统程序,说不定不会加载wi erverHook.Dll这个文件呢。重启按“F8”键进入安全模式,一试果然如此!可以任意对wi erverHook.Dll这个文件进行删除、剪切等操作,说明系统并没有加载它进内存!我立刻把它复制到D盘做个备份,万一在清除它所中的木马时出现什么问题就D盘的备份进行恢复。然后运行KV来清除木马,这次顺利地清除了,简直是一帆风顺。我重启电脑进入正常模式了,但是KV2004又弹出了那个阴魂不散的窗口! 为什么重启电脑后它又死而复生呢?我决定换种方式,从别的Win2000系统中Copy一个wi erverHook.Dll。但我却惊讶地发现,别人的Win2000系统中竟然没有这个文件! 大功告成 在正常的Win2000系统中找不到wi erverHook.Dll文件,就说明这个文件很可能是木马伪造的DLL文件!那它为什么不采用修改真正的系统DLL文件的方式呢?这是因为在Win2000的System32下的dllcache子目录里存放着大量的DLL文件,一旦操作系统发现受保护的DLL文件被修改,它就会自动从dllcache中复制还原该文件。 至此,似乎已找到彻底解决的办法了,就是在安全模式下将wi erverHook.Dll文件删除。但还有两个疑点:第一,wi erverHook.Dll既然不是系统DLL,那它是如何伪装成能开机便自动调入内存运行的系统DLL的呢?第二,刚才明明在安全模式下杀除了木马,为什么重新启动电脑后它又死而复生了呢? 第一点说明灰鸽子在注册表中做了手脚。前面发现了有关“wi erver”的键值吗?只是当初认为是正常的系统键值,现在可以肯定它是木马搞的鬼了。第二点说明木马在系统中除了生成wi erverHook.Dll这个文件外,很可能还生成了其他的帮凶!这些帮凶文件本身不含木马代码(这样就不会被杀毒软件所发觉),它们的任务就是在每次系统启动时检查wi erverHook.Dll这个文件,如果发现这个文件被删除或其中的木马被清除,就重新生成该文件,以此做到木马的“野火烧不尽,春风吹又生”。按照上面的分析,我们一步步来把它彻底清除(在进行注册表操作和删除文件前做好备份)。 重启电脑,按F8键进入安全模式,打开注册表,搜索出含有“wi erver”字符串的键值,将可疑的全部删除(图2)。
标签: