黑客的探测方式里除了侦察IP,还有一项——端口扫描。通过“端口扫描”可以知道被扫描的计算机哪些服务、端口是打开而没有被使用的(可以理解为寻找通往计算机的通道)。
一、端口扫描
网上很容易找到远程端口扫描的工具,如Superscan、IP Scanner、Fluxay(流光)等(
如图1),这就是用“流光”对试验主机192.168.1.8进行端口扫描后的结果。从中我们可以清楚地了解,该主机的哪些非常用端口是打开的;是否支持FTP、Web服务;且FTP服务是否支持“匿名”,以及IIS版本,是否有可以被成功攻破的IIS漏洞也显示出来。
二、阻止端口扫描
防范端口扫描的方法有两个:
1.关闭闲置和有潜在危险的端口
这个方法有些“死板”,它的本质是——将所有用户需要用到的正常计算机端口外的其他端口都关闭掉。因为就黑客而言,所有的端口都可能成为攻击的目标。换 句话说“计算机的所有对外通讯的端口都存在潜在的危险”,而一些系统必要的通讯端口,如访问网页需要的HTTP(80端口);QQ(4000端口)等不能 被关闭。
在Windows NT核心系统(Windows 2000/XP/ 2003)中要关闭掉一些闲置端口是比较方便的,可以采用“定向关闭指定服务的端口”和“只开放允许端口的方式”。计算机的一些网络服务会有系统分配默认 的端口,将一些闲置的服务关闭掉,其对应的端口也会被关闭了(如图2)。进入“控制面板”、“管理工具”、“服务”项内,关闭掉计算机的一些没有使用的服 务(如FTP服务、DNS服务、IIS Admin服务等等),它们对应的端口也被停用了。至于“只开放允许端口的方式”,可以利用系统的“TCP/IP筛选”功能实现,设置的时候,“只允许” 系统的一些基本网络通讯需要的端口即可。
2.检查各端口,有端口扫描的症状时,立即屏蔽该端口
这种预防端口扫描的方式显然用户自己手工是不可能完成的,或者说完成起来相当困难,需要借助软件。这些软件就是我们常用的网络防火墙。
防火墙的工作原理是:首先检查每个到达你的电脑的数据包,在这个包被你机上运行的任何软件看到之前,防火墙有完全的否决权,可以禁止你的电脑接收 Internet上的任何东西。当第一个请求建立连接的包被你的电脑回应后,一个“TCP/IP端口”被打开;端口扫描时,对方计算机不断和本地计算机建 立连接,并逐渐打开各个服务所对应的“TCP/IP端口”及闲置端口,防火墙经过自带的拦截规则判断,就能够知道对方是否正进行端口扫描,并拦截掉对方发 送过来的所有扫描需要的数据包。
现在市面上几乎所有网络防火墙都能够抵御端口扫描,在默认安装后,应该检查一些防火墙所拦截的端口扫描规则是否被选中,否则它会放行端口扫描,而只是在日志中留下信息而已。
常见端口关闭
113端口木马的清除(仅适用于windows系统):
这是一个基于irc聊天室控制的木马程序。
1.首先使用netstat -an命令确定自己的系统上是否开放了113端口
2.使用fport命令察看出是哪个程序在监听113端口
fport工具下载
例如我们用fport看到如下结果:
Pid Process Port Proto Path
392 svchost -> 113 TCP C:/WINNT/system32/vhos.exe
我们就可以确定在监听在113端口的木马程序是vhos.exe而该程序所在的路径为c:/winnt/system32下。
3.确定了木马程序名(就是监听113端口的程序)后,在任务管理器中查找到该进程,并使用管理器结束该进程。
4.在开始-运行中键入regedit运行注册表管理程序,在注册表里查找刚才找到那个程序,并将相关的键值全部删掉。
5.到木马程序所在的目录下删除该木马程序。(通常木马还会包括其他一些程序,如rscan.exe、psexec.exe、ipcpass.dic、ipcscan.txt等,根据木马程序不同,文件也有所不同,你可以通过察看程序的生成和修改的时间来确定与监听113端口的木马程序有关的其他程序)
6.重新启动机器。
3389端口的关闭:
首先说明3389端口是windows的远程管理终端所开的端口,它并不是一个木马程序,请先确定该服务是否是你自己开放的。如果不是必须的,请关闭该服务。
win2000关闭的方法:
win2000server 开始-->程序-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务。
win2000pro 开始-->设置-->控制面板-->管理工具-->服务里找到Terminal Services服务项,选中属性选项将启动类型改成手动,并停止该服务。
winxp关闭的方法:
在我的电脑上点右键选属性-->远程,将里面的远程协助和远程桌面两个选项框里的勾去掉。
4899端口的关闭:
首先说明4899端口是一个远程控制软件(remote administrator)服务端监听的端口,他不能算是一个木马程序,但是具有远程控制功能,通常杀毒软件是无法查出它来的,请先确定该服务是否是你自己开放并且是必需的。如果不是请关闭它。
关闭4899端口:
请在开始-->运行中输入cmd(98以下为command),然后cd C:/winnt/system32(你的系统安装目录),输入r_server.exe /stop后按回车。然后在输入r_server /uninstall /silence到C:/winnt/system32(系统目录)下删除r_server.exe admdll.dll radbrv.dll三个文件
5800,5900端口:
1.首先使用fport命令确定出监听在5800和5900端口的程序所在位置(通常会是c:/winnt/fonts/explorer.exe)
2.在任务管理器中杀掉相关的进程(注意有一个是系统本身正常的,请注意!如果错杀可以重新运行c:/winnt/explorer.exe)
3.删除C:/winnt/fonts/中的explorer.exe程序。
4.删除注册表HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run中的Explorer项。
5.重新启动机器。
6129端口的关闭:
首先说明6129端口是一个远程控制软件(dameware nt utilities)服务端监听得端口,他不是一个木马程序,但是具有远程控制功能,通常的杀毒软件是无法查出它来的。请先确定该服务是否是你自己安装并且是必需的,如果不是请关闭。
关闭6129端口:
选择开始-->设置-->控制面板-->管理工具-->服务
找到DameWare Mini Remote Control项点击右键选择属性选项,将启动类型改成禁用后停止该服务。
到c:/winnt/system32(系统目录)下将DWRCS.EXE程序删除。
到注册表内将HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/DWMRCS表项删除。
1029端口和20168端口:
这两个端口是lovgate蠕虫所开放的后门端口。
蠕虫相关信息请参见:Lovgate蠕虫
你可以下载专杀工具:FixLGate.exe
使用方法:下载后直接运行,在该程序运行结束后重起机器后再运行一遍该程序。
45576端口:
这是一个代理软件的控制端口,请先确定该代理软件并非你自己安装(代理软件会给你的机器带来额外的流量)
关闭代理软件:
1.请先使用fport察看出该代理软件所在的位置
2.在服务中关闭该服务(通常为SkSocks),将该服务关掉。
3.到该程序所在目录下将该程序删除。
查看开放端口判断木马的方法
当 前最为常见的木马通常是基于TCP/UDP协议进行client端与server端之间的通讯的,既然利用到这两个协议,就不可避免要在server端 (就是被种了木马的机器了)打开监听端口来等待连接。例如鼎鼎大名的冰河使用的监听端口是7626,Back Orifice 2000则是使用54320等等。那么,我们可以利用查看本机开放端口的方法来检查自己是否被种了木马或其它黑客程序。以下是详细方法介绍。
1. Windows本身自带的netstat命令
关于netstat命令,我们先来看看windows帮助文件中的介绍:
Netstat
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数
-a
显示所有连接和侦听端口。服务器连接通常不显示。
-e
显示以太网统计。该参数可以与 -s 选项结合使用。
-n
以数字格式显示地址和端口号(而不是尝试查找名称)。
-s
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
-p protocol
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
-r
显示路由表的内容。
interval
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数:
C:/>netstat -an
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
UDP 0.0.0.0:445 0.0.0.0:0
UDP 0.0.0.0:1046 0.0.0.0:0
UDP 0.0.0.0:1047 0.0.0.0:0
解释一下,Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称,Local Address是本地计算机的 IP 地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的 IP 地址和端口号,State则是表明TCP 连接的状态,你可以看到后面三行的监听端口是UDP协议的,所以没有State表示的状态。看!我的机器的7626端口已经开放,正在监听等待连接,像这 样的情况极有可能是已经感染了冰河!急忙断开网络,用杀毒软件查杀病毒是正确的做法。
2. 工作在windows2000下的命令行工具fport
使用windows2000的朋友要比使用windows9X的幸运一些,因为可以使用fport这个程序来显示本机开放端口与进程的对应关系。
Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息的软件。在命令行下使用,请看例子:
D:/>fport.exe
FPort v1.33 - TCP/IP Process to Port Mapper
Copyright 2000 by Foundstone, Inc.
http://www.foundstone.com
Pid Process Port Proto Path
748 tcpsvcs -> 7 TCP C:/WINNT/System32/ tcpsvcs.exe
748 tcpsvcs -> 9 TCP C:/WINNT/System32/tcpsvcs.exe
748 tcpsvcs -> 19 TCP C:/WINNT/System32/tcpsvcs.exe
416 svchost -> 135 TCP C:/WINNT/system32/svchost.exe
是不是一目了然了。这下,各个端口究竟是什么程序打开的就都在你眼皮底下了。如果发现有某个可疑程序打开了某个可疑端口,可千万不要大意哦,也许那就是一只狡猾的木马!
Fport的最新版本是2.0。在很多网站都提供下载,但是为了安全起见,当然最好还是到它的老家去下:http://www.foundstone.com/knowledge/zips/fport.zip
3. 与Fport功能类似的图形化界面工具Active Ports
Active Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口,不但可以将你所有的端口显示出来,还显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。
是不是很直观?更棒的是,它还提供了一个关闭端口的功能,在你用它发现木马开放的端口时,可以立即将端口关闭。这个软件工作在Windows NT/2000/XP平台下。
上 面介绍了几种查看本机开放端口,以及端口和进程对应关系的方法,通过这些方法可以轻松的发现基于TCP/UDP协议的木马,希望能给你的爱机带来帮助。但 是对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以我们一定要养成良 好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件,像国内的瑞星就是个查杀病毒和木马的好帮手。从网上下载的软件先用杀毒软件检查一遍再使用, 在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被可恨的木马入侵。