電腦端口基礎知識(轉自INTERNET)

 

端口可分為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 (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
  早期版本的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)

 

點閱: 74

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

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

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料