网络通信 频道

从蛛丝马迹入手

 当您的系统不小心遭受木马、病毒的袭击,如何干净、彻底地将它们清除出去?您可能会毫不犹豫地说,当然要选用专业的杀病毒软件、杀木马工具来帮忙了。其实,直接通过查杀系统进程的方法就可以消灭许多病毒和木马。
  系统进程表示应用程序在系统中的一次执行过程,每运行一个应用程序时,系统就会自动启动一个对应该程序的进程;而病毒或木马自身也是一个程序,为了防止被各种防病毒软件轻易地搜查到,往往会将自己捆绑到某个应用程序中,一旦您启动了捆绑了木马病毒的应用程序后,病毒、木马就会自动安装到系统中,并且在系统中产生对应的进程名。
  既然病毒和木马发作时会在系统进程列表中留下对应的进程名,我们就有必要对系统进程列表进行及时监控,一旦发现有陌生的进程出现时,就将它杀死。

比较辨别,查看进程

  那么如何准确地判断哪些进程是系统必须的,哪些进程又是木马病毒的“化身”呢?要做到这一点,首先要从认识和熟悉系统必须运行的进程开始。
  进程通常分为系统进程和用户进程两类。
  所有系统进程都是用来维护操作系统各个功能正常运行的,它们通常都需要处于运行之中,如果被关闭,系统将无法正常工作。一般来说,Windows 2000/XP必须要启动lsass.exe、winlogon.exe、smss.exe、csrss.exe、services.exe、explorer.exe、spoolsv.exe、System Idle Process、svchost.exe这几个进程,其中svchost.exe进程可能同时出现多个。而在Windows 9x系统中,必须要运行kenrel32.dll、mmtask.tsk、mprexe.exe、msgsrv32.exe这几个进程。除了上面的一些进程系统必须启动外,还有一些系统进程也时常会出现,例如taskmagr.exe、internat.exe、msnmsgr.exe、mstask.exe、loadwc.exe、rundll32.exe、systray.exe、ddhelp.exe、wmiexe.exe、ctfmon.exe进程等。
  熟悉了系统正常需要运行的系统进程后,您日后在操作计算机的过程中遇到系统有异常反应时,就应该立即将手中工作停止掉,打开“进程”标签,逐一检查出现在进程列表中的每一个进程名称。如果发现某个进程名称与前面列出的系统正常进程不一致的话,就需要查看该进程的相关描述信息了,例如到底是什么应用程序在使用这个进程,这个应用程序的具体路径是什么等。
  由于进程列表无法查看到这方面的进程信息,您可以依次执行“开始”→“程序”→“附件”→“系统工具”→“系统信息”命令,在其后打开的系统信息列表界面中,依次展开“软件环境”→“正在运行任务”项目,在对应“正在运行任务”项目的右侧子窗口中(如图1所示),找到可疑进程并查看该进程的“路径”信息,根据这个信息就能轻松查到当前究竟是什么应用程序在调用这个可疑进程。倘若这个应用程序并不是您手工运行的或者自己根本不熟悉它,那么该可疑进程十有八九是木马、病毒的“化身”。为安全起见,您最好及时将它杀死,即使不小心将该进程杀错了,也不会影响操作系统正常运行的。

                                                                   图1 查找可疑进程
  提示:在Windows 9x或Windows ME操作系统中,您无法通过按下Ctrl+Alt+Delete的方法来查看到当前系统中正在运行的所有进程信息,只能简单查看到正在运行的几个进程名称。要想解决这个问题,可以下载一款名为“Windows任务管理器”的第三方工具(http://jsnetcom.onlinedown.net/down/taskmgr3.1_setup.exe),运行该工具后您就可以像在Windows 2000以上版本的系统中一样查看系统中正在运行的所有进程以及进程的其他详细信息了

擦亮眼睛,识别进程

  通过比较辨别的方法,尽管可以识别出可疑进程,不过要确认可疑进程就是木马、病毒的“化身”,那还需要擦亮眼睛进行更进一步的识别。因为许多木马、病毒为了逃避人们的“追查”,一般会将进程名伪装成系统正常的文件名或进程名,甚至将它们对应的应用程序路径都设置成和系统核心程序几乎一样,这样一般人是无法根据进程列表判断出可疑进程就是木马病毒引起的。
  例如,一种盗取QQ密码的木马病毒ShareQQ一旦发作后,会在系统中启动一个名为“spolsv.exe”的进程,该进程名称与系统中控制打印任务的进程“spoolsv.exe”非常相似;“少女心事”病毒的进程名称为“Run32.exe”,它与调用DLLs程序的“rundll32.exe”进程很相似;还有的病毒进程采用“Exp1orer.exe”、“internet.exe”名字,它们看上去几乎与系统进程“Explorer.exe”、“internat.exe”一致。很显然,这些病毒都是通过伪装进程文件名的方法来欺骗用户的;甚至有一些病毒通过修改进程扩展名的方法来达到欺骗目的,例如冰河木马发作时会在系统产生一个名为“Kernel32.exe”的进程,表面上看上去它与Windows 9x系统下的系统文件“Kernel32.dll”很相近,很难发觉它就是冰河木马。
  虽然木马、病毒的进程伪装“本领”很高明,不过任何病毒、木马的进程属性都不可能伪装得与系统正常的进程一模一样,只要您能保持足够的耐心和细心,逐一检查与可疑进程有关的路径信息、应用程序版本信息、日期信息、公司名称信息等,总会找到其中的破绽的。
  例如,您在系统进程列表中找到了“internet.exe”进程,但并不能确定该进程就是木马病毒的“化身”时,您可以按前面方法打开图1所示的系统信息列表窗口,然后仔细比较“internet.exe”进程和“internat.exe”进程,看看它们的路径信息是否相同;要是“internet.exe”进程的路径信息指向一个陌生的位置时,您不妨检查一下自己是否手工运行了对应位置处的应用程序,要是没有手工运行该应用程序时,就能断定“internet.exe”进程是非法进程了。
  如果它们的路径都指向“Winntsystem32”的话,那么您将无法从路径信息中看出“internet.exe”进程到底是否合法。此时,您可以再比较它们的大小信息和版本信息,还可以比较一下它们的日期信息。由于所有系统进程的日期信息都应该是一致的,比方说都为“2000-1-10 20:00:00”,要是“internet.exe”进程的文件日期显示为“2004-1-10 20:00:00”的话,那您就可以断定“internet.exe”进程就是非法进程了。
  当然,如果通过对比进程属性的方法仍然无法断定可疑进程就是病毒或木马的话,那您不妨通过系统任务管理器窗口来检查一下运行可疑进程的“用户名称”究竟是不是“system”名称。如果运行可疑进程的“用户名”不是“system”名称,基本可以肯定它就是木马病毒了,因为任何病毒都无法自动获得“system”运行权限的。在默认状态下,Windows 2000以上版本中的任务管理器窗口是不会直接显示进程的“用户名称”信息的,您可以打开系统的任务管理器窗口,然后依次单击菜单栏中的“查看”→“选择列”命令,在弹出的设置框中选中“用户名”复选项,再单击“确定”按钮,随后您就能在进程列表中看到所有进程的用户名称了。
  当然,许多病毒发作时不只在系统中启动一个进程,这时您就要去相关网站进行进一步搜索了。
  杀死进程,驱除病毒

  经过一番仔细排查、辨别后,终于找到了木马病毒进程,接着您就可以通过系统信息列表窗口找到木马病毒的“藏身之地”,将病毒程序直接删除掉,再通过修改注册表的方式阻止病毒自动重新启动,就完成了手工查杀木马病毒的任务了。
  例如,在查杀QQ消息病毒时,首先执行Ctrl+Alt+Delete命令打开系统的进程列表窗口,从中找到该病毒的进程名称“windows.exe”、“qq3344.exe”、“interneter.exe”。然后打开系统信息列表窗口,发现上述几个病毒进程所在的文件路径都为“c:winntsystem32”。再次重新返回到系统进程列表窗口,选中“windows.exe”进程选项,单击“结束进程”按钮将它杀死了。同样地,再依次杀死“qq3344.exe”进程和“interneter.exe”进程。接下来打开系统资源管理器界面,依次展开其中的“Winnt”目录、“System32”目录,找到该目录下面的qq3344.exe文件、windows.exe文件和interneter.exe文件,并将它们全部删除。
  为防止该病毒“卷土重来”,还需要打开系统的注册表编辑界面,找到HKEY_CURRENT_MACHINESoftware MicrosoftWindowsCurrentVersionRun注册表分支,并将Run分支下面的“internet=C:WINNTsystem32interneter.exe”项目直接删除掉。接着再将鼠标定位于注册表分支HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindows上,然后将Windows分支下面“load=C:WINNTsystem32windows.exe”项目删除掉。这样,QQ消息病毒就被我们手工清除了。
  对于大多数进程病毒,您都可以按照上面的方法来手工查杀。不过也有一些特殊病毒进程,您往往无法在系统任务管理器窗口中直接将其杀死。遇到这种情况时,您可以借助Windows系统内置的“ntsd”命令来杀死这些“顽固不化”的病毒进程。“ntsd”命令可以杀死除CSRSS.EXE、SMSS.EXE、System进程以外的所有进程。
  不过要用“ntsd”命令杀死病毒进程时,首先要在系统进程列表窗口中查找到该病毒的进程标识号。如果进程标识号信息没有显示在任务管理器窗口中时,您可以依次单击菜单栏中的“查看”→“选择列”命令,在随后打开的设置窗口中选中“PID(进程标识符)”选项,再单击“确定”按钮,就可以查看到病毒进程标识号了。
  假设,那个“顽固不化”的病毒进程PID为999,那么您现在就可以将屏幕切换到MS-DOS状态,然后在DOS命令行中执行“ntsd -c q -p 999”命令,就能强行将该病毒进程彻底杀死了。

隐形进程,巧妙杀死

  除了通过伪装手段来躲避各种反病毒软件和人工方式“追捕”之外,还有一些新兴病毒会通过隐藏病毒进程的方式,来阻止病毒进程出现在系统进程列表界面中,或者是通过线程方式直接插入到系统正常的进程中,来逃避人工的搜查。这样一来,我们就无法通过任务管理器窗口轻松找到木马病毒的“藏身之地”。
  遇到这些特殊的病毒,您该如何才能准确地将它们从系统中“揪出”来呢?为了防止避免它们进一步破坏系统,您可以用下面的方法从系统中“揪出”隐藏的病毒进程:
  首先通过Windows系统内置的网络命令检查出系统当前打开了哪些陌生的端口,并将这些端口记录下来。首先将屏幕切换到MS-DOS工作模式,在DOS命令行中输入“netstat -nao”字符串命令(仅适用于Windows XP系统和Windows 2003系统),单击回车键后,弹出的结果界面。从这里您可以清楚地查看到当前系统正在侦听哪些端口,已经打开了哪些端口,以及每个端口使用了什么进程标识号,然后您将陌生端口使用的进程PID记录下来。
  下面,您可以借助Windows 2000 Server系统安装光盘中的support工具包,来查找调用某个进程的应用程序以及该程序的具体路径信息。只要您将Windows 2000安装光盘“supporttools”目录中的“support.cab”文件解压到某个临时目录,例如“D:aaa”,然后将屏幕切换到MS-DOS工作模式。
  接着在DOS命令提示符下利用“cd”命令将当前目录切换到“D:aaa”目录下,再在DOS命令行中执行“tlist.exe PID”命令,系统就能自动将陌生端口的详细信息全部显示出来了,包括该端口使用了什么进程,调用该进程的具体应用程序是什么,以及该应用程序的具体路径是什么等。
  如果发现该应用程序来自陌生路径或者自己根本就没有手工运行它的话,那就能断定该应用程序就是一个病毒程序,此时您可以在DOS命令行中继续执行“taskkill /pid n”字符串命令(其中“n”就代表陌生端口使用的具体进程标识号,而taskkill.exe命令可以在Windows XP安装光盘的tool工具包中找到),来将该病毒程序的进程杀死,以阻止病毒的继续运行。
  然后再按照前面的方法,进入到病毒程序所在的具体目录中,找到并删除病毒程序,同时打开注册表,检查启动项目中是否有隐藏病毒的影子,要是有的话也一并将它删除,以免下次重新启动后病毒自动发作。
  要是手头没有Windows 2000或Windows XP的安装光盘时,您将无法找到“taskkill.exe”、“tlist.exe”命令,此时您不妨到网上下载一个名为“fport”的工具软件,该工具也能非常方便地显示出所有端口的使用进程号以及应用程序的具体路径信息等。只要您将“fport”工具软件下载并解压到某个临时目录中,然后将界面切换到MS-DOS方式,并进入到“fport”软件所在的目录中,再执行“fport”命令,就能查看到对应某个端口的进程信息、应用程序信息以及路径信息了。
  如果木马病毒是通过线程方式插入到系统正常进程中的话,例如病毒隐藏在“Explorer.exe”进程中时,您将无法直接在任务管理器窗口中将其杀死,因为该进程是系统必须的进程,您无法在系统使用该进程的过程中将其关闭。此时,您只有借助一些新版本的木马病毒查杀工具来帮忙,才能将其“揪出”并清除掉,而用手工方法则无法消灭这类木马病毒。
  提示:一个能够进行自身复制的病毒程序发作时,它不仅仅只调用一个进程,还会调用其他的相关子进程,这些进程之间就自动构成了一个进程树。要杀死这类病毒进程时,单纯依靠任务管理器窗口中的“结束任务”命令是无法将它们全部杀干净的。您可以在系统进程列表窗口中选中其中一个病毒进程,并用鼠标右键单击之,从弹出的快捷菜单中执行“结束进程树”命令,就能将该病毒相关的一系列进程全部杀死了。

管理进程,拒绝攻击

  由于绝大多数病毒在发作时,都会在系统的进程列表界面中留下“蛛丝马迹”,因此您只要养成定期管理系统进程的习惯,确保系统时刻只运行一些必须的进程,这样一来任何陌生的进程或新增加的进程出现在进程列表界面中时,都无法逃过您的“法眼”。
  要管理好系统进程,就必须做好以下几件事情:
  首先,定期打开系统的进程列表界面,检查所有进程占用CPU资源或内存资源的情况,倘若某个进程的CPU资源占用率达到了80%以上,或内存资源占用了百兆以上,应将其立即杀死,根本用不着管它有用没用,因为这些进程即使不是病毒,其存在也已经直接导致了系统整体性能的严重下降,更何况许多病毒本身就是通过强行“霸占”系统资源,达到让系统瘫痪目的的。
  其次,将系统中可以运行也可以不运行的进程全部结束掉,以保证进程列表中只留下有限几个必须的系统进程。例如控制输入法显示的internat.exe进程、有关Winamp代理的winampa.exe进程、管理计划任务的mstask.exe进程等,全部可以结束掉,而系统中的Csrss.exe、Smss.exe、Lsass.exe、Svchost.exe、System Idle Process、Services.exe、Explorer.exe等进程都必须保留。
  第三,遇到自己不熟悉的任何进程,都可以将它毫不留情地杀死,而不要担心害怕杀错进程,因为即使杀错了进程,也不会对计算机系统有任何影响,最多只是系统无法正常运行,大不了重新启动一下。
  第四,有许多病毒在发作时,可能会在进程列表中出现两个病毒进程,它们之间互为保护,一旦杀死了其中一个进程后,另外一个进程又会自动将其恢复。这个时候,您一定不要忘了打开系统注册表,找到病毒的启动选项,将其删除掉。接着再通过强行断开电源的方式关闭计算机,然后重新启动系统,再到进程列表中杀死这两个病毒进程。

文章转载地址:http://www.365master.com/kt_article_show.php?article_id=1590&categ_code=10041003

0
相关文章