(2007-03-03)
因为一个Spyware,浪费了我两天时间才搞定。
其实是两个……哦,不,是三个。不过在其中一台机器上的那个昨天已经被我干掉了,但是在另一台机器上这两个真是折腾S偶了。:(
还好最后总算都干掉了。
这两个Spyware分别是:ssqpq.dll和tuvsqol.dll。
症状是有几个:
1、机器忽然不能从网络访问,到机器上登录也失败,报错:
“系统无法让您登录,因为发生下列错误:不支持网络请求。请重试一次,或询问您的系统管理员!”
只能强行重启,重启以后可以暂时解决。
2、不能访问机器的共享资源,包括系统默认的管理共享(共享名最后有$的),发生错误:
“发生系统错误 67,找不到网络名”
3、有不明网络数据通讯。
解决过程:
1、首先是用进程分析工具找到这两个东东是被Winlogon和Explorer调用,所以无法干掉。
2、再经过自动运行检查工具分析以后发现,它们的运行方式是:
注册成Winlogon Notify Package(详见CSDN的这个帖子11楼), 这样就可以在Windows一启动的时候运行,并且是以被Winlogon调用的DLL方式,这样就无法在运行时把它干掉,因为winlogon是系统进 程,不可停止。同时它还在时刻修改注册表里的注册项,所以即使改了注册表,它也会改回去,重启以后它还是会出现。而且即使进入安全模式也不管用。
另外,它还注册成BHO,并且注入到Explorer里,实现双保险。而且这个注册表项目它也是一直更新。
3、最后,根据文件监控工具显示,它还会不断地检查硬盘上的文件,如果文件被修改过,它还会再恢复回去。
这两个Spyware除了名字不同以外,其它特征几乎完全一样(后来发现tuvsqol.dll比ssqpq更强一些)。
因为我的系统盘是NTFS格式的,不然我只要拿一张Ubuntu Live光盘启动一下,把那两个文件删除就搞定了,但是现在似乎除了重装系统或装一个双系统以外,没有什么办法可以解决。
在网上找了N多资料,也没有看到相关的解决办法。比如参考这篇,用MoveFileEx写了一程序,但是似乎Winlogon的执行在重启删除文件之前,或者是Spyware有反制手段,总之这个办法无效。
在不得已的情况,我只好以毒攻毒,写了一个Windows service,循环清除注册表中的相关项目,然后重启服务器。试了两次之后,总算让这两个Spyware不再运行。
然后把这两个文件的S/H/R属性去掉再删除,回头仔细扫描了注册,确定没有残留什么东东,总算搞定。
另外,还发现一个spoolvc.exe的服务,明显也是一个Spyware,不知道前面那两个蛋是不是它下的,总之禁用并删除文件是正解。
BTW:虽然没有熊猫图标出现,但据之前在公司里杀了半个月的熊猫烧香的同事说,貌似熊猫烧香的新变种。