主题:
探讨两个比较难杀灭的灰鸽子变种
案例二:
回家后用冰刃看了看自己的机器,本机10月初因不慎运行了两个下载 文件后出现异常。杀毒后以为没事了。在冰刃的内核模块中,发现
PS:如果可能的话,你应该考虑把你的相关文章发到《电脑报 》这样的媒体上,让更多的菜鸟能得到及时有效的帮助。
PS:鄙视一下网上所谓的手工杀灰鸽子的文章,真是堆bullsh it,完全跟不上木马变种的形势了。
非常感谢你开了这样一个博客来帮助大家解决问题。正是你提供的pr
我为了这个木马忙了两天多,在网上没有找到什么有价值的解决方法
案例一:
单位的公用上网机器,PIII 800M,XPSP2,未打MS最近的67个补丁。原来用的瑞星
,木马和病毒泛滥。后来我在上面用nod32和ewido使劲杀了
一阵子,恢复到正常状态,用冰刃未发现不良的进程和内核模块
。两天后,nod32频繁报警,称IEXPLORE.EXE频繁通过80端口访问ads
.cn3721.com,下载文件b1.exe、b2.exe、……、log[1].exe等木马并尝试运行(其中有魔兽世界
、QQ的盗号木马),并将其存放在/Documents and Settings/%username%/LocalSettin
gs/Temp下和/%username%/Local Settings/Temporary Internet
Files/Content.IE5中的子目录下
。IE进程可以在资源管理器中发现,但并没有窗口程序
。nod32只能阻止连接,并不能关闭相关进程,甚至连下载的病毒
都无法隔离。用冰刃发现,是系统的explorer.exe进程中的某个线程创建的IE。如果硬性关闭IE,则木马会定时自检,再继续调用IE
。在冰刃的内核模块中,发现??%windir%/TEMP/MC21.TMP,在HKLM
/SYSTEM/CurrentControlSet
/Services/mchInjDrv/ImagePath 有键值:%windir%/TEMP/MC21.TMP,但在TEMP文件夹下用冰刃根本找不到MC21.TMP。木马还加入启动项好像叫什么SOUNDM,搞得跟声卡驱动似的
,但执行文件是恶意的%windir%/winsmd.exe。删掉winsmd.exe和注册表项mchInjDrv后,我通过虚拟软驱进入系统,把/Local Settings下的文件夹和%windir%下的
/system32、/Downloaded Program Files都找了个遍,有相关关键字的文件基本都删了。进入系统
,还是有内核模块运行,还是继续下载病毒。我又关闭了不少系统服务
,甚至连非PNP的设备驱动都关的关删的删,还是无法解决问题
。尤其是系统服务,并未发现有除了杀毒软件和防火墙之外的非系统服
务,连改名蒙混的都没有。其间,我上网找了很多相关资料
,基本确定是灰鸽子变种,但网上的所有手工杀法都不顶事,只有
“灰鸽子vip0105破解版测试报告”倒是有些靠谱的地方
,但还是没有解决方案。冰刃都没有用,hijackthis更是毫
无作为。最后,重装了XP系统。
这个案例真是太失败了。
这个案例真是太失败了。
案例二:
回家后用冰刃看了看自己的机器,本机10月初因不慎运行了两个下载
??c:/windows/system32/drivers
/mchinjdrv.sys。
在注册表HKLM/SYSTEM/CurrentControlS et/Enum/Root/
HKLM/SYSTEM/CurrentControlSet00 1/Enum/Root/
HKLM/SYSTEM/CurrentControlSet00 2/Enum/Root/
中都发现有LEGACY_MCHINJDRV项。我差点没昏过去 ,因为机器重装损失太大无法承受。把系统中该删的文件
、注册表都删了,把服务减少到最低限度,还是照样加载木马的内核模
块,删掉的注册表项又自动恢复。用你所说的autoruns.exe也没检查出到底木马是怎样自我
保护和加载的。就在这时,我发现系统服务中有些在我关闭它后又处于启动状态
,有些我明明记得自己已经关闭并禁用了,尤其是Cryptographi
c Severices,感觉好像离解决问题不远了。看到你介绍的pr
ocexp,我试用了一下,发现功能远强于我先前用的procvi
ew。我发现procexp有个“Find”菜单
,就抱着试试看的心理找了下mchinjdrv。结果在系统的smss.exe进程中找到了!但是,这个是货真价实的系统进程,根本不要想删除。用冰刃发现smss并未加载其它模块
,里面总共就三个线程,我哪敢关。难道真的得重装?我要看看mchinjdrv在smss.exe的什么地方,单击procexp中的smss.exe,procexp下面的子窗口中显示有两项:section /BaseNamedObjects/mc2*****
(我没记住,像是随机字母)
和section /BaseNamedObjects/mchinjdrvmap
然后我大着胆子选择了“close handle”,把两个section关闭,系统并无不良反应 。此后系统服务就没有出现无端更改的情况。重启后
,木马的内核模块就没有加载,系统终于恢复正常。
下面的总结有些东西不知道对不对,希望向你请教一下:我觉得两个案例中的木马都已经注入到系统关键进程如smss .exe的可执行代码段中,木马的保护进程已经注入为系统服务或者是系统设备
。系统进程中的木马大概通过Timer周期性检查服务和设备确保不
被删除和关闭。我的疑问是,是由系统服务保证每次开机时能把木马注入到smss中呢还是smss
.exe本身就已经被木马修改过了?从autorun的结果看,似乎是前者。
我的感受是,这是我见过的最凶悍的木马。从我的两个案例看 ,大概是不同的变种。但都实现了潜入系统级进程的目标
,我的机器上的除了注册表项略有差异、木马没有反弹端口下载木马、添加自启动项目winsmd.exe以外,基本行为都十分相似。普通的杀毒和杀木马软件对它们基本无能为力
,我的经历表明在安全环境下查杀也不行,我的机器在safe mode就没有加载木马,根本查不出来。系统级的保护进程又确保了
木马很难手工清除。我觉得现在可以信赖的手工软件也就是冰刃
、procview,只有冰刃才能仔细检查内核模块的加载情况
,只有procview才能摸清系统进程里到底有什么东西
。在案例一中,我也用冰刃检查过系统进程,根本无法从exploer.exe的模块和线程中看出什么来,木马的关键字一个也没有,在这样大的模块中找木马是极其困难的
。而且感染的都是维系XP运行的基本进程,怎么敢随便关其中的模块
和线程。
我觉得现阶段菜鸟在normal模式XP下对付这两种木马的方法是 :冰刃查可疑内核模块,procview通过关键字定位木马并删除
,关闭相关异常的服务和设备驱动,registry workshop删除相关键值。
我担心的是,以后的木马作者如果像飘雪那样针对冰刃和procvi ew做了规避实现隐身,我想获得ring0权限后干这些事不会没有办法,如果保护进程附着在RPC、WMI
、PNP这些无法关闭的关键服务上,那时该怎么查杀呢?
就说这么多了,谢谢。
在注册表HKLM/SYSTEM/CurrentControlS
HKLM/SYSTEM/CurrentControlSet00
HKLM/SYSTEM/CurrentControlSet00
中都发现有LEGACY_MCHINJDRV项。我差点没昏过去
和section /BaseNamedObjects/mchinjdrvmap
然后我大着胆子选择了“close handle”,把两个section关闭,系统并无不良反应
下面的总结有些东西不知道对不对,希望向你请教一下:我觉得两个案例中的木马都已经注入到系统关键进程如smss
我的感受是,这是我见过的最凶悍的木马。从我的两个案例看
我觉得现阶段菜鸟在normal模式XP下对付这两种木马的方法是
我担心的是,以后的木马作者如果像飘雪那样针对冰刃和procvi
就说这么多了,谢谢。
PS:如果可能的话,你应该考虑把你的相关文章发到《电脑报
PS:鄙视一下网上所谓的手工杀灰鸽子的文章,真是堆bullsh
以上是王刚朋友的来信照登,虽然还有一些小的错误,但还是有不少值得借鉴的地方。
最后一个案例,那个mchinjdrv的handler应 该是属于system这个进程空间中的(它接下来的第一个就是smss.exe),这些属于驱动,在Windows加载内核的时候进行加载 ,它位于system这个系统空间内。smss.exe是属于会话管理的,当然,也有可能其它进程注入smss.exe当中。
关于normal模式下对付流氓软件,几种办法都不错 ,但是对付一些比较高级的,就不行,很多流氓软件的驱动即使在安全模式 下也会加载。如果在安全模式下不加载,就很容易对付。
目前比较好的办法还是 IceSword + 360safe + Procexp + 文件粉碎器。
其中文件粉碎器可以删除几乎所有的文件,包括正在运行的,象你第一个案例中提到的.tmp文件。用我介绍的两个找到可疑驱动的办法,也应该能找到你的那两个文件 。一般来说,我推荐的,是先清除文件,然后再清除注册表 。注册表只是一个引子而已,只要把文件清除了,注册表的值已经没有 用了。
清除流氓软件和木马,我的概括是分为三步: 查——杀——防,其中第一步是最困难的。
查:就是找出和确定哪些进程是恶意的,假冒的,有危险的。这个需要对整个windows系统有一定的了解,包括进程,线程,驱动,内核等,所以它的要求也是最广的。
杀:这个相对来说就是比较容易,版内介绍的几个工具可以对付95%的了。
防:现在流氓软件木马层出不尽,简直是防不胜防,不过还是有一些办法和工具可以帮助我们的。
查:就是找出和确定哪些进程是恶意的,假冒的,有危险的。这个需要对整个windows系统有一定的了解,包括进程,线程,驱动,内核等,所以它的要求也是最广的。
杀:这个相对来说就是比较容易,版内介绍的几个工具可以对付95%的了。
防:现在流氓软件木马层出不尽,简直是防不胜防,不过还是有一些办法和工具可以帮助我们的。
以后的文章大体就是按照上面的三个大类来写,欢迎指点