社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 676阅读
  • 4回复

全面解析Svchost.exe占用CPU100%的问题

楼层直达
级别: 光盘中级
发帖
311
飞翔币
335
威望
829
飞扬币
2348
信誉值
0
引用
在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。

  在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

  在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer 键值改为Explorer=“C:\WINDOWS\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马该病毒也称为“Code Red II(红色代码2)”病毒,与早先在西方英文系统下流行“红色代码”病毒有点相反,在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞,通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过Http Get的请求运行scripts/root.exe来获得对受感染机器的完全控制权。

  当感染一台服务器成功了以后,如果受感染的机器是中文的系统后,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年,如果是,受感染的服务器也会重新启动。当Windows NT系统启动时,NT系统会自动搜索C盘根目录下的文件explorer.exe,受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时,VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录,给黑客的入侵敞开了大门。它还会修改系统的注册表项目,通过该注册表项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。值得一提的是,该网络蠕虫程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在内存中来进行感染、传播的,这就给捕捉带来了较大难度。

  程序的文件名,再在整个注册表中搜索即可。

  我们先看看微软是怎样描述Svchost.exe的。在微软知识库314056中对Svchost.exe有如下描述:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。

  其实Svchost.exe是Windows XP系统的一个核心进程。Svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有Svchost.exe的存在。一般在Windows 2000中Svchost.exe进程的数目为2个,而在Windows XP中Svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个Svchost.exe不用那么担心。

  Svchost.exe到底是做什么用的呢?

  首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多,为了节约有限的系统资源微软把很多的系统服务做成了共享模式。那Svchost.exe在这中间是担任怎样一个角色呢?

  Svchost.exe的工作就是作为这些服务的宿主,即由Svchost.exe来启动这些服务。Svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不能为用户提供任何服务。Svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。

  那Svchost.exe是病毒这种说法是任何产生的呢?

  因为Svchost.exe可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思的要利用Svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。

  如何才能辨别哪些是正常的Svchost.exe进程,而哪些是病毒进程呢?

  Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,如图1所示。图1中每个键值表示一个独立的Svchost.exe组。

  微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是Svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:\Windows\System32”目录下的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。

  还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。

  上面简单的介绍了Svchost.exe进程的相关情况。总而言之,Svchost.exe是一个系统的核心进程,并不是病毒进程。但由于Svchost.exe进程的特殊性,所以病毒也会千方百计的入侵Svchost.exe。通过察看Svchost.exe进程的执行路径可以确认是否中毒。

  注:希望广大朋友不要进行非法用途,在这里解密木马捆绑是希望大家了解其原理。
 
You fine and I maybe,if no I must not.


级别: 光盘中级
发帖
311
飞翔币
335
威望
829
飞扬币
2348
信誉值
0
只看该作者 1 发表于: 2007-01-05
引用
如今网络上病毒肆虐,让电脑用户在应付病毒上花费了不少精力。当你使用杀毒软件查杀病毒时,是否遇到查出了病毒,但是杀不掉的情况,原因何在?该如何处理呢?以下笔者对此略作介绍。

  ◆系统还原文件

  _restore文件夹是Windows Me/XP系统特有的系统还原文件夹,隐藏在该文件夹中的病毒是不能直接清除的。当然这些病毒也不能直接发挥作用。要清除这些病毒,可以关闭Windows系统的“系统还原”功能,清理系统还原点,或者直接删除_restore文件夹的内容。

  ◆疑似电脑病毒

  有时杀毒软件会出现提示:unknown.com.tsr.virus。该提示中,unknown是“不明的”意思,tsr是内存驻留的意思,本信息一般提示的是纯DOS环境下的可执行文件,表明杀毒软件在该文件中发现了可疑代码,类似病毒,但是没有确定是什么病毒。

  如果疑似病毒提示涉及Type-Win32代码,则表示可疑的32位代码的意思,是指Windows环境下可疑的可执行代码。对于疑似病毒,可以直接删除该文件,或者将这些“疑似”的病毒文件发送给反病毒软件公司,请求帮助。

  ◆ex_文件感染病毒

  以.ex_为扩展名称的文件是软件安装程序的部分文件,其中的病毒不能直接清除。只有在软件完全安装成功后,方可清除。这有点类似于在COPY文件时发现了病毒的处理方法。

  ◆在DOS下清除病毒

  对于在引导区发现的病毒,如POLYBOOT/WYX.b病毒,请使用干净的系统盘启动系统到DOS,然后在DOS下杀毒即可清除。如果可感染引导区的病毒存在于文件中,可以直接删除该文件。

  ◆系统初始文件中引用病毒

  杀毒时出现如下提示:

  QUOTE:

  C:\Windows\brasil.pif worm.win32.opasoft.a病毒 已删除

  C:\Windows\instit.bat worm.win32.opasoft.a病毒 已删除

  C:\Windows\alevir.exe worm.win32.opasoft.a病毒 已删除

  C:\Windows\marco.scr worm.win32.opasoft.a病毒 已删除

  C:\Windows\SCRSVR.exe worm.win32.opasoft.a病毒 已删除

  杀毒后,重启动电脑时出现很多找不到文件的信息,而且再次杀毒时提示依旧,病毒还是存在。这些顽固病毒的引用应该是在win.ini文件中,请单击“开始→运行”,键入“sysedit”,按下回车键,编辑win.ini,删除对病毒的引用行。
