3128 squid 这是Squid HTTP代理服务器的默认端口。攻击者扫描这个端口是为了搜寻一个代理服务器而匿名访问Internet。你也会看到搜索其它代理服务器的端口:
j=%^CRum 000/8001/8080/8888。扫描这一端口的另一原因是:用户正在进入聊天室。其它用户(或服务器本身)也会检验这个端口以确定用户的机器是否支持代理。请查看5.3节。
C^o9::ER 5632 pcAnywere你会看到很多这个端口的扫描,这依赖于你所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能得代理(译者:指agent而不是proxy)。Hacker/cracker也会寻找开放这种服务的机器,所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描常包含端口22的UDP数据包。参见拨号扫描。
;Jn"^zT 6776 Sub-7 artifact 这个端口是从Sub-7主端口分离出来的用于传送数据的端口。例如当控制者通过电话线控制另一台机器,而被控机器挂断时你将会看到这种情况。因此当另一人以此IP拨入时,他们将会看到持续的,在这个端口的连接企图。(译者:即看到防火墙报告这一端口的连接企图时,并不表示你已被Sub-7控制。)6970 RealAudio
<O5r| RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP7070端口外向控制连接设置13223 PowWow PowWow 是Tribal Voice的聊天程序。它允许用户在此端口打开私人聊天的接。这一程序对于建立连接非常具有“进攻性”。它会“驻扎”在这一TCP端口等待回应。这造成类似心跳间隔的连接企图。如果你是一个拨号用户,从另一个聊天者手中“继承”了IP地址这种情况就会发生:好象很多不同的人在测试这一端口。这一协议使用“OPNG”作为其连接企图的前四个字节。
,Tb~+z|-[ 17027 Conducent这是一个外向连接。这是由于公司内部有人安装了带有Conducent "adbot" 的共享软件。
wX0m8"g@ Conducent "adbot"是为共享软件显示广告服务的。使用这种服务的一种流行的软件是Pkware。有人试验:阻断这一外向连接不会有任何问题,但是封掉IP地址本身将会导致adbots持续在每秒内试图连接多次而导致连接过载:
5&y;r 机器会不断试图解析DNS名—ads.conducent.com,即IP地址216.33.210.40 ;
\,w*K'B_Y 216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(译者:不知NetAnts使用的Radiate是否也有这种现象)
U%Kv}s/(F{ 27374 Sub-7木马(TCP) 参见Subseven部分。
D*>EWlZ 30100 NetSphere木马(TCP) 通常这一端口的扫描是为了寻找中了NetSphere木马。
O:=%{/6&D 31337 Back Orifice “eliteHacker中31337读做“elite”/ei’li:t/(译者:法语,译为中坚力量,精华。即 3=E, 1=L, 7=T)。因此许多后门程序运行于这一端口。其中最有名的是Back Orifice。曾经一段时间内这是Internet上最常见的扫描。现在它的流行越来越少,其它的 木马程序越来越流行。
n9;z= 31789 Hack-a-tack 这一端口的UDP通讯通常是由于"Hack-a-tack"远程访问木马(RAT,Remote Access Trojan)。这种木马包含内置的31790端口扫描器,因此任何31789端口到317890端口的连 接意味着已经有这种入侵。(31789端口是控制连接,317890端口是文件传输连接)
p m4g),s 32770~32900 RPC服务 Sun Solaris的RPC服务在这一范围内。详细的说:早期版本的Solaris(2.5.1之前)将 portmapper置于这一范围内,即使低端口被防火墙封闭仍然允许Hacker/cracker访问这一端口。 扫描这一范围内的端口不是为了寻找portmapper,就是为了寻找可被攻击的已知的RPC服务。
v{N4*P.0T 33434~33600 traceroute 如果你看到这一端口范围内的UDP数据包(且只在此范围之内)则可能是由于traceroute。参见traceroute分。
Y1?"Ut /-#1ys#F= 41508 Inoculan早期版本的Inoculan会在子网内产生大量的UDP通讯用于识别彼此。参见
)w{bT] http://www.circlemud.org/~jelson/software/udpsend.html ^l UV^%f http://www.ccd.bnl.gov/nss/tips/ino...NAT机器的连接。 常看见紧接着1024的端口,它们是系统分配给那些并不在乎使用哪个端口连接的应用程序的“动态端口”。 Server Client 服务描述
d ,Fj|}S 1-5/tcp 动态 FTP 1-5端口意味着sscan脚本
oBA]qI 20/tcp 动态 FTP FTP服务器传送文件的端口
H O^3v34ZO 53 动态 FTP DNS从这个端口发送UDP回应。你也可能看见源/目标端口的TCP连接。
~{#$`o= 123 动态 S/NTP 简单网络时间协议(S/NTP)服务器运行的端口。它们也会发送到这个端口的广播。
>t[beRcR6 27910~27961/udp 动态 Quake Quake或Quake引擎驱动的游戏在这一端口运行其服务器。因此来自这一端口范围的UDP包或发送至这一端口范围的UDP包通常是游戏。
C+*qU 61000以上 动态 FTP 61000以上的端口可能来自Linux NAT服务器(IP asquerade)
U5 `h 查看的方法:
GAZTCkB" Windows本身自带的netstat命令
[3yzVcr~4 关于netstat命令,我们先来看看windows帮助文件中的介绍:
4k
HFfc RGeM. Netstat
:QndeUw 显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
4@K9% ,&DK*LT8U netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
.`iG}j)\ ElAho3W 参数
I^M%+\ q(i^sE[y -a
P9Gjsu # &B^zu+J 显示所有连接和侦听端口。服务器连接通常不显示。
yqy5i{Y )yV|vn -e
19Cs
3B \4 (RDY-~#~ 显示以太网统计。该参数可以与 -s 选项结合使用。
B8jSdlvz N=>6PLie -n
&=1Ag}l57 qk;vn}auD] 以数字格式显示地址和端口号(而不是尝试查找名称)。
-8L22t x[mxp/
/P -s
I9! eL4e K3jPTAw=# 显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
c+6/@y 02Ftn&bi -p protocol
m=^`u:= &GF|Rr8NXs 显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
4"OUmh9LHB egBjr? -r
]s*Fs]1+H E8TJ*ZU 显示路由表的内容。
[0_JS 2KE `y&d interval
C~do*rnM^ GM.2bA(y 重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
qf/1a CQiP 4H7
3a5f =h?Q.vad 好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数:
!Gv*iWg C:\>netstat -an
BrW1:2w
>\ "6T: &> Active Connections
*WSH-*0 - nWs@\ Proto Local Address Foreign Address State
R^%uEP TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
'~dE0ohWb TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
64Ot`=A" TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
.U8Se+; UDP 0.0.0.0:445 0.0.0.0:0
$ae*3L>5M UDP 0.0.0.0:1046 0.0.0.0:0
A),nkw0X UDP 0.0.0.0:1047 0.0.0.0:0
#n= b*. KY)rkfo B -29Sw 解释一下,Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称,Local Address是本地计算机的 IP 地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的 IP 地址和端口号,State则是表明TCP 连接的状态,你可以看到后面三行的监听端口是UDP协议的,所以没有State表示的状态。看!我的机器的7626端口已经开放,正在监听等待连接,像这样的情况极有可能是已经感染了冰河!急忙断开网络,用杀毒软件查杀病毒是正确的做法。
; Nw. |E\0Rv{H3 2.工作在windows2000下的命令行工具fport
/PP\L]( ryz
[A:^G 使用windows2000的朋友要比使用windows9X的幸运一些,因为可以使用fport这个程序来显示本机开放端口与进程的对应关系。
traJub Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息的软件。在命令行下使用,请看例子:
3xhv~be D:\>fport.exe
VS$ZR'OP0 FPort v1.33 - TCP/IP Process to Port Mapper
&&iZ?JteZ Copyright 2000 by Foundstone, Inc.
wi#]*\N\9 http://www.foundstone.com gTI!b @w1@|"6vF Pid Process Port Proto Path
Jjb(l W 748 tcpsvcs -> 7 TCP C:\WINNT\System32\ tcpsvcs.exe
8S&Kf>D 748 tcpsvcs -> 9 TCP C:\WINNT\System32\tcpsvcs.exe
JHY0J
&4s 748 tcpsvcs -> 19 TCP C:\WINNT\System32\tcpsvcs.exe
'4PAH2&n 416 svchost -> 135 TCP C:\WINNT\system32\svchost.exe
^!]Hm&.a ^ <Z^3c>/ #1MEmt 是不是一目了然了。这下,各个端口究竟是什么程序打开的就都在你眼皮底下了。如果发现有某个可疑程序打开了某个可疑端口,可千万不要大意哦,也许那就是一只狡猾的木马!
RP]hW{:U Fport的最新版本是2.0。在很多网站都提供下载,但是为了安全起见,当然最好还是到它的老家去下:
http://www.foundstone.com/knowledge/zips/fport.zip 7m;2M]BRi 3.与Fport功能类似的图形化界面工具Active Ports
zl>l.zJ stnyJ9 Active Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口,不但可以将你所有的端口显示出来,还显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。
ALw5M'6q0\ Te%'9-jk =e7,d$i 更棒的是,它还提供了一个关闭端口的功能,在你用它发现木马开放的端口时,可以立即将端口关闭。这个软件工作在Windows NT/2000/XP平台下。你可以在
http://www.smartline.ru/software/aports.zip得到它。
q% Eze 其实使用windows xp的用户无须借助其它软件即可以得到端口与进程的对应关系,因为windows xp所带的netstat命令比以前的版本多了一个O参数,使用这个参数就可以得出端口与进程的对应来。
'1)BZ!
上面介绍了几种查看本机开放端口,以及端口和进程对应关系的方法,通过这些方法可以轻松的发现基于TCP/UDP协议的木马,希望能给你的爱机带来帮助。但是对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以我们一定要养成良好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件,像国内的瑞星就是个查杀病毒和木马的好帮手。从网上下载的软件先用杀毒软件检查一遍再使用,在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被可恨的木马入侵。
!B==cNq 怎样关掉端口
/Kmzi9j+ 每一项服务都对应相应的端口,比如众如周知的WWW服务的端口是80,smtp是25,ftp是21,win2000安装中默认的都是这些服务开启的。对于个人用户来说确实没有必要,关掉端口也就是关闭无用的服务。 “控制面板”的“管理工具”中的“服务”中来配置。
6qA48:/F= 1、关闭7.9等等端口:关闭Simple TCP/IP Service,支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。
m`<Mzk.u< 2、关闭80口:关掉WWW服务。在“服务”中显示名称为"World Wide Web Publishing Service",通过 Internet 信息服务的管理单元提供 Web 连接和管理。
L[zg2y 3、关掉25端口:关闭Simple Mail Transport Protocol (SMTP)服务,它提供的功能是跨网传送电子邮件。
Sd;/yC 8 4、关掉21端口:关闭FTP Publishing Service,它提供的服务是通过 Internet 信息服务的管理单元提供 FTP 连接和管理。
15Vb`Vf`N 5、关掉23端口:关闭Telnet服务,它允许远程用户登录到系统并且使用命令行运行控制台程序。
; 6Wlu3I 6、还有一个很重要的就是关闭server服务,此服务提供 RPC 支持、文件、打印以及命名管道共享。关掉它就关掉了win2k的默认共享,比如ipc$、c$、admin$等等,此服务关闭不影响您的共他操作。
IAt;?4 8?S32Gdu 7、还有一个就是139端口,139端口是NetBIOS Session端口,用来文件和打印共享,注意的是运行samba的unix机器也开放了139端口,功能一样。以前流光2000用来判断对方主机类型不太准确,估计就是139端口开放既认为是NT机,现在好了。 关闭139口听方法是在“网络和拨号连接”中“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。 对于个人用户来说,可以在各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动,端口也开放了。
7@g8nv(p 隐秘的几种端口的入侵方法
6KiI3%y?0 利用“http暗藏通道”大举攻破局域网
t&UPU&tY 什么是http暗藏通道?什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务。比如,在防火墙上仅仅开放80,53两个端口,那么无论是内部还是外面的恶意人士都将无法使用一些已经证明比较危险的服务。
[@ ]f@Wd NiU}A$U 但要注意一点,防火墙在某种意义上是很愚蠢的,管理员对防火墙的过分依赖以及从而产生的懈怠情绪将不可避免的形成安全上的重大隐患,作为一个证明,"通道"技术就是一个很好的例子,这也是本文要讨论的。
-Iz&/u*}f G| pZ 那么什么是通道呢?这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端口上,然后穿过防火墙与对端通讯,当封装的数据包到达目的地时,再将数据包还原,并将还原后的数据包交送到相应的服务上。举例如下:
q!#e2Dx ?45 kN=%*s A 主机系统在防火墙之后,受防火墙保护,防火墙配置的访问控制原则是只允许80端口的数据进出,B主机系统在防火墙之外,是开放的。现在假设需要从A系统 Telnet到B系统上去,怎么办?使用正常的telnet肯定是不可能了,但我们知道可用的只有80端口,那么这个时候使用Httptunnel通道,就是一个好的办法,思路如下:
\14"B gj1 =
GirUW D 在A机器上起一个tunnel的client端,让它侦听本机的一个不被使用的任意指定端口,如 1234,同时将来自1234端口上的数据指引到远端(B机)的80端口上(注意,是80端口,防火墙允许通过),然后在B机上起一个 server,同样挂接在80端口上,同时指引80端口的来自client的转发到本机的telnet服务端口23,这样就ok了。现在在A机上 telnet本机端口1234,根据刚才的设置数据包会被转发到目标端口为80的B机,因为防火墙允许通过80端口的数据,因此数据包畅通的穿过防火墙,到达B机。此时B机在80端口侦听的进程收到来自A的数据包,会将数据包还原,再交还给telnet进程。当数据包需要由B到A返回时,将由80端口再回送,同样可以顺利的通过防火墙。
Wvl>i HB v}hmI']yf 实际上tunnel概念已经产生很久了,而且很有可能读者使用过类似的技术,比如下面的网址
http://www.http-tunnel.com。它是一个专业提供tunnel服务的公司,通过他们的在线tunnel server,局域网内的用户可以使用被防火墙所屏蔽的ICQ,E-MAIL,pcanywhere, AIM,MSN, Yahoo,Morpheus,Napster等等诸多软件。我们看到,这里有ICQ,Napster等软件,相信我们的读者很多都使用过走proxy的 ICQ,OICQ等等,其实他们的原理是差不多的。
@;}bBHQz{p ^(I4Do~} 什么是Httptunnel
%dTkw+J 66<3zadJZU 作为一个实际的例子,我们下面来介绍一个在"非公开领域"使用的的通道软件,httptunnel。在httptunnel主页上有这么一端话, httptunnel creates a bidirectional virtual data connection tunnelled in HTTP requests. The HTTP requests can be sent via an HTTP proxy if so desired. This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and, say, telnet or PPP to connect to a computer outside the firewall.
96a A2s1 :>to?~Z1 从这段说明中我们可以看出来它就是我们今天说要介绍的tunnel技术的一个证明,我们下面大致介绍一下它的使用。
dzZ74FE!t BM*9d%m^ httptunnel目前比较稳定的版本是3.0.5, 支持各种常见的unix系统,包括window平台。可以从相关站点下载,它的安装是比较简单的,照INSTALL文件做就可以了,这里不介绍。
#LlHsY530N >:M3!6H_~{ 整个软件安装完毕后,我们会得到两个关键文件,htc和hts,其中htc是客户端©,而hts是server(s)端,我们来看看具体怎么使用的。
R}F0_. !RLg[_' 假设有A(域名client.yiming.com)机,B(域名server.yiming.com)机,两机均为solaris环境,A机在防火墙保护中,B机在防火墙以外,防火墙的管理员控制了访问规则,仅ALLOW 80和53端口的进出数据包。而我们的任务是要利用Httptunnel从A机telnet到B机上,穿过防火墙的限制。操作如下:
y@[}FgVOh G l+[|?N 首先我们在A上启动client端,命令很简单: client.yiming.com#htc -F 1234 server.yiming.com:80, 实际上tunnel概念已经产生很久了,而且很有可能读者使用过类似的技术,比如下面的网址
http://www.http-tunnel.com。它是一个专业提供tunnel服务的公司,通过他们的在线tunnel server,局域网内的用户可以使用被防火墙所屏蔽的ICQ,E-MAIL,pcanywhere, AIM,MSN, Yahoo,Morpheus,Napster等等诸多软件。我们看到,这里有ICQ,Napster等软件,相信我们的读者很多都使用过走proxy的 ICQ,OICQ等等,其实他们的原理是差不多的。
&?^S`V8R* 从这段说明中我们可以看出来它就是我们今天说要介绍的tunnel技术的一个证明,我们下面大致介绍一下它的使用。
E
3b`GRay Y)Y`9u<? httptunnel目前比较稳定的版本是3.0.5, 支持各种常见的unix系统,包括window平台。可以从相关站点下载,它的安装是比较简单的,照INSTALL文件做就可以了,这里不介绍。
!oeu 4 vwa/? 整个软件安装完毕后,我们会得到两个关键文件,htc和hts,其中htc是客户端©,而hts是server(s)端,我们来看看具体怎么使用的。
orn9;|8q oxE'u< 假设有A(域名client.yiming.com)机,B(域名server.yiming.com)机,两机均为solaris环境,A机在防火墙保护中,B机在防火墙以外,防火墙的管理员控制了访问规则,仅ALLOW 80和53端口的进出数据包。而我们的任务是要利用Httptunnel从A机telnet到B机上,穿过防火墙的限制。操作如下:
;crQ7}k ;bVC7D~~4w 首先我们在A上启动client端,命令很简单: client.yiming.com#htc -F 1234 server.yiming.com:80, server.yiming.com#tcpdump host client.yiming.com
ig:/60Z mH>oF| tcpdump: listening on hme0
U0'> (FP~2 5EDN 9?a 14:42:54.213699 client.yiming.com.51767 > server.yiming.com.80: S 1237977857:1237977857(0) win 8760 (DF)
o{yEF1,c\ \1'3--n 14:42:54.213767server.yiming.com.80 > client.yiming.com.51767: S 1607785698:1607785698(0) ack 1237977858 win 8760 (DF)
(OT /o&cQ 5Qhu5~,K 14:42:54.216186 client.yiming.com.51768 > server.yiming.com.80: . ack 1 win 8760 (DF)
V6"<lK8"
#|fa/kb~ 14:42:54.218661 client.yiming.com.51768 > server.yiming.com.80: P 1:44(43) ack 1 win 8760 (DF)
vCT5do"C& fk)ts,p? 14:42:54.218728 client.yiming.com.51768 > server.yiming.com.80: P 44:48(4) ack 1 win 8760 (DF)
tS,nO:+x |du@iA]dP 篇幅所限,上面只是截取了结果中的一点点数据包,但已经可以说明问题了,我们看到server和client之间顺利的完成了三次握手,然后开始push数据,而且通讯确实走的是80端口。有点意思噢。
*,hS- LtKiJ.j?A 看是看出来了,但太不直白,到底在搞什么呀,我们再稍微改动一下tcpdump的运行方式,进一步在来看看telnet的数据是否被封装在80端口的数据包内传输?
_ngyai1 server.yiming.com#tcpdump -X host client.yiming.com
?)x>GB(9ZN !YL|R[nDH| 14:43:05.246911 server.yiming.com.80 > client.yiming.com.51768: . 2997:4457(1460) ack 89 win 8760 (DF)
([zt}uf DGr{x}Kq 0x0000 4500 05dc 3b23 4000 ff06 e2c2 yyyy yyyy E...;#@......f.D
6Y6DkFdvrZ {g}!M^| 0x0010 xxxx xxxx 0050 de42 5fd5 ac4f 39ac 016f .f.#.P.B_..O9..o
6V\YYrUz S (](C 0x0020 5010 2238 98e4 0000 746f 7461 6c20 3636 P."8....total.66
$5y%\A %pgie"k 0x0030 370d 0a64 7277 7872 2d78 722d 7820 2032 7..drwxr-xr-x..2
tLe!_p) Q=J"#EFs 0x0040 3920 726f 6f74 2020 2020 2072 6f6f 7420 9.root.....root.