灰鸽子(Backdoor.Huigezi)作者现在还没有停止对灰鸽子的开发,再加上有些人为了避开杀毒软件的查杀故意给灰鸽子加上各种不同的壳,造成现在网络上不断有新的灰鸽子变种出现。如果您的机器出现灰鸽子症状但用杀毒软件查不到,那很可能是中了还没有被截获的新变种。这个时候,就需要手工杀掉灰鸽子。
手工清除灰鸽子并不难,重要的是我们必须懂得它的运行原理。
灰鸽子的运行原理
灰鸽子木马分两部分:客户端和服务端。黑客(姑且这么称呼吧)操纵着客户端,利用客户端配置生成出一个服务端程序。服务端文件的名字默认为G_Server.exe,然后黑客通过各种渠道传播这个木马(俗称种木马或者开后门)。种木马的手段有很多,比如,黑客可以将它与一张图片绑定,然后假冒成一个羞涩的MM通过QQ把木马传给你,诱骗你运行;也可以建立一个个人网页,诱骗你点击,利用IE漏洞把木马下载到你的机器上并运行;还可以将文件上传到某个软件下载站点,冒充成一个有趣的软件诱骗用户下载……
G_Server.exe运行后将自己拷贝到Windows目录下(98/xp下为系统盘的windows目录,2k/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端,有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定制服务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。
Windows目录下的G_Server.exe文件将自己注册成服务(9X系统写注册表启动项),每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。随着灰鸽子服务端文件的设置不同,G_Server_Hook.dll有时候附在Explorer.exe的进程空间中,有时候则是附在所有进程中。
灰鸽子的手工检测
由于灰鸽子拦截了API调用,在正常模式下木马程序文件和它注册的服务项均被隐藏,也就是说你即使设置了“显示所有隐藏文件”也看不到它们。此外,灰鸽子服务端的文件名也是可以自定义的,这都给手工检测带来了一定的困难。
但是,通过仔细观察我们发现,对于灰鸽子的检测仍然是有规律可循的。从上面的运行原理分析可以看出,无论自定义的服务器端文件名是什么,一般都会在操作系统的安装目录下生成一个以“_hook.dll”结尾的文件。通过这一点,我们可以较为准确手工检测出灰鸽子木马。
由于正常模式下灰鸽子会隐藏自身,因此检测灰鸽子的操作一定要在安全模式下进行。进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”或“安全模式”。
1、由于灰鸽子的文件本身具有隐藏属性,因此要设置Windows显示所有文件。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,取消“隐藏受保护的操作系统文件”前的对勾,并在“隐藏文件和文件夹”项中选择“显示所有文件和文件夹”,然后点击“确定”。
2、打开Windows的“搜索文件”,文件名称输入“_hook.dll”,搜索位置选择Windows的安装目录(默认98/xp为C:\windows,2k/NT为C:\Winnt)。
3、经过搜索,我们在Windows目录(不包含子目录)下发现了一个名为Game_Hook.dll的文件。
4、根据灰鸽子原理分析我们知道,如果Game_Hook.DLL是灰鸽子的文件,则在操作系统安装目录下还会有Game.exe和Game.dll文件。打开Windows目录,果然有这两个文件,同时还有一个用于记录键盘操作的GameKey.dll文件。
经过这几步操作我们基本就可以确定这些文件是灰鸽子木马了,下面就可以进行手动清除。另外,如果你发现了瑞星杀毒软件查不到的灰鸽子变种,也欢迎登陆瑞星新病毒上报网站(http://up.rising.com.cn)上传样本。
灰鸽子的手工清除
经过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式下操作,主要有两步:1、清除灰鸽子的服务;2删除灰鸽子程序文件。
注意:为防止误操作,清除前一定要做好备份。
一、清除灰鸽子的服务
2000/XP系统:
1、打开注册表编辑器(点击“开始”-》“运行”,输入“Regedit.exe”,确定。),打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services注册表项。
2、点击菜单“编辑”-》“查找”,“查找目标”输入“game.exe”,点击确定,我们就可以找到灰鸽子的服务项(此例为Game_Server)。
3、删除整个Game_Server项。
98/me系统:
在9X下,灰鸽子启动项只有一个,因此清除更为简单。运行注册表编辑器,打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run项,我们立即看到名为Game.exe的一项,将Game.exe项删除即可。
二、删除灰鸽子程序文件
删除灰鸽子程序文件非常简单,只需要在安全模式下删除Windows目录下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然后重新启动计算机。至此,灰鸽子已经被清除干净。
小结
本文给出了一个手工检测和清除灰鸽子的通用方法,适用于我们看到的大部分灰鸽子木马及其变种,然而仍有极少数变种采用此种方法无法检测和清除。同时,随着灰鸽子新版本的不断推出,作者可能会加入一些新的隐藏方法、防删除手段,手工检测和清除它的难度也会越来越大。当你确定机器中了灰鸽子木马而用本文所述的方法又检测不到时,最好找有经验的朋友帮忙解决。