天天看點

計算機協定和端口

那麼TCP/IP協定中的端口指的是什麼呢?如果把IP位址比作一間房子 ,端口就是出入這間房子的門。真正的房子隻有幾個門,但是一個IP位址的端口可以有65536個之多!端口是通過端口号來标記的,端口号隻有整數,範圍是從0 到65535。

端口有什麼用呢?我們知道,一台擁有IP位址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個 IP位址來實作。那麼,主機是怎樣區分不同的網絡服務呢?顯然不能隻靠IP位址,因為IP 位址與網絡服務的關系是一對多的關系。實際上是通過"IP位址+端口号"來區分不同的服務的。

端口可分為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"是無效端口,當你試 圖使用一種通常的閉合端口連接配接它時将産生不同的結果。一種典型的掃描:使用IP位址為 0.0.0.0,設定ACK位并在以太網層廣播。

1 tcpmux

這顯示有人在尋找SGIIrix機器。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界面的服務。它已發現有許多安全問題。一些版本 setuidroot,信任區域網路,在/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

s cripting)開始将它們自己拷貝到這個端口,試圖在這個端口繁殖。

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端口一些玩s cript的孩子認為他們通過修改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

(mailto:[email protected].

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   

繼續閱讀