朋友们,在一个多月前,网络上流传一只难缠的木马——冰河5.5LFP病毒感染专版。
据修改者LFP介绍:
利用病毒原理感染exe文件。使用前你最好做好备份,省得哭的时候乱叫。
不可能卸载,只能和感染的文件一块删除。
小心使用!万万不能在自己机器上玩火。
提供样本下载的冰河第一站兵库站长小飞刀评论:
现在的冰河还真成了病毒呀~,中了可麻烦哦,手工清除肯定是没用了。
带着各种疑惑,我决定冒险试试,揭开它的神秘面纱。佛曰“我不入地狱,谁入地狱?”
开篇之前,必须忠告各位读者:本人测试的硬盘所有数据已全部备份,并已作好“牺牲”的准备。没有做好准备功夫的朋友万万不能以身试毒,本人不对因此而造成的直接间接损失负任何责任!
下面,让我们一起跟着这个传说中的“冰河5.5LFP病毒感染专版”走一走。
测试环境:
CPU CELERON(SLOT 1)300A OC 450MHz
主板 ABIT BH6 1.0(BH6-SS版,2000-06-28,内添加恢复精灵
内存 HY-TH 256M PC133
硬盘 MAXTOR 星钻一代40 G(34098H4)
光驱 ASUS 40X
显卡 MSI-4427(VOODOO BANSHEE—16M)
声卡 中凌YAMAHA724
网管u家u.bitscn@com
电源 世纪之星黄金版ST325
操作系统 WIN98SE(2222A)简体中文版
“冰河5.5LFP病毒感染专版” (以下简称:冰河5.5 ),大小为295 K(302080)字节。
双击运行冰河5.5,在C:\WINDOWS\SYSTEM\目录下增加4个文件:
lfp.dll(295 K)、lfp.exe(259 K)、tel.lfp(259 K)、system32.dll(259 K)
让大家认识一下他们的庐山真面目吧(图)
那么,他们又是如何偷偷运行的呢?
我尝试以三键“CTRL+ALT+DEL”查看关闭进程列表,一无所获;(在此笔者唠叨两句:如果能够以三键的进程列表中查出该木马进程,那只能算低等的木马。拙劣的隐藏性,它能否生存下去还要打个问号)。使用进程管理工具(推荐Windows优化大师自带的Windows进程管理)一查,木马无所遁形!(图)
既是木马,自然也少不了有不怀好意的随机启动或随文件打开而启动(捆绑型木马)。
以LOCKDOWN2000监控win.ini、system.ini、CONFIG.SYS、AUTOEXEC.BAT,未发现有改动的痕迹;
手动查找随机启动程序组(包含C:\WINDOWS\All Users\Start Menu\Programs\启动)和WINSTART.BAT,也未发现有可疑之处,看来问题出在注册表中。
让我们一起来查查注册表,看看该木马作了哪些修改吧!
网管网www.bitscn.com 首先从木马的文件名着手查找:
(1)
[HKEY_CLASSES_ROOT\*\Shell\open\command]
@="C:\\WINDOWS\\SYSTEM\\tel.lfp %1"
[HKEY_LOCAL_MACHINE\Software\CLASSES\*\Shell\open\command]
@="C:\\WINDOWS\\SYSTEM\\tel.lfp %1"
(2)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\durrentVersion\Run]
@="C:\\WINDOWS\\SYSTEM\\system32.dll"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\durrentVersion\
RunServices]
@="C:\\WINDOWS\\SYSTEM\\system32.dll"
(3)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"system"="lfp.dll"
DLL木马?
按常理来说,DLL文件属动态链接库,在WIN9X系统中默认为非关联文件,需要用户选择某一种方式打开。
但是,system32.dll确实成功运行,并且出现在WINDOWS进程列表上。(图2)
而且,理论上的主角lfp.exe在注册表居然没有相应的键值? 为什么呢?一时间,测试陷入了僵局。
……
是狐狸,就一定会露出它的尾巴。经过多番查找,木马的运行方式慢慢浮出水面(图)
网管u家u.bitsCN.com 顺藤摸瓜,抽丝剥茧,再次仔细查找注册表,木马的启动运行原理暴露无遗!
(4)
[HKEY_CLASSES_ROOT\dllfile\shell\Open\Command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\dllfile\shell\Open\Command]
@="\"%1\" %*"
(5)
[HKEY_CLASSES_ROOT\.lfp]
@="lfpfile"
[HKEY_LOCAL_MACHINE\Software\CLASSES\.lfp]
@="lfpfile"
(6)
[HKEY_CLASSES_ROOT\lfpfile]
@="http://lffffp.yeah.net"
[HKEY_CLASSES_ROOT\lfpfile\DefaultIcon]
@="C:\\WINDOWS\\SYSTEM\\shell32.dll,-154"
[HKEY_CLASSES_ROOT\lfpfile\shell\Open\Command]
@="\"%1\" %*"
[HKEY_LOCAL_MACHINE\Software\CLASSES\lfpfile]
@="http://lffffp.yeah.net"
[HKEY_LOCAL_MACHINE\Software\CLASSES\lfpfile\DefaultIcon]
@="C:\\WINDOWS\\SYSTEM\\shell32.dll,-154"
[HKEY_LOCAL_MACHINE\Software\CLASSES\lfpfile\shell\Open\Command]
@="\"%1\" %*"
网管u家u.bitsCN.com
看到以上注册表更改的结果,我不禁倒抽一口冷气。
我测试的木马样本也有十来个,像本次对注册表改动之多是从来未见过的,着实令我感到震惊。
现将其“人无我有”的优点逐一“公开表扬”:
(A)该启动方式是见所未见、闻所未闻:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\durrentVersion\Run]
C:\WINDOWS\SYSTEM\system32.dll
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\durrentVersion\
RunServices]
C:\WINDOWS\SYSTEM\system32.dll
如果不知道system32.dll是木马文件,从常规途径查木马,是永远无法清除。
(B)该木马将DLL文件和LFP文件的打开方式转化为直接执行,在木马史上也极其罕见。(下面两图对比,前者是种上木马文件的系统,后者是已恢复注册表的系统)
(C)对于自启动“木马进程”lfp.dll来说,更是一个幌子!
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"system"="lfp.dll"
开机后马上以Windows优化大师自带的Windows进程管理工具查看进程,只发现system32.dll进程存在;甚至我打开木马所在目录,多次双击运行lfp.dll,进程管理工具列表经多次刷新,却没有发现lfp.dll进程存在。再对比它与另外三个木马文件的大小,大致可判定lfp.dll并非真正的木马,只是一个掩人耳目的骗局。当受害者发觉后,将注意力集中在lfp.dll身上并采取一系列措施时,真正的木马system32.dll就可以高枕无忧,继续偷偷运行,在适当时候由客户端实施滋扰和破坏。
网管网www.bitscn.com (D)使所有无关联的文件打开方式直接调用tel.lfp,为木马的复活埋下伏笔。(将tel.lfp丢到回收站,无关联的文件如VXD、DEF、DAT等就无法打开了。(图)
木马复活:
既然该木马一分为四(lfp.dll、lfp.exe、tel.lfp、system32.dll),我们且看看该木马的复活能力.
测试方式是在注册表不改变的情况下删除三个保留一个并双击运行之,查看哪些木马文件重新生成,并观察进程列表看哪个程序驻留。
(1)保留lfp.dll并双击运行之,不见其它三个木马文件复活,而lfp.dll并不驻留在进程列表中;对应上文,再次证实lfp.dll并非真正的木马,只是一个掩人耳目的幌子;
(2)保留lfp.exe并双击运行之,马上生成两个木马文件tel.lfp、system32.dll,且system32.dll驻留在进程列表中;
(3)保留tel.lfp并双击运行之,马上生成木马文件system32.dll,且tel.lfp驻留在进程列表中;
(4)保留system32.dll并双击运行之,马上生成木马文件tel.lfp,且system32.dll驻留在进程列表中
回头再看看作者的介绍和站长的评论,我很想知道这个冰河5.5究竟感染了哪些EXE文件。
这时,我们就可以依靠微软的法宝——SFC(系统文件检查器)来检验哪些文件被改动过。
网管网www.bitscn.com
在测试前,我已将SFC设置为最严格的标准:增加检查已修改的文件、范围是系统目录WINDOWS和Program Files,同时包含所有子文件夹。先以SFC扫描全系统,并且选择为“更新所有已更改文件的验证信息”。扫描完成后,运行冰河5.5,再以SFC扫描全系统,结果如下(它成功捕获了lfp.dll、lfp.exe、system32.dll的增加,只差没有查到tel.lfp。见图)
由此可知,该“冰河5.5”并没有像作者的介绍和站长的评论一般附加、捆绑、覆盖取代WINDOWS的系统文件。所以,只要全部删除木马文件,并将已改动的注册表逐一修复,是可以安全清除且没有后遗症的。
至此,木马文件和所作改动已分析完毕,就让马儿从哪来就回到哪去吧。
(甲)杀马
选择lfp.dll、lfp.exe、tel.lfp、system32.dll并使用SHIFT+DEL,永久性删除!
(乙)修改注册表
运行REGEDIT,修改注册表:
(1)
[HKEY_CLASSES_ROOT\*\{删除}Shell\open\command]
C:\WINDOWS\SYSTEM\tel.lfp %1
[HKEY_LOCAL_MACHINE\Software\CLASSES\*\{删除}Shell\open\command]
C:\WINDOWS\SYSTEM\tel.lfp %1
(2)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
{删除}durrentVersion\Run]
中国网管论坛bbs.bitsCN.com
C:\WINDOWS\SYSTEM\system32.dll
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\{删除}durrentVersion\RunServices]
C:\WINDOWS\SYSTEM\system32.dll
(3)
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
{删除}lfp.dll
(4)
[HKEY_CLASSES_ROOT\dllfile\{删除}shell\Open\Command]
"%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\dllfile\{删除}shell\
Open\Command]
"%1" %*
(5)
[HKEY_CLASSES_ROOT\{删除}.lfp]
lfpfile
[HKEY_LOCAL_MACHINE\Software\CLASSES\{删除}.lfp]
lfpfile
(6)
[HKEY_CLASSES_ROOT\{删除}lfpfile]
http://lffffp.yeah.net
[HKEY_CLASSES_ROOT\{删除}lfpfile\DefaultIcon]
C:\WINDOWS\SYSTEM\shell32.dll,-154
[HKEY_CLASSES_ROOT\{删除}lfpfile\shell\Open\Command]
"%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\{删除}lfpfile]
http://lffffp.yeah.net
[HKEY_LOCAL_MACHINE\Software\CLASSES\{删除}lfpfile\DefaultIcon]
C:\WINDOWS\SYSTEM\shell32.dll,-154
网管网www.bitscn.com [HKEY_LOCAL_MACHINE\Software\CLASSES\{删除}lfpfile\shell\
Open\Command]
"%1" %*
在本文即将完成之时,我联系上作者LFP并就“病毒感染EXE文件”一事向他咨询。LFP回答:
********************************************************************
随风飘飘任逍遥,您好!
呵呵.大体没错.
如果你真的是用的病毒版,它将还感染随机器启动的exe文件,把自己插入其中.
你把这些删除,而没有删除感染文件,如果重启没有啦,哪就可能不是病毒版.
非病毒版的,都让你找出来啦.
随风飘飘任逍遥,您好!
如果是病毒版应该感染***标志的软件.
原理:把木马插入EXE文件.运行时释放木马并运行.(汇编插入,不是捆绑,你如果会编程,就知道之间的区别).
当然,木马很大,宿主也会变大的.(cih很小可以插到程序的缝隙中,木马不行,呵呵.太大...).
你的删除方法很对,覆盖感染文件即可.
*********************************************************************
从作者的解释中可以知道,即使是病毒版冰河,也只是汇编插入某个随机启动的文件中,使之随电脑启动而释放木马并运行,且无法从常规反木马途径查出来。但是,在系统目录下,只要是更改过的文件,是无法逃得过SFC的扫描。当发现某文件被附加或捆绑上木马,只要以正常文件覆盖感染文件即可解决问题。
网管网www.bitscn.com 在没有更佳的办法以前,进程查看和中止依然是手工查杀木马行之有效的手段。
杀马须狠,斩草除根。野火烧不尽,春风吹又生。
请各位朋友谨记了。
最后,我要特别感谢木马作者LFP和金山毒霸讨论区版主maldinilbx在测试过程中提供的技术支持,再一次感谢他们给予我的无私的帮助以及支持!在此致以真诚的感谢!