本文将向你解释你在防火墙的记录(Log)中看到了什么?尤其是那些端口是什么意思?你将能利用这些信息做出判断:我是否受到了Hacker的攻击?他/她到底想要干什么?本文既适用于维护企业级防火墙的安全专家,又适用于使用个人防火墙的家庭用户。
*译者:现在个人防火墙开始流行起来,很多网友一旦看到报警就以为受到某种攻击,其实大多数情况并非如此。 一、目标端口ZZZZ是什么意思 所有穿过防火墙的通讯都是连接的一个部分。一个连接包含一对相互“交谈”的IP地址以及一对与IP地址对应的端口。目标端口通常意味着正被连接的某种服务。当防火墙阻挡(block)某个连接时,它会将目标端口“记录在案”(logfile)。这节将描述这些端口的意义。 端口可分为3大类: 1) 公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。 2) 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。 3) 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。 从哪里获得更全面的端口信息: 1.ftp://ftp.isi.edu/in-notes/iana/assignments/port-numbers "Assigned Numbers" RFC,端口分配的官方来源。 2.http://advice.networkice.com/advice/Exploits/Ports/ 端口数据库,包含许多系统弱点的端口。 3./etc/services UNIX 系统中文件/etc/services包含通常使用的UNIX端口分配列表。Windows NT中该文件位于%systemroot%/system32/drivers/etc/services。 4.http://www.con.wesleyan.edu/~triemer/network/docservs.html 特定的协议与端口。 5.http://www.chebucto.ns.ca/~rakerman/trojan-port-table.html 描述了许多端口。 6.http://www.tlsecurity.com/trojanh.htm TLSecurity的Trojan端口列表。与其它人的收藏不同,作者检验了其中的所有端口。 7.http://www.simovits.com/nyheter9902.html Trojan Horse 探测。 二、通常对于防火墙的TCP/UDP端口扫描有哪些? 本节讲述通常TCP/UDP端口扫描在防火墙记录中的信息。记住:并不存在所谓ICMP端口。如果你对解读ICMP数据感兴趣,请参看本文的其它部分。 0 通常用于分析操作系统。这一方法能够工作是因为在一些系统中“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的信息。 常见的一种DoS攻击是echo循环(echo-loop),攻击者伪造从一个机器发送到另一个机器的UDP数据包,而两个机器分别以它们最快的方式回应这些数据包。(参见Chargen) 另一种东西是由DoubleClick在词端口建立的TCP连接。有一种产品叫做“Resonate Global Dispatch”,它与DNS的这一端口连接以确定最近的路由。 Harvest/squid cache将从3130端口发送UDP echo:“如果将cache的source_ping on选项打开,它将对原始主机的UDP echo端口回应一个HIT reply。”这将会产生许多这类数据包。 11 sysstat 这是一种UNIX服务,它会列出机器上所有正在运行的进程以及是什么启动了这些进程。这为入侵者提供了许多信息而威胁机器的安全,如暴露已知某些弱点或帐户的程序。这与UNIX系统中“ps”命令的结果相似 再说一遍:ICMP没有端口,ICMP port 11通常是ICMP type=11 19 chargen 这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时,会发送含有垃圾字符的数据流知道连接关闭。Hacker利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。由于服务器企图回应两个服务器之间的无限的往返数据通讯一个chargen和echo将导致服务器过载。同样fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。 21 ftp 最常见的攻击者用于寻找打开“anonymous”的ftp服务器的方法。这些服务器带有可读写的目录。Hackers或Crackers 利用这些服务器作为传送warez (私有程序) 和pr0n(故意拼错词而避免被搜索引擎分类)的节点。 22 ssh PcAnywhere建立TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点。如果配置成特定的模式,许多使用RSAREF库的版本有不少漏洞。(建议在其它端口运行ssh) UDP(而不是TCP)与另一端的5632端口相连意味着存在搜索pcAnywhere的扫描。5632(十六进制的0x1600)位交换后是0x0016(使进制的22)。 23 Telnet 入侵者在搜索远程登陆UNIX的服务。大多数情况下入侵者扫描这一端口是为了找到机器运行的操作系统。此外使用其它技术,入侵者会找到密码。 25 smtp 攻击者(spammer)寻找SMTP服务器是为了传递他们的spam。入侵者的帐户总被关闭,他们需要拨号连接到高带宽的e-mail服务器上,将简单的信息传递到不同的地址。SMTP服务器(尤其是sendmail)是进入系统的最常用方法之一,因为它们必须完整的暴露于Internet且邮件的路由是复杂的(暴露+复杂=弱点)。 53 DNS Hacker或crackers可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其它通讯。因此防火墙常常过滤或记录53端口。 需要注意的是你常会看到53端口做为UDP源端口。不稳定的防火墙通常允许这种通讯并假设这是对DNS查询的回复。Hacker常使用这种方法穿透防火墙。 67和68 Bootp和DHCP UDP上的Bootp/DHCP:通过DSL和cable-modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址分配。Hacker常进入它们分配一个地址把自己作为局部路由器而发起大量的“中间人”(man-in-middle)攻击。客户端向68端口(bootps)广播请求配置,服务器向67端口(bootpc)广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。 69 TFTP(UDP) 许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常错误配置而从系统提供任何文件,如密码文件。它们也可用于向系统写入文件。 79 finger Hacker用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其它机器finger扫描。 98 linuxconf 这个程序提供linux boxen的简单管理。通过整合的HTTP服务器在98端口提供基于Web界面的服务。它已发现有许多安全问题。一些版本setuid root,信任局域网,在/tmp下建立Internet可访问的文件,LANG环境变量有缓冲区溢出。此外因为它包含整合的服务器,许多典型的HTTP漏洞可能存在(缓冲区溢出,历遍目录等) 109 POP2 并不象POP3那样有名,但许多服务器同时提供两种服务(向后兼容)。在同一个服务器上POP3的漏洞在POP2中同样存在。 110 POP3 用于客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个(这意味着Hacker可以在真正登陆前进入系统)。成功登陆后还有其它缓冲区溢出错误。 111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。访问portmapper是扫描系统查看允许哪些RPC服务的最早的一步。常见RPC服务有:rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者发现了允许的RPC服务将转向提供服务的特定端口测试漏洞。 记住一定要记录线路中的daemon, IDS, 或sniffer,你可以发现入侵者正使用什么程序访问以便发现到底发生了什么。 113 Ident auth 这是一个许多机器上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多机器的信息(会被Hacker利用)。但是它可作为许多服务的记录器,尤其是FTP, POP, IMAP, SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,你将会看到许多这个端口的连接请求。记住,如果你阻断这个端口客户端会感觉到在防火墙另一边与e-mail服务器的缓慢连接。许多防火墙支持在TCP连接的阻断过程中发回RST,着将回停止这一缓慢的连接。 119 NNTP news 新闻组传输协议,承载USENET通讯。当你链接到诸如:news://comp.security.firewalls/. 的地址时通常使用这个端口。这个端口的连接企图通常是人们在寻找USENET服务器。多数ISP限制只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送spam。 135 oc-serv MS RPC end-point mapper 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 nbtstat (UDP) 这是防火墙管理员最常见的信息,请仔细阅读文章后面的NetBIOS一节 139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于Windows“文件和打印机共享”和SAMBA。在Internet上共享自己的硬盘是可能是最常见的问题。 大量针对这一端口始于1999,后来逐渐变少。2000年又有回升。一些VBS(IE5 VisualBasic Scripting)开始将它们自己拷贝到这个端口,试图在这个端口繁殖。 143 IMAP 和上面POP3的安全问题一样,许多IMAP服务器有缓冲区溢出漏洞运行登陆过程中进入。记住:一种Linux蠕虫(admw0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已被感染的用户。当RadHat在他们的Linux发布版本中默认允许IMAP后,这些漏洞变得流行起来。Morris蠕虫以后这还是第一次广泛传播的蠕虫。 这一端口还被用于IMAP2,但并不流行。 已有一些报道发现有些0到143端口的攻击源于脚本。 161 SNMP(UDP) 入侵者常探测的端口。SNMP允许远程管理设备。所有配置和运行信息都储存在数据库中,通过SNMP客获得这些信息。许多管理员错误配置将它们暴露于Internet。Crackers将试图使用缺省的密码“public”“private”访问系统。他们可能会试验所有可能的组合。 SNMP包可能会被错误的指向你的网络。Windows机器常会因为错误配置将HP JetDirect remote management软件使用SNMP。HP OBJECT IDENTIFIER将收到SNMP包。新版的Win98使用SNMP解析域名,你会看见这种包在子网内广播(cable modem, DSL)查询sysName和其它信息。 162 SNMP trap 可能是由于错误配置 177 xdmcp 许多Hacker通过它访问X-Windows控制台, 它同时需要打开6000端口。 513 rwho 可能是从使用cable modem或DSL登陆到的子网中的UNIX机器发出的广播。这些人为Hacker进入他们的系统提供了很有趣的信息。 553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你将会看到这个端口的广播。CORBA是一种面向对象的RPC(remote procedure call)系统。Hacker会利用这些信息进入系统。 600 Pcserver backdoor 请查看1524端口 一些玩script的孩子认为他们通过修改ingreslock和pcserver文件已经完全攻破了系统-- Alan J. Rosenthal. 635 mountd Linux的mountd Bug。这是人们扫描的一个流行的Bug。大多数对这个端口的扫描是基于UDP的,但基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住,mountd可运行于任何端口(到底在哪个端口,需要在端口111做portmap查询),只是Linux默认为635端口,就象NFS通常运行于2049端口。 1024 许多人问这个端口是干什么的。它是动态端口的开始。许多程序并不在乎用哪个端口连接网络,它们请求操作系统为它们分配“下一个闲置端口”。基于这一点分配从端口1024开始。这意味着第一个向系统请求分配动态端口的程序将被分配端口1024。为了验证这一点,你可以重启机器,打开Telnet,再打开一个窗口运行“natstat -a”,你将会看到Telnet被分配1024端口。请求的程序越多,动态端口也越多。操作系统分配的端口将逐渐变大。再来一遍,当你浏览Web页时用“netstat”查看,每个Web页需要一个新端口。 三、我发现一种对于同一系列端口的扫描来自于Internet上变化很大的源地址这通常是由于“诱骗”扫描(decoy scan),如nmap。其中一个是攻击者,其它的则不是。 利用防火墙规则和协议分析我们可以追踪他们是谁?例如:如果你ping每个系统,你就可以将获得的TTL与那些连接企图相匹配。这样你至少可以哪一个是“诱骗”扫描(TTL应该匹配,如果不匹配则他们是被“诱骗”了)。不过,新版本的扫描器会将攻击者自身的TTL随机化,这样要找出他们回更困难。 你可以进一步研究你的防火墙记录,寻找在同一子网中被诱骗的地址(人)。你通常会发现攻击者刚刚试图对你连接,而被诱骗者不会。 四、特洛伊木马扫描是指什么? 特洛伊木马攻击的第一步是将木马程序放置到用户的机器上。常见的伎俩有: 1) 将木马程序发布在Newsgroup中,声称这是另一种程序。 下一步将寻找可被控制的机器。最大的问题是上述方法无法告知Hacker/Cracker受害者的机器在哪里。因此,Hacker/Cracker扫描Internet。 这就导致防火墙用户(包括个人防火墙用户)经常看到指向他们机器的扫描。他们的机器并没有被攻击,扫描本身不会造成什么危害。扫描本身不会造成机器被攻击。真正的管理员会忽略这种“攻击” 以下列出常见的这种扫描。为了发现你的机器是否被种了木马,运行“NETSTAT -an”。查看是否出现下列端口的连接。 Port Trojan 更多信息查看:http://www.commodon.com/threat/threat-ports.htm 1. 什么是SUBSEVEN(sub-7) Sub-7是最有名的远程控制木马之一。现在它已经成为易于使用,功能强大的一种木马。原因是: 1〕它易于获得,升级迅速。大部分木马产生后除了修改bug以外开发就停止了。 6〕 具有大量与UI相关的功能,如颠倒屏幕,用受害者扩音器发声,偷窥受害者屏幕。 简而言之它不仅是一种hacking工具而且是一种玩具,恐吓受害者的玩具。 Sub-7是由自称“Mobman”的人写的,他的站点是http://subseven.slak.org/。 五、来自低端口的DNS包 Q:我看见许多来自1024端口以下的DNS请求。这些服务是“保留”的吗?他们不是应该使用1024-65535端口吗? A:他们来自于NAT防火墙后面的机器。NAT并不需要保留端口。(Ryan Russell >http://www.sybase.com/) Q:我的防火墙丢弃了许多源端口低于1024的包,所以DNS查询失败。 A:不要用这种方式过滤。许多防火墙有类似的规则,但这是一种误导。因为Hacker/Cracker能伪造任何端口。 Q:这些NAT防火墙工作不正常吗? A:理论上不是,但实际上会导致失败。正确的方式是在任何情况下完全保证DNS通讯。(尤其在那些“代理”DNS并强迫DNS通过53端口的情况下) Q:我以为DNS查询应该使用1024端口以上的随机端口? A:实际上,一般DNS客户将使用非保留端口。但是有许多程序使用53端口。在任何情况下,NAT都会完全不同,因为它改变了所有SOCKET(IP+port combo) 六、一旦我拨号连接到ISP后,我的个人防火墙就开始警告“有人在探测你的xxxx端口”。 这种情况很常见。因为你使用ISP分配给你的IP,而在你使用之前刚有人使用。你看到的是上一个用户的“残留”信息。 常见的例子是聊天程序。如果有人刚刚挂断,刚才和他聊天的人会继续试图连接。一些程序的“超时”设置很长。如POWWOW或ICQ。 另一个例子是多人在线游戏。你会看到来自游戏提供者的通讯(如MPlayer),或其它不知名的游戏服务器。这些游戏通常基于UDP,因此无法建立连接。但为了获得较好的用户感觉,他们对于建立连接又很“执着”。以下是一些游戏的端口: 7777 Unreal, Klingon Honor Guard 另一个例子是多媒体广播、电视。如RealAudio客户端使用6970-7170端口接收声音数据。 你需要连接的来源。例如ICQ服务器运行于4000端口,而其客户端使用更高的随机端口。这就是说你会看到你会看到从4000端口到高端随机端口的UDP包。换句话说,不要试图查询端口列表找到随机高端端口的用途。重要的是源端口。 Sub-7也有类似问题。它使用不同的TCP连接用于不同的服务。如果受害者的机器下线,它会持续企图连接受害者机器的端口,特别是6776端口。
还应该注意的是ssh工具包带有一个称为make-ssh-known-hosts的程序。它会扫描整个域的ssh主机。你有时会被使用这一程序的人无意中扫描到。
2) 广泛散布带有附件的E-mail
3) 在其Web上发布木马程序
4) 通过即时通讯软件或聊天系统发布木马程序(ICQ, AIM, IRC等)
5) 伪造ISP(如AOL)的E-mail哄骗用户执行程序(如软件升级)
6) 通过“文件与打印共享”将程序Copy至启动组
555 phAse zero
1243 Sub-7, SubSeven
3129 Masters Paradise
6670 DeepThroat
6711 Sub-7, SubSeven
6969 GateCrasher
21544 GirlFriend
12345 NetBus
23456 EvilFtp
27374 Sub-7, Seven
30100 NetSphere
31789 Hack‘a‘Tack
31337 BackOrifice, and many others
50505 Sockets de Troie
2〕这一程序不但包含一个扫描器,还能利用被控制的机器也进行扫描。
3〕制作者曾比赛利用sub-7控制网站。
4〕支持“端口重定向”,因此任何攻击者都可以利用它控制受害者的机器。
5〕具有大量与ICQ, AOL IM, MSN Messager和Yahoo messenger相关的功能,包括密码嗅探,发送消息等。
Sub-7可能使用以下端口:
1243 老版本缺省连接端口
2772 抓屏端口
2773 键盘记录端口
6711 ???
6776 我并不清楚这个端口是干什么用的,但是它被作为一些版本的后面 (即不用密码也能连接)。
7215 "matrix" chat程序
27374 v2.0缺省端口
54283 Spy端口
7778 Unreal Tournament
22450 Sin
26000 Quake
26900 Hexen 2
26950 HexenWorld
27015 Half-life, Team Fortress Classic (TFC)
27500 QuakeWorld
27910 Quake 2
28000-28008 Starsiege TRIBES (TRIBES.DYNAMIX.COM)
28910 Heretic 2
http://netadmin.77169.com/HTML/20031101161800.html
我是否受到了Hacker的攻击?解读防火墙记录
0
相关文章