摘錄地址:
http://vib.hit.edu.cn/vibbbs/dispbbs.asp?boardID=26&ID=992&page=11端口可分為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開始。
本節講述通常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)
還應該注意的是ssh工具包帶有一個稱為make-ssh-known-hosts的程序。它會掃描整個域的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頁需要一個新端口。
?ersion 0.4.1, june 20, 2000
http://www.robertgraham.com/pubs/firewall-seen.html copyright 1998-2000 by robert graham (mailtfirewall-seen1@robertgraham.com.
all rights reserved. this document may only be reproduced (whole or
in part) for non-commercial purposes. all reproductions must
contain this copyright notice and must not be altered, except by
permission of the author.
1025 參見1024
1026 參見1024
1080 socks
這一協議以管道方式穿過防火墻,允許防火墻后面的許多人通過一個ip地址訪問internet。理論上它應該只允許內部的通信向外達到internet。但是由于錯誤的配置,它會允許hacker/cracker的位于防火墻外部的攻擊穿過防火墻。或者簡單地回應位于internet上的計算機,從而掩飾他們對你的直接攻擊。wingate是一種常見的windows個人防火墻,常會發生上述的錯誤配置。在加入irc聊天室時常會看到這種情況。
1114 sql
系統本身很少掃描這個端口,但常常是sscan腳本的一部分。
1243 sub-7木馬(tcp)
參見subseven部分。
1524 ingreslock后門
許多攻擊腳本將安裝一個后門sh*ll 于這個端口(尤其是那些針對sun系統中sendmail和rpc服務漏洞的腳本,如statd, ttdbserver和cmsd)。如果你剛剛安裝了你的防火墻就看到在這個端口上的連接企圖,很可能是上述原因。你可以試試telnet到你的機器上的這個端口,看看它是否會給你一個sh*ll 。連接到600/pcserver也存在這個問題。
2049 nfs
nfs程序常運行于這個端口。通常需要訪問portmapper查詢這個服務運行于哪個端口,但是大部分情況是安裝后nfs 杏謖飧齠絲冢?acker/cracker因而可以閉開portmapper直接測試這個端口。
3128 squid
這是squid http代理服務器的默認端口。攻擊者掃描這個端口是為了搜尋一個代理服務器而匿名訪問internet。你也會看到搜索其它代理服務器的端口:8000/8001/8080/8888。掃描這一端口的另一原因是:用戶正在進入聊天室。其它用戶(或服務器本身)也會檢驗這個端口以確定用戶的機器是否支持代理。請查看5.3節。
5632 pcanywere
你會看到很多這個端口的掃描,這依賴于你所在的位置。當用戶打開pcanywere時,它會自動掃描局域網c類網以尋找可能得代理(譯者:指agent而不是proxy)。hacker/cracker也會尋找開放這種服務的機器,所以應該查看這種掃描的源地址。一些搜尋pcanywere的掃描常包含端口22的udp數據包。參見撥號掃描。
6776 sub-7 artifact
這個端口是從sub-7主端口分離出來的用于傳送數據的端口。例如當控制者通過電話線控制另一臺機器,而被控機器掛斷時你將會看到這種情況。因此當另一人以此ip撥入時,他們將會看到持續的,在這個端口的連接企圖。(譯者:即看到防火墻報告這一端口的連接企圖時,并不表示你已被sub-7控制。)
6970 realaudio
realaudio客戶將從服務器的6970-7170的udp端口接收音頻數據流。這是由tcp7070端口外向控制連接設置的。
13223 powwow
powwow 是tribal voice的聊天程序。它允許用戶在此端口打開私人聊天的連接。這一程序對于建立連接非常具有“進攻性”。它會“駐扎”在這一tcp端口等待回應。這造成類似心跳間隔的連接企圖。如果你是一個撥號用戶,從另一個聊天者手中“繼承”了ip地址這種情況就會發生:好象很多不同的人在測試這一端口。這一協議使用“opng”作為其連接企圖的前四個字節。
17027 conducent
這是一個外向連接。這是由于公司內部有人安裝了帶有conducent "adbot" 的共享軟件。conducent "adbot"是為共享軟件顯示廣告服務的。使用這種服務的一種流行的軟件是pkware。有人試驗:阻斷這一外向連接不會有任何問題,但是封掉ip地址本身將會導致adbots持續在每秒內試圖連接多次而導致連接過載:??
機器會不斷試圖解析dns名─ads.conducent.com,即ip地址216.33.210.40 ;216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(譯者:不知netants使用的radiate是否也有這種現象)
27374 sub-7木馬(tcp)
參見subseven部分。
30100 netsphere木馬(tcp)
通常這一端口的掃描是為了尋找中了netsphere木馬。
31337 back orifice “elite”
hacker中31337讀做“elite”/ei’li:t/(譯者:法語,譯為中堅力量,精華。即3=e, 1=l, 7=t)。因此許多后門程序運行于這一端口。其中最有名的是back orifice。曾經一段時間內這是internet上最常見的掃描。現在它的流行越來越少,其它的木馬程序越來越流行。
31789 hack-a-tack
這一端口的udp通訊通常是由于"hack-a-tack"遠程訪問木馬(rat, remote access trojan)。這種木馬包含內置的31790端口掃描器,因此任何31789端口到317890端口的連接意味著已經有這種入侵。(31789端口是控制連接,317890端口是文件傳輸連接)
32770~32900 rpc服務
sun solaris的rpc服務在這一范圍內。詳細的說:早期版本的solaris(2.5.1之前)將portmapper置于這一范圍內,即使低端口被防火墻封閉仍然允許hacker/cracker訪問這一端口。掃描這一范圍內的端口不是為了尋找portmapper,就是為了尋找可被攻擊的已知的rpc服務。
33434~33600 traceroute
如果你看到這一端口范圍內的udp數據包(且只在此范圍之內)則可能是由于traceroute。參見traceroute部分。
41508 inoculan
早期版本的inoculan會在子網內產生大量的udp通訊用于識別彼此。參見
http://www.circlemud.org/~jelson/software/udpsend.html http://www.ccd.bnl.gov/nss/tips/inoculan/index.html(二) 下面的這些源端口意味著什么?
端口1~1024是保留端口,所以它們幾乎不會是源端口。但有一些例外,例如來自nat機器的連接。參見1.9。
常看見緊接著1024的端口,它們是系統分配給那些并不在乎使用哪個端口連接的應用程序的“動態端口”。
server client 服務 描述
1-5/tcp 動態 ftp 1-5端口意味著sscan腳本
20/tcp 動態 ftp ftp服務器傳送文件的端口
53 動態 ftp dns從這個端口發送udp回應。你也可能醇?目標端口的tcp連接。
123 動態 s/ntp 簡單網絡時間協議(s/ntp)服務器運行的端口。它們也會發送到這個端口的廣播。
27910~27961/udp 動態 quake quake或quake引擎驅動的游戲在這一端口運行其服務器。因此來自這一端口范圍的udp包或發送至這一端口范圍的udp包通常是游戲。
61000以上 動態 ftp 61000以上的端口可能來自linux nat服務器(ip masquerade)