赤手空拳狙击顽固进程
- 来源:PC电脑王 smarty:if $article.tag?>
- 关键字:任务管理,账户身份,木马 smarty:/if?>
- 发布时间:2015-12-15 11:37
当系统运行异常时,我们最直接的反应就是打开任务管理器,来检查是否有病毒木马进程在捣乱。可有时试图关闭来历不明的可疑进程时,却面临操作失败的困扰。这些顽固的可疑进程采用各种对抗手段,让用户对其束手无策。其实,我们无需借助第三方安全工具,仅仅依靠系统的自带功能,就可以让这些令人厌恶的非法进程彻底失去活力。
1.提升权限,轻松关闭进程
在Windows的任务管理器中,之所以无法关闭顽固进程,究其根源在于权限不足。其实,在系统中还隐藏着一个“隐形”的超级管理员——SYSTEM账户,其权限甚至超过了Administrator账户。使用SYSTEM账户权限,可以随意关闭顽固进程。在命令提示符窗口中执行“sc Create SuperCMD binPath=”cmd/Kstart“type=own type=interact”命令,建立一个名为“SuperCMD”的交互服务。执行“scstart SuperCMD”命令,来启动该交互进程。之后系统会弹出交互式服务检测窗口。
点击其中的“查看消息”按钮,可以以SYTEM账户身份打开命令提示符窗口。在其中执行“taskmgr.exe”程序,就会以SYSTEM账户身份启动任务管理器,这样,就可以有效关停顽固进程了。操作完毕后,在交互式服务检测窗口中点击“立即返回”按钮,回到正常操作界面。如果您使用的是XP系统,可以使用AT命令,来实现上述操作。方法是在CMD窗口中执行“time/t”命令,来查看当前的时间。假设当前时间为上午8:59,执行“at9:00/interactive taskmgr.exe”命令,就可以在上午九点启动任务管理器进程。当达到预设时间后,就会以SYSTEM账户身份启动任务管理器了。
2.活用Taskkill命令,对付顽固进程
在系统中内置了名为Taskkill的工具,可以帮助您清理顽固进程。当然,必须先确定目标进程的ID号才行。在命令提示符窗口中执行“tasklist/svc”命令,可以查看当前所有进程的信息,包括映像名称、PID号、服务等。这样,可以清楚地看到目标进程的PID号。也可以在CMD窗口中执行“wmicprocesslist”命令,使用WMIC工具来查看进程信息。为了便于观察,可以执行诸如“wmic process list>c:procelist.txt”命令,将统计信息导出到“proce list.txt”文件中。使用记事本打开该文件,并取消自动换行功能,就可以完美浏览进程信息了。
也可以在任务管理器中打开“进程”面板,点击菜单“查看→选择列”项,确保选中“PID(进程标识符)”项。在“进程”面板中就可以找到目标进程的ID号了。例如,在命令行窗口中执行“taskkill/PID1916”命令,就可以关闭PID为1916的进程。如果执行“taskkill/PID进程ID/f/t”命令,可以强制关闭指定的进程,同时终止其启用的所有子进程。Taskkill命令有一项绝活就是可以同时关闭多个进程,例如,当需要清除ID号分别为3373、3428、4936等多个进程时,可以执行“Taskkill/f/PID3376/PID3428/PID4936”命令,将其一并清除。
当然,也可以按照进程名称,执行关闭操作。执行“tasklist/im winserver32.exe/f”命令,就可以关闭名为“winserver32.exe”的进程。利用Taskkill命令,可以顺藤摸瓜发现多进程守护型病毒木马。例如执行“taskkill/imdaemon.exe/t”命令,根据返回信息显示该进程是属于PID为736的子进程,该进程的名称为“syswd.exe”,执行“taskkill/imsyswd.exe/t”命令,发现其是PID为1560进程的子进程,经查PID为1560的进程名为“sersec.exe”。这些进程相互守护,无法逐个进行关闭。执行“taskkill/imdaemon.exe/imsyswd.exe/imsersec.exe/f”命令,就可以将其一网打尽。
使用Taskkill命令,还可以快速清除所有失去响应的进程,执行“taskkill/fi”statuse qnot responding“”即可。有时,当发现了某个DLL木马后,却无法将其对应的DLL木马文件删除,究其原因,在于该DLL木马插入到了某个合法进程中。对此,可以执行“taskkill/fi”moduleseqwinspool.dll“”命令,来关闭所有调用“winspool.dll”的进程,假设“winspool.dll”为木马DLL文件。这样,就可以轻松删除DLL木马文件了。
3.终极利器ntsd命令
对于一些很霸道的进程,使用Taskkill命令未必有效。不过,在ntsd命令面前,对付这些霸道进程根本不在话下。Ntsd命令其实是一个系统调试工具,除了系统自身的管理进程,Ntsd命令可谓无坚不摧。按照上述谈到的方法确定需要清除的进程ID号,假设为5100,在命令行窗口中执行“ntsd–cq–p5100”,就可以将其终结掉。其中的“-c”参数表示执行Debug级别的命令,“q”参数表示执行结束后退出,“-p”参数后面跟随具体的进程ID。当然,也可以针对进程名称进行操作,例如想关闭名为“windll.exe”的进程,可以执行“ntsd–cq–pnwindll.exe”,就可以将其关停。当然,对于系统提供的“system”、“SMSS.exe”、“Csrss.exe”、“lsass.exe”等核心进程不要随意关闭。注意,Windows7没有提供ntsd命令,可以从网上下载该工具,之后将其复制到“C:WindowsSystem32”文件夹中,就可以自由使用了。下载地址:http://www.pc6.com/softview/SoftView_25612.html#download。
4.使用“偏方”对付顽固进程
对于某些比较特别的进程,如果使用常规方法无法应对,可以在任务管理器中的“映像路径名称”列中查看其存储位置,之后找到对应的程序文件,在其属性窗口中打开“安全”面板,点击“编辑”按钮,在弹出窗口中的“组或用户名”列表中选择当前的账户(例如“Administrator”),在“拒绝”列中勾选所有项目。这样重启系统之后,该程序就无法运行了,之后就可以将其删除。如果在操作时,出现失败的情况,可能是这些文件受到名为TrustedInstaller账户的保护。为了让当前账户拥有对其控制权,可以在命令提示符窗口中先切换到这些文件所属目录中,执行“takeown/f*/A/R”和“icacls*/t/grant:reveryone:f”命令,就获得了所需的操作权限。
也可以利用映像劫持技术,来对付狡猾的恶意进程。假设其名称为“secsvc.exe”,使用记事本编辑以下内容:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionImageFileExecutionOptionssecsvc.exe]“debugger”=“nofile.exe”
将该文件保存为“norun.reg”,双击该文件就可以为“secsvc.exe”创建映像劫持,当重启系统后该程序试图启动时,系统会“错误地”执行根本不存在的“nofile.exe”程序,从而达到阻止该进程运行的目的。
文/刘景云