早在几年前,就有先知先觉的网友感叹道:人在网上漂,哪能不中标。而到如今,电脑中招更是成了家常便饭。面对这来势汹汹病毒木马们,杀毒软件和防火墙自然是一个都不能少。但有时还是有许多仅仅依靠杀毒软件和防火墙对付不了的顽固分子,这时该怎么办呢?而你可曾知道,在 Windows 系统的命令行中,已经为我们提供一些非常有用的工具,充分利用就会变成我们对抗病毒的强力武器,我们就能更有效地对抗病毒。下面我们就来看看命令行下的强力抗毒武器。
一、TASKLIST——火眼金睛
如今的病毒越来越狡猾,常常不见首也不见尾。但许多病毒往往在进程这一环节中露出狐狸尾巴,因而查看进程是查杀病毒的一个重要的方法。当然我们通过系统的任务管理器或其它功能更强大的进程查看器来查看分析进程,而实际上在命令行也提供了进程查看的命令工具——Tasklist(Windows XP 或更新版本)。此命令与任务管理器一样可以显示活动进程的列表。但通过使用参数,可以看到任务管理器查看不到的信息,但通过运用参数,我们可以实现更强大的功能。使用参数“/M”,运行“Tasklist /M”将显示每个任务加载的所有的 DLL 模块,如图1所示;使用参数“/SVC”,运行“Tasklist /SVC”命令则会显示每个进程中活动服务的列表,如图2,从中我们可以看到进程svchost.exe加载的服务,通过服务就能分辨出究竟是不是恶意病毒进程。此外,我们还能利用Tasklist命令来查看远程系统的进程,例如在命令提示符下输入“Tasklist /s 208.202.12.206 /u friend /p 123456”(不包括引号)即可查看到IP地址为208.202.12.206的远程系统的进程,。其中/s参数后的“208.202.12.206”指要查看的远程系统的IP地址,/u后的“friend”指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的“123456”指friend账号的密码。这样,网管进行远程查杀病毒也就方便多了。
Tasklist命令
Tasklist命令
二.TASKKILL——进程杀手
有了Tasklist这双火眼金睛,许多病毒就现身了,但更重要的不是找出病毒,而是还要清除它们,这时另一个命令——TASKKIL也就能派上用场了。例如想结束某个进程,只需从任务管理器中记下进程名,运行下列命令即可:“TASKKILL /F /IM 进程名”;你也可以通过连接PID的方式,可先运行“Tasklist”命令,记下进程的PID号,在命令提符下输入“taskkill /pid PID号”即可。如图3,运行“taskkill /pid 1656”结束了 PID 为 1656 的进程。说到这里恐怕有人要说这还不如直接利用任务管理器方便。而实际上TASKKILL命令的独门绝技就在于它能结束一些在任务管理器中不能直接中止的进程,这时就要加上参数“/F”,这样就能强制关闭进程,例如运行“TASKKILL /F /pid 1606”命令就能强制结束 PID 为 1656 的进程。除此之外,TASKKILL命令还能结束进程树、远程进程、指定筛选进或筛选出查询的的进程,具体操作可利用“taskkill/?”命令进行查看。
taskkill命令
三. Netstat——端口侦探
如今的木马越来越多,造成的威胁也越来越大,于是出现许多专门用于木马查杀的工具。其实只要我们合理使用命令行下的Netstat命令就能查出大部分隐藏在电脑中的木马。我们知道,大部分木马感染系统后都留有服务端口,而这类服务端口通常都处于LISTENING状态,因而从端口的使用情况可以查到木马的踪迹,而这利用Netstat命令就能轻松实现。在命令行中运行“Netstat –a”,这个命令将显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,如图4所示.其中Proto代表协议,Local Address代表本机地址,该地址冒号后的数字就是开放的端口号,Foreign Address代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,State代表状态,显示的LISTENING表示处于侦听状态,就是说该端口是开放的,由于木马开启后门成功后该后门处于LISTENING状态,因此你需要注意的就是处于LISTENING状态的端口,如果该端口号陌生,而且端口号数很大,你就应该有所警觉。你还可以查看使用端口所对应的进程来进一步确认,这就需要加上参数“-O”,运行“Netstat –ao”命令就会显示一个所有的有效连接信息列表,并给出端口对应的PID号。
Netstat命令
四. FIND——捆绑克星
相信许多人都上过文件捆绑木马的当,表面看起来是一张漂亮MM的图片,而暗地里却隐藏着木马,这种通过文件捆绑进行隐藏是木马的惯用伎俩。而对可疑文件进行必要的检查及时处理往往就能防止产生更严重的后果,于是网上也出现了一些检查捆绑文件的工具。而实际上,在Windows 中,也可通过命令行巧妙地进行简单的检查。这里要用到字符串搜索命令——FIND,它的主要功能是在文件中搜索字符串,我们可以利用它进行捆绑文件的检查。方法为:在命令行下运行“FIND /C /I "This program " 待查文件的路径 ”(不包括外面的引号),如果是EXE文件,正常情况下返回值应该为“1”,如果出现大于1的情况,你就必须小心了;如果是图片之类的不可执行文件,正常情况下返回值应该为“0”,如果出现大于0的情况,就应该引起你的注意。
五. NTSD——强力终结者
如今的病毒越来越狡猾,经常出现即使你能找到它的进程,却不能结束的情况用任务管理器和前面提到的TASKKILL命令都没有办法中止。当然我们可以使用进程管理工具,比如功能强大Process Explorer、IceSword。而实际上使用Windows自带的一个秘密工具就能强制结大部分进程,包括一些十分顽固的进程,这就是NTSD命令。
在命令行中运行以下命令:
ntsd -c q -p PID
最后那个PID指你要终止的进程的ID。当然如果你不知道进程的ID,可通过Tasklist命令,或只需通过任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。
利用NTSD命令,除了System、SMSS.EXE和CSRSS.EXE等极少核心进程不能杀外,其它进程都可以强行结束,几乎能达到IceSword相同的水平。
六. FTYPE——文件关联修复专家
和文件捆绑一样,篡改文件关联也是病毒或木马的惯用伎俩,通常的恢复方法主要是通过修改注册表,但注册表操作通常比较麻烦而且容易出错,而实际上在 Windows 系统中,有另一个更方便的命令行工具——FTYPE,利用它可以非常轻松地恢复文件关联。比如exefile的文件关联最容易被修改,它的正常的文件关联为:"%1" %* 。恢复的时候,只需在命令行中运行下列命令:“ftype exefile="%1" %* ”就可以了。如果要修复txtfile的文件关联,只需输入:“ftype txtfile= %SystemRoot%\system32\NOTEPAD.EXE %1 ”即可。
七. FC——注册表监控器
大家都知道,许多病毒木马都把注册表当作攻击对象,如上面提到的文件关联篡改,而现在所谓的流氓软件之流的不安分的软件在注册表中添加本不应该添加的项值,因而注册表监控就变成十分必要的了。于是出现了许多注册表监控类软件,其实我们完全可以仅用Windows 系统提供的工具就能实现监控(当然这样提到的监控主要是指检查出某个时刻究竟注册表发生的变化)。
下面就以监控安装软件过程对注册表做的修改为例介绍如何实现“监控”:
首先,我们可以在安装软件前备份一次注册表(存储为REG文件,如1.reg),安装后再导出注册表文件(2.reg)然后再在Windows XP 的命令提示行下执行下列命令:
D:>fc /u 1.reg 2.reg>changes.txt
在D盘根目录下再打开changes.txt文件,即可清楚地查看该软件对注册表添加了哪些子项,做了什么修改了。上例中的安装软件是一个特定的时刻,你可能用此方法分析任一时刻注册表可能发生的变化。
怎么样,通过上面的命令行下七种强力抗毒武器,你还是对命令行的功能有了更新的认识了呢?有了这一群命令行下随时等待召唤的抗毒精英,以后对抗病毒也就更有效、更方便,病毒木马们也就难逃法网了。