黑客攻防技术内幕-网络安全初步(8)
2.3 端 口 对 照
一个端口就是一个潜在的通信通道,也就是一个入侵通道,开放一个端口就是一台计算机在Internet打开的一扇窗口,黑客主要的入侵方法就是用手工扫描或是端口扫描软件找出服务器所开放的端口,从而根椐其漏洞对服务器进行攻击,因此了解端口对防范入侵者攻击起着很重要的作用。
端口可分为3大类:
● 公认端口(Well Known Ports):从0~1023,它们紧密绑定于一些服务。通常这些端口的通信明确表明了某种服务的协议。例如,80端口实际上总是HTTP通信。
● 注册端口(Registered Ports):从1024~49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。例如:许多系统处理动态端口从1024开始。
● 动态和/或私有端口(Dynamic and/or Private Ports):从49 152~65 535。理论上,不应为服务分配这些端口。实际上,计算机通常从1024起分配动态端口。但也有例外,SUN的RPC端口从32 768开始。
接下来看看端口的分配及入侵者的利用,如表2-2所示。
表2-2 常见端口对照
端 口 | 服 务 | 说 明 |
0 | Reserved | 通常用于分析操作系统。这一方法能够工作是因为在一些系统中"0"是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播 |
1 | tcpmux | 这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Iris机器在发布时含有几个默认的无密码的账户,如lp,guest,uucp,nuucp,demos,tutor,diag,Ezsetup,OutOfBox和4Dgifts。许多管理员在安装后忘记删除这些账户。因此Hacker们在Internet上搜索tcpmux并利用这些账户 |
7 | Echo | 能看到许多人们搜索Fraggle放大器时,发送到x.x.x.0和x.x.x.255的信息 |
19 | Character Generator | 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载 |
21 | FTP | FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的ftp服务器的方法。这些服务器带有可读写的目录。 木马Blade Runner、Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash所开放的端口 |
22 | Ssh | PcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少漏洞的存在 |
23 | Telnet | 远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其他技术,入侵者也会找到密码。 木马Tiny Telnet Server 所开放的端口 |
25 | SMTP | SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的spam。入侵者的账户被关闭,他们需要拨号连接到高带宽的E-mail服务器上,将简单的信息传递到不同的地址。 木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、Terminator、WinPC、WinSpy 所开放的端口 |
端 口 | 服 务 | 说 明 |
31 | MSG Authentication | 木马Master Paradise、Hackers Paradise所开放的端口 |
53 | Domain Name Server | DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他通信。因此防火墙常常过滤或记录53端口 |
67 | Bootstrap Protocol Server | 通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的中间人(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址 |
69 | Trivial File Transfer | 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何文件,如密码文件。它们也可用于向系统写入文件 |
79 | Finger server | 入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器finger扫描 |
80 | HTTP | 用于网页浏览 木马Executor 所开放的端口 |
99 | Metagram Relay | 后门程序ncx99开放的端口 |
109 | Post Office Protocol - Version 2 | POP2端口,并不像POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在 |
110 | Post Office Protocol - Version 3 | POP3服务器所开放的端口,用于接收邮件、客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登录前进入系统。成功登录后还有其他缓冲区溢出错误 |
111 | SUN公司的RPC服务所用端口 | 常见RPC服务有rpc.mountd,NFS,rpc.statd,rpc.csmd,rpc.ttybd,amd等 |
113 | Authentication Service | 这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP、 POP、 IMAP、 SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST,这将会停止缓慢的连接 |
端 口 | 服 务 | 说 明 |
119 | Network News Transfer Protocol | News 新闻组传输协议,承载USENET通信。当链接到诸如news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam |
135 | Location Service | Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和/或RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查询end-point mapper找到服务的位置。同样Hacker扫描计算机的这个端口是为了找到诸如这个计算机上运行Exchange Server吗?是什么版本?这个端口除了被用来查询服务(如使用epdump)还可以被用于直接攻击。有一些DOS攻击直接针对这个端口 |
137 | NETBIOS Name Service | Udp端口,当通过网络邻居传输文件时用到这个端口 |
138 | NETBIOS Datagram Service | Udp端口,当通过网络邻居传输文件时用到这个端口 |
139 | NETBIOS Session Service | 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows文件和打印机共享和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题 |
143 | Interim Mail Access Protocol v2 | 和上面POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。这一端口还被用于IMAP2,但并不流行。已有一些报道发现有些0~143端口的攻击源于脚本 |
161 | SNMP | 入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员的错误配置将它们暴露于Internet。Crackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。Windows计算机常会因为错误配置将HP JetDirect remote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Windows 98使用SNMP解析域名,会看见这种包在子网内广播(cable modem, DSL)查询SYSName和其他信息 |
端 口 | 服 务 | 说 明 |
177 | X Display Manager Control Protocol | 许多入侵者通过它访问X-Windows控制台, 它同时需要打开6000端口 |
443 | https | 网页浏览端口 |
456 |
| 木马Hackers Paradise 所开放的端口 |
513 | login, remote login | 是从使用cable modem或DSL登录到的子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了很有趣的信息 |
553 | CORBA IIOP (UDP) | 使用cable modem或DSL VLAN,将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedure call)系统。入侵者会利用这些信息进入系统 |
555 | dsf | 木马PhAse1.0、Stealth Spy、IniKiller所开放的端口 |
635 | mountd | Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就像NFS通常运行于2049端口 |
666 | Doom Id Software | 木马Attack FTP、Satanz Backdoor所开放的端口 |
1001 |
| 木马Silencer、WebEx所开放的端口 |
1011 |
| 木马Doly Trojan 所开放的端口 |
1024 | Reserved | 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,可以重启计算机,打开Telnet,再打开一个窗口运行natstat -a,将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当浏览Web页时用netstat查看,每个Web页需要一个新端口 |
1025 | network blackjack | 木马netspy所开放的端口 |
1033 |
| 木马netspy所开放的端口 |
1080 | SOCKS | 这一协议以管道方式穿过防火墙,允许防火墙后面的许多人通过一个IP地址访问Internet。理论上它应该只允许内部的通信向外达到Internet。但是由于错误的配置,它会允许Hacker/Cracker的位于防火墙外部的攻击穿过防火墙。或者简单地回应位于Internet上的计算机,从而掩饰他们对用户的直接攻击。WinGate是一种常见的Windows个人防火墙,常会发生上述的错误配置。在加入IRC聊天室时常会看到这种情况 |