大家知道,查杀木马很麻烦,要动用的"兵器"很多:杀毒软件如金山毒霸,专门的查杀木马软件如木马克星,进程管理软件如柳叶擦眼,端口扫描工具如portscan……实在是太浪费系统资源,效果也不见得好。其实,完全不必这么兴师动众。在DOS或命令行下就可以解决问题。
首先,说说原理。由于木马是基于远程控制的程序,因此中木马者的机器一般部开有特定的端口(端口即控制端和服务端之间的数据人口,通过这个入口,数据可直达控制端程序或木马程序。)。比方说如果中了木马灰鸽子,则8225端口会被打开;如果中了黑洞2001,则2001端口会被开放,网络公牛用的则是234444端口……如果你发现了这些端口被占用了,基本上就可以判定:你中木马了!这也是我们为什么要用端口扫描工具扫描自已电脑的原因这一,通过扫描自己电脑的端口,就可以知道是否有木马存在!
当然,以上只是以木马末被配置或默认情况来说的。实际情况可能是木马所开端口不是这些。但万变不离其宗。木马要传递消息必然要使用特定的端口(针对目前绝大多数木马而言),因此我们可以通过这个木马的小辫子来抓住它!
一般说来,一台个人用的电脑,在正常情况下,开机后最多只有137、138、139这3个端口开放。若上网冲浪会有其他端口,这是本机与网上主机通讯时打开的。比方说,用IE浏览网页会打开连续的端口:1025,1026,1027……使用QQ会打开4000、4001端口……而木马多用1024以上的端口。因此,发现有大端口被打开,则很有可能是木马所开,这就是我们在DOS下查杀木马的理论基础之一:扫描本地端口可以发现木马!
通过扫描端口可以知道,哪个端口被打开,正与internet上哪个IP地址通信,这样可以及时发现并拦截非法连接。用DOS命令netstatn就可以看到本机所有打开的端口,如图7-2-1所示。如果发现有类型23444之类的高端口有连接建立,就要小心点,你可能中木马了!起快断线下网好好查查吧!
图7-2-1
上面说的是在DOS下手工扫描端口的方法,如果还能做到手工查杀木马进程就更好了。其实,这也是可以办到的。条件是你使用的操作系统是Win2000才可以。在Win2000的光盘里,找到support\tools文件夹,里面有一个*.msi文件,运行它。会安装Win2000的附加工具,安装完成后,在C:\Program Files下出现一个名为Support Tools的文件夹。在该文件夹中有两个文件kill.exe和tlist.exe,这两个小程序对我们非常有用。
TList是任务与进程显示工具,它的作用是可以列出机器中加载的全部任务、进程名字及PID号。只使用TList这个命令,不使用任何参数就可以列出正在运行的进程名称、PID号、窗口标题文字 (如果有的话)。kill.exe可以杀死进程,用kill pid命令即可,其中的过d代表进程号,运行thst后可以看到该进程号。
明白了道理,让我们正式开始吧。打开cmd命令行,键入TUst,是不是看到很多文件?而且格式都是一行数宇后跟一个应用程序的名字,就像下边所列出的那样:
0
SystemIdleProcess
2
System
20
srnss.exe
26
csrss.exe
34
WINLOGON.EXE
42
SERVICES.EXE
45
LSASS.EXE
72
SPOOLSS.EXE
91
NETTIME.EXE
64
navapsvc.exe
……
198
Notepad Untitled Notepad
214
TLIST.EXE
知道tlist命令的作用了吧?第一部分 (即数字)就是前面提到的 "pid",是进程号,如果我们想要杀掉某个进程的话,只要使用命令killpid就可以了。例如198即为正在运行的记事本程序Notepad.exe的进程号,要想终止该迸程,键入灿且198即可。如果要杀木马的进程,用同样的方法即可。是不是很简单啊?
好了,就说到这里,欢迎大家批评指导。