由于木马是基于远程控制的程序,因此中木马的机器会开有特定的端口。一般一台个人用的系统在开机后最多只有137、138、139三个端口。若上网冲浪会有其他端口,这是本机与网上主机通讯时打开的,浏览器一般会打开连续的端口:1025,1026,1027……,4000、4001……等端口。
在DOS命令行下用netstat -na命令可以看到本机所有打开的端口。如果发现除了以上所说的端口外,还有其他端口被占用(特别是木马常用端口被占用),那可要好好查查了,你很有可能“中彩”了!比方说木马“冰河”所占用的端口是7626,黑洞2001所占用的端口是2001,网络公牛用的是234444端口……如果发现这些端口被占用了,基本上就可以判定: 你中木马了!
--------------------------------------------------------------------------------------------------------------------------------------
木马,其实质只是一个网络客户/服务程序。网络客户/服务模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机)。作为服务器的主机一般会打开一个默认的端口并进行监听 (Listen), 如果有客户机向服务器的这一端口提出连接请求(Connect Request), 服务器上的相应程序就会自动运行,来应答客户机的请求,这个程序称为守护进程。就我们前面所讲的木马来说,被控制端相当于一台服务器,控制端则相当于一台客户机,被控制端为控制端提供服务。
--------------------------------------------------------------------------------------------------------------------------------------
查找有无木马
首先要使你的系统能显示隐藏文件,因为一些木马文件属性是隐藏的。
多数木马都会把自身复制到系统目录下并加入启动项(如果不复制到系统目录下则很容易被发现,不加入启动项在重启后木马就不执行了),启动项一般都是加在注册表中的,具体位置在:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion 下所有以“run”开头的键值;
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion 下所有以“run”开头的键值;
HKEY_USERS.DefaultSoftwareMicrosoftWindowsCurrentVersion下所有以“Run”开头的键值。
如木马冰河的启动键值是:
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun] @="C:WINDOWSSYSTEMKERNEL32.EXE"
广外女生1.51版的启动键值是:
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices]
"Diagnostic Configuration"="C:WINDOWSSYSTEMDIAGCFG.EXE"
蓝色火焰0.5的启动键值是:
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun]
"Network Services"="C:WINDOWSSYSTEMtasksvc.exe"
不过,也有一些木马不在这些地方加载,它们躲在下面这些地方:
1在Win.ini中启动
在Win.ini的[windows]字段中有启动命令“load=”和“run=”,在一般情况下“=”后面是空白的,如果有后跟程序,比方说是这个样子:
run=c:windowsfile.exe
load=c:windowsfile.exe
要小心了,这个file.exe很可能是木马。
2在System.ini中启动
System.ini位于Windows的安装目录下,其[boot]字段的shell=Explorer.exe 是木马喜欢的隐蔽加载之所,木马通常的做法是将该句变为这样:shell=Explorer. exe window.exe,注意这里的window.exe就是木马程序。