级别: 光盘中级
发帖
311
飞翔币
335
威望
829
飞扬币
2348
信誉值
0
只看该作者 2 发表于: 2007-01-05
引用
病毒最新变种

  杀毒软件查出的是其病毒库中不存在的新型病毒,请将杀毒软件的病毒库升级到最新,然后再查杀。

  一款好的防火墙并不能发现所有病毒;一个好的杀毒软件并不能歼灭所有的带毒程序!遇到这些情况我们该做何处理呢?很简单——手工杀毒。而要论到手工杀毒,就不能不提到系统进程的妙用了。

  进程、病毒?

  书上说:“进程为应用程序的运行实例,是应用程序的一次动态执行。”看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。

  危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于“手工杀毒有起着关键性的作用。

  操作系统如何打开进程列表?

  要通过进程列表查看系统是否染毒,必须打开当前的执行程序进程列表,Microsoft的每种系统都有相应的打开方法,但能够显示的能力却因(系统)不同,有所差异:

  1.Windows 98 /Me系统

  打开系统进程的方式很简单,快捷键“Ctrl+Alt+Delete”(如图1),这个窗口大家应该比较熟悉,使用Windows系统的用户都知道用这个方法来关闭程序,不过它同样用于显示系统进程,只是Windows 98系统较初级,对进程的显示局限于名称,且里面所显示的还有打开的文件及目录名,查看时易混淆。Windows Me的进程打开方式和Windows 98相同。

  Windows 9x系统打开的进程列表混乱且不完全,显然不便于查看系统的具体进程状况,所以建议使用一些工具程序来为Windows 9x系统显示进程,如“Windows优化大师”,在“优化大师”的“系统安全优化”项内打开“进程管理”,在图2所示的“Windows 进程管理”窗口内,可以详细查看当前计算机所运行的所有进程,及具体程序所在的位置,这样更方便完成后面要介绍的如何利用进程进行查毒、杀毒。

  2.Windows 2000/ XP/2003系统

  Windows 2000、Windows XP、Windows 2003打开进程窗口的方式与Windows 9x系统相同,只是三键后打开的是“Windows 任务管理器”窗口,需要选择里面的“进程”项。Windows 2000系统只显示具体进程的全名,占用的内存量;Windows XP、Windows 2003系统相比Windows 2000会显示该进程归属于那个用户下,如操作系统所必须的基础程序,会在后面的“用户名”内显示为“SYSTEM”,由用户另外开启的程序则用户名为当前的系统登录用户名。

  通过进程发现、处理病毒

  在介绍具体的查毒和杀毒前,笔者先回答开篇提出的两个问题。为什么杀毒软件并不能全面的查找和杀掉病毒?首先,病毒防火墙是通过对程序进行反汇编,然后与自己的病毒库进行对比来查找病毒,如果病毒较新,而杀毒软件又未能及时升级便不能识别病毒。其次,杀毒软件在发现病毒后,如果是独立的可执行病毒程序,会选择直接删除的处理方式,而病毒如果被当作进程执行了,杀毒软件就无能为力了,因为它没有功能和权限先停止掉系统的这些进程,被当作进程执行的程序是不能被删除的(这也是大家在删除一个程序时,提示该程序正在被使用不能删除的原因)。所以在使用杀毒软件杀毒时,才会有杀毒完成后,又出现病毒提示的原因。

  回到原来话题上!通过进程如何发现和杀掉病毒呢?由前面的知识介绍可知,Windows 9X和Windows 2000系统只能显示进程的名称,这对判断该进程是否是病毒还不够,如果要准确的断定病毒,最好使用前面介绍的“Windows优化大师”来查看进程程序的源路径,如果是“C:\windows\system”下的一些未知的“EXE”那便极有病毒的可能性了。Windows XP和Windows 2003系统,进程后会有“用户名”的显示,病毒是不可能获得“SYSTEM”权限的,所以应注意“用户名”是当前登录用户的进程,一旦发现是病毒,可以立即“杀掉”。这里介绍两个技巧:

  1.发现可疑进程后,利用Windows的查找功能,查找该进程所在的具体路径,通过路径可以知道该进程是否合法,譬如由路径“C:\Program Files\3721\assistse.exe”知道该程序是3721的进程,是合法的。

  2.在对进程是否病毒拿不定主意时,可以复制该进程的全名,如:“xxx.exe”到googl.com或baidu.com这样的全球搜查引擎上进行搜查,如果是病毒会有相关的介绍网页。

  确定了该进程是病毒,首先应该杀掉该进程,对于Windows 9x系统,选中该进程后,点击下面的“结束任务”按钮,Windows 2000、Windows XP、Windows 2003系统则在进程上单击右键在弹出菜单上选择“结束任务”。“杀掉”进程后找到该进程的路径删除掉即可,完成后最好在进行一次杀毒,这样就万无一失了。
级别: 光盘中级
发帖
311
飞翔币
335
威望
829
飞扬币
2348
信誉值
0
只看该作者 3 发表于: 2007-01-05
一次利用进程杀毒的具体过程是这样的:“通过进程名及路径判断是否病毒——杀掉进程——删除病毒程序”,为了让读者更好的判断进程,在这里补充一些Windows的进程资料给大家:

  
引用


  进程名      描述

  smss.exe     Session Manager

  csrss.exe     子系统服务器进程

  winlogon.exe   管理用户登录

  services.exe   包含很多系统服务

  lsass.exe     管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。

  svchost.exe    Windows 2000/XP 的文件保护系统

  SPOOLSV.EXE    将文件加载到内存中以便迟后打印。

  explorer.exe   资源管理器

  internat.exe   托盘区的拼音图标

  mstask.exe    允许程序在指定时间运行。

  regsvc.exe    允许远程注册表操作。(系统服务)→remoteregister

  tftpd.exe     实现 TFTP Internet 标准。该标准不要求用户名和密码。

  llssrv.exe    证书记录服务

  ntfrs.exe     在多个服务器间维护文件目录内容的文件同步。

  RsSub.exe     控制用来远程储存数据的媒体。

  locator.exe    管理 RPC 名称服务数据库。

  clipsrv.exe    支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。

  msdtc.exe     并列事务,是分布于两个以上的数据库,消息队列,文件系统或其他事务保护资源管理器。

  grovel.exe    扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间(只对 NTFS 文件系统有用)。

  snmp.exe     包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。


  以上这些进程都是对计算机运行起至关重要的,千万不要随意“杀掉”,否则可能直接影响系统的正常运行。

  
引用
详述系统进程中 Svchost.exe 的作用

  问:我的系统进程里有四个svchost.exe,听说有些木马就是伪装成系统的进程,不知道这个是不是?

  答:svchost.exe 存在 %windir%\system32\wins 下。

  如果怀疑svchost.exe是病毒可以通过以下方法来证实是不是病毒:1.可以去 wins 目录找找有无多余,2.可以搜搜windows文件夹中 svchost.exe 看看有几个(应为1个),3.tlist -s察看,4.也可以下载一个可以看带路径名的进程的浏览工具。

  问:svchost.exe是起什么作用的进程?

  答:Svchost.exe文件对那些从动态连接库中运行的服务来说是一个普通的主机进程名。Svhost.exe文件定位在系统的%systemroot%\system32文件夹下。在启动的时候,Svchost.exe检查注册表中的位置来构建需要加载的服务列表。这就会使多个Svchost.exe在同一时间运行。每个Svchost.exe的回话期间都包含一组服务,以至于单独的服务必须依*Svchost.exe怎样和在那里启动。这样就更加容易控制和查找错误。

  Svchost.exe 组是用下面的注册表值来识别。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost每个在这个键下的值代表一个独立的Svchost组,并且当你正在看活动的进程时,它显示作为一个单独的例子。每个键值都是REG_MULTI_SZ类型的值而且包括运行在Svchost组内的服务。每个Svchost组都包含一个或多个从注册表值中选取的服务名,这个服务的参数值包含了一个ServiceDLL值。HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service


[ 本帖最后由 绝对绝唱 于 2007-1-5 21:47 编辑 ]
级别: 光盘中级
发帖
1140
飞翔币
335
威望
303
飞扬币
8460
信誉值
0
只看该作者 4 发表于: 2007-01-06
很实用的知识 , Svchost.exe 很重要绝唱介绍的不错 建议大家认真看看