電腦端口基礎知識

端口可分為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會利用這些信息進入系統。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。