在上一篇中介绍了Svchost.exe的系统进程,现在我们来讲一下Svchost.exe做为病毒的特征以及清除方法。
一、Svchost.exe做为病毒它有两个特征。
1、用病毒自己做为进程
这种方式运行的Svchost.exe病毒没有直接利用真正的Svchost.exe进程,而是启动了另外一个名称同样是Svchost.exe的病毒进程,由于这个假冒的病毒进程并没有加载系统服务,它和真正的Svchost.exe进程是不同的,只需在命令行窗口中运行一下“Tasklist /svc”,如果看到哪个Svchost.exe进程后面提示的服务信息是“暂缺”,而不是一个具体的服务名,那么它就是病毒进程了,如图正常的XP带的进程:
正常的Svchost.exe文件是位于%systemroot%\System32目录中的,而假冒的Svchost.exe病毒或木马文件则会在其他目录,例如:
“w32.welchina.worm”病毒假冒的Svchost.exe就隐藏在Windows\System32\Wins目录中,将其删除,并彻底清除病毒的其他数据即可
2、做为系统的进程加载服务。
病毒就是真正的Svchost.exe进程加载病毒程序,而Svchost.exe是通过注册表数据来决定要装载的服务列表的,所以病毒通常会在注册表中采用以下四个方法进行加载
会修改注册表的,所以病毒通常会在注册表中采用以下方法进行加载:
二、添加一个新的服务组,在组里添加病毒服务名
三、在现有的服务组里直接添加病毒服务名
四、修改现有服务组里的现有服务属性,修改其“ServiceDll”键值指向病毒程序
判断方法:
病毒程序要通过真正的Svchost.exe进程加载,就必须要修改相关的注册表数据,可以打开[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost],观察有没有增加新的服务组,同时要留意服务组中的服务列表,观察有没有可疑的服务名称,通常来说,病毒不会在只有一个服务名称的组中添加,往往会选择LocalService和netsvcs这两个加载服务较多的组,以干扰分析,还有通过修改服务属性指向病毒程序的,通过注册表判断起来都比较困难,这时可以利用前面介绍的服务管理专家,分别打开LocalService和netsvcs分支,逐个检查右边服务列表中的服务属性,尤其要注意服务描述信息全部为英文的,很可能是第三方安装的服务,同时要结合它的文件描述、版本、公司等相关信息,进行综合判断。例如这个名为PortLess BackDoor的木马程序,在服务列表中可以看到它的服务描述为“Intranet Services”,而它的文件版本、公司、描述信息更全部为空,如果是微软的系统服务程序是绝对不可能出现这种现象的。从启动信息“C:\WINDOWS\System32\svchost.exe -k netsvcs”中可以看出这是一款典型的利用Svchost.exe进程加载运行的木马,知道了其原理,
清除方法也很简单了:
先用服务管理专家停止该服务的运行,然后运行regedit.exe打开“注册表编辑器”,删除[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IPRIP]主键,重新启动计算机,再删除%systemroot%\System32目录中的木马源程序“svchostdll.dll”,通过按时间排序,又发现了时间完全相同的木马安装程序“PortlessInst.exe”,一并删除即可。
清除Svchost.exe病毒方法:
第一步:进入安全模式(电脑启动时按F8),打开我的电脑,搜索SVCHOST,将搜索到的文件除了%systemroot%\System32这个文件夹里的之外的都删除。
第二步:进入注册表,搜索SVCHOST,将搜索到的除开[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost]这个值的不动之外,其他的都删除掉。然后重新搜索一遍,进行整理
[HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost]这个值项。根据上面所说的判断方法来进行整理。
第三步、重启动电脑。
本文转自starger51CTO博客,原文链接: http://blog.51cto.com/starger/18515,如需转载请自行联系原作者