全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2239
推到 Plurk!
推到 Facebook!

解讀防火牆記錄

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-14 01:14:04 IP:61.64.xxx.xxx 未訂閱
http://qingxin.mine.nu/articles/wenzhang/jdfhqjl.htm 解讀防火牆記錄 本文將向你解釋你在防火牆的記錄(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) 還應該注意的是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頁需要一個新埠。 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後門 許多攻擊腳本將安裝一個後門Shell於這個埠(尤其是那些針對Sun系統中Sendmail和RPC服務漏洞的腳本,如statd, ttdbserver和cmsd)。如果你剛剛安裝了你的防火牆就看到在這個埠上的連接企圖,很可能是上述原因。你可以試試Telnet到你的機器上的這個埠,看看它是否會給你一個Shell。連接到600/pcserver也存在這個問題。 2049 NFS NFS程式常運行於這個埠。通常需要訪問portmapper查詢這個服務運行於哪個埠,但是大部分情況是安裝後NFS運行於這個埠,Hacker/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) 三) 我發現一種對於同一系列埠的掃描來自於Internet上變化很大的源地址 這通常是由於“誘騙”掃描(decoy scan),如nmap。其中一個是攻擊者,其他的則不是。 利用防火牆規則和協定分析我們可以追蹤他們是誰?例如:如果你ping每個系統,你就可以將獲得的TTL與那些連接企圖相匹配。這樣你至少可以哪一個是“誘騙”掃描(TTL應該匹配,如果不匹配則他們是被“誘騙”了)。不過,新版本的掃 描器會將攻擊者自身的TTL隨機化,這樣要找出他們回更困難。 你可以進一步研究你的防火牆記錄,尋找在同一子網中被誘騙的地址(人)。你通常會發現攻擊者剛剛試圖對你連接,而被誘騙者不會。 四) 特洛伊木馬掃描是指什麽? 特洛伊木馬攻擊的第一步是將木馬程式放置到用戶的機器上。常見的伎倆有: 1) 將木馬程式發佈在Newsgroup中,聲稱這是另一種程式。 2) 廣泛散佈帶有附件的E-mail 3) 在其Web上發佈木馬程式 4) 通過即時通訊軟體或聊天系統發佈木馬程式(ICQ, AIM, IRC等) 5) 僞造ISP(如AOL)的E-mail哄騙用戶執行程式(如軟體升級) 6) 通過“文件與列印共用”將程式Copy至啓動組 下一步將尋找可被控制的機器。最大的問題是上述方法無法告知Hacker/Cracker受害者的機器在哪里。因此,Hacker/Cracker掃描Internet。 這就導致防火牆用戶(包括個人防火牆用戶)經常看到指向他們機器的掃描。他們的機器並沒有被攻擊,掃描本身不會造成什麽危害。掃描本身不會造成機器被攻擊。真正的管理員會忽略這種“攻擊” 以下列出常見的這種掃描。爲了發現你的機器是否被種了木馬,運行“NETSTAT -an”。查看是否出現下列埠的連接。 Port Trojan 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, SubSeven 30100 NetSphere 31789 Hack‘a‘Tack 31337 BackOrifice, and many others 50505 Sockets de Troie 更多資訊查看: http://www.commodon.com/threat/threat-ports.htm 1. 什麽是SUBSEVEN(sub-7) Sub-7是最有名的遠端控制木馬之一。現在它已經成爲易於使用,功能強大的一種 木馬。原因是: 1〕 它易於獲得,升級迅速。大部分木馬産生後除了修改bug以外開發就停止了。 2〕 這一程式不但包含一個掃描器,還能利用被控制的機器也進行掃描。 3〕 製作者曾比賽利用sub-7控制網站。 4〕 支援“埠重定向”,因此任何攻擊者都可以利用它控制受害者的機器。 5〕 具有大量與ICQ, AOL IM, MSN Messager和Yahoo messenger相關的功能,包括密碼嗅探,發送消息等。 6〕 具有大量與UI相關的功能,如顛倒螢幕,用受害者擴音器發聲,偷窺受害者螢幕。 簡而言之它不僅是一種hacking工具而且是一種玩具,恐嚇受害者的玩具。 Sub-7是由自稱“Mobman”的人寫的,他的站點是http://subseven.slak.org/。 Sub-7可能使用以下埠: 1243 老版本缺省連接埠 2772 抓屏埠 2773 鍵盤記錄埠 6711 ??? 6776 我並不清楚這個埠是幹什麽用的,但是它被作爲一些版本的後面 (即不用密碼也能連接)。 7215 "matrix" chat程式 27374 v2.0缺省埠 54283 Spy埠 五) 來自低埠的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 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 另一個例子是多媒體廣播、電視。如RealAudio用戶端使用6970-7170埠接收聲音資料。 你需要連接的來源。例如ICQ伺服器運行於4000埠,而其用戶端使用更高的隨機埠。這就是說你會看到你會看到從4000埠到高端隨機埠的UDP包。換句話說,不要試圖查詢埠列表找到隨機高端埠的用途。重要的是源埠。 Sub-7也有類似問題。它使用不同的TCP連接用於不同的服務。如果受害者的機器下線,它會持續企圖連接受害者機器的埠,特別是6776埠。 七) IRC伺服器在探測我 最流行的聊天方式之一是IRC。這種聊天程式的特點之一就是它能告訴你正在和你聊天的人的IP地址。聊天室的問題之一是:人們匿名登陸並四處閒逛,往往會遭遇跑題的評論、粗魯的話語、被打斷談話、被伺服器“沖洗”或被其他客戶踢下 線。 因此,伺服器端和用戶端都默認禁止在聊天室內使用匿名登陸。特別需要指出的是,當有人進入聊天室時要檢查他們是否通過其他代理伺服器連接。最常見的這種掃描是SOCKS。假設你來的那個地方支援SOCKS,那麽你完全有可能有一台完全獨立的機器,你試圖通過明處的代理伺服器隱藏你在暗處的真實身份。Undernet’s關於這方面的策略可參考http://help.undernet.org/proxyscan. 同時,crackers/hackers會試圖掃描人們的機器以確定他們是否運行某種服務,可被他們用做跳板。同樣,通過檢查SOCKS,攻擊者希望發現某人打開了SOCKS,例如一個家庭的個人用戶SOCKS實現共用連接,但將其錯誤設置成Internet上所有用戶都能通過它。 八) 什麽是“重定向”埠 一種常見的技術是把一個埠重定向到另一個地址。例如默認的HTTP埠是80,許多人把他們重定向到令一個埠,如8080( 這樣,如果你打算訪問本文就得寫成http://www.robertgraham.com:8080/pubs/firewall-seen.html ) 實現重定向是爲了讓埠更難被發現,從而使Hacker更難攻擊。因爲Hacker不能對一個公認的默認埠進行攻擊而必須進行埠掃描。 大多數埠重定向與原埠有相似之處。因此,大多數HTTP埠由80變化而來:81,88,8000,8080,8888。同樣POP的埠原來在110,也常被重定向到1100。 也有不少情況是選取統計上有特別意義的數,象1234,23456,34567等。許多人有其他原因選擇奇怪的數,42,69,666,31337。近來,越來越多的遠端控制木馬( Remote Access Trojans, RATs )採用相同的默認埠。如NetBus的默認埠是12345。 Blake R. Swopes指出使用重定向埠還有一個原因,在UNIX系統上,如果你想偵聽1024以下的埠需要有root許可權。如果你沒有root許可權而又想開web服務,你就需要將其安裝在較高的埠。此外,一些ISP的防火牆將阻擋低埠的通訊,所以即使你擁有整個機器你還是得重定向埠。 九) 我還是不明白當某人試圖連接我的某個埠時我該怎麽辦? 你可以使用Netcat建立一個偵聽進程。例如,你想偵聽1234埠: NETCAT -L -p 1234 許多協定都會在連接開始的部分發送資料。當使用Netcat偵聽某個埠時,你能想辦法搞清在使用什麽協定。如果幸運的話,你會發現是HTTP協定,它會爲你提供大量資訊,使你能追蹤發生的事情。 “-L”參數是讓Netcat持續偵聽。正常情況下Netcat會接受一個連接,複製其內容,並退出。加上這個參數後,它可以持續運行以偵聽多個連接。 二.ICMP TCP和UDP能承載資料,但ICMP僅包含控制資訊。因此,ICMP資訊不能真正用於入侵其他機器。Hacker們使用ICMP通常是爲了掃描網路,發動DoS攻擊,重定向網路交通。(這個觀點似乎不正確,可參考shotgun關於木馬的文章,譯者注) 一些防火牆將ICMP類型錯誤標記成埠。要記住,ICMP不象TCP或UDP有埠,但它確實含有兩個域:類型(type)和代碼(code)。而且這些域的作用和埠也完全不同,也許正因爲有兩個域所以防火牆常錯誤地標記了他們。更多關於ICMP的知識請參考Infosec Lexicon entry on ICMP。 關於ICMP類型/代碼的含義的官方說明請參閱http://www.isi.edu/in-notes/iana/assignments/icmp-parameters。該文獻描述官方含義,而本文描述Hacker的企圖,詳見下文。 類型 代碼 名稱 含義 0 * Echo replay 對ping的回應 3 * Destination Unreachable 主機或路由器返回資訊:一些包未達到目的地 0 Net Unreachable 路由器配置錯誤或錯誤指定IP位址 1 Host Unreachable 最後一個路由器無法與主機進行ARP通訊 3 Port unreachable 伺服器告訴用戶端其試圖聯繫的埠無進程偵聽 4 Fragmentation Needed but DF set 重要:如果你在防火牆丟棄記錄中發現這些包,你應該讓他們通過否則你的用戶端將發現TCP連接莫名其妙地斷開 4 * Source Quench Internet阻塞 5 * Redirect 有人試圖重定向你的默認路由器,可能Hacker試圖對你進行“man-in-middle”的攻擊,使你的機器通過他們的機器路由。 8 * Echo Request ping 9 * Router Advertisement hacker可能通過重定向你的默認的路由器DoS攻擊你的Win9x 或Solaris。鄰近的Hacker也可以發動man-in-the-middle的攻擊 11 * Time Exceeded In Transit 因爲超時包未達到目的地 0 TTL Exceeded 因爲路由迴圈或由於運行traceroute,路由器將包丟棄 1 Fragment reassembly timeout 由於沒有收到所有片斷,主機將包丟棄 12 * Parameter Problem 發生某種不正常,可能遇到了攻擊 (一) type=0 (Echo reply) 發送者在回應由你的地址發送的ping,可能是由於以下原因: 有人在ping那個人:防火牆後面有人在ping目標。 自動ping:許多程式爲了不同目的使用ping,如測試聯繫物件是否在線,或測定反應時間。很可能是使用了類似VitalSign‘s Net.Medic的軟體,它會發送不同大小的ping包以確定連接速度。 誘騙ping掃描:有人在利用你的IP地址進行ping掃描,所以你看到回應。 轉變通訊通道:很多網路阻擋進入的ping(type=8),但是允許ping回應(type=0)。因此,Hacker已經開始利用ping回應穿透防火牆。例如,針對internet站點的DdoS攻擊,其命令可能被嵌入ping回應中,然後洪水般的回應將發向這些站點而其他Internet連接將被忽略。 (二) Type=3 (Destination Unreachable) 在無法到達的包中含有的代碼(code)很重要 記住這可以用於擊敗“SYN洪水攻擊”。即如果正在和你通訊的主機受到“SYN洪水攻擊”,只要你禁止ping(type=3)進入,你就無法連接該主機。 有些情況下,你會收到來自你從未聽說的主機的ping(type=3)包,這通常意味著“誘騙掃描”。攻擊者使用很多源位址向目標發送一個僞造的包,其中有一個是真正的地址。Hacker的理論是:受害者不會費力從許多假地址中搜尋真正的地址。 解決這個問題的最好辦法是:檢查你看到的模式是否與“誘騙掃描”一致。比如,在ICMP包中的TCP或UDP頭部分尋找交互的埠。 1) Type = 3, Code = 0 (Destination Net Unreachable) 無路由器或主機:即一個路由器對主機或客戶說,:“我根本不知道在網路中如 何路由!包括你正連接的主機”。這意味著不是客戶選錯了IP位址就是某處的路由表配置錯誤。記住,當你把自己UNIX機器上的路由表搞亂後你就會看到“無路由器或主機”的資訊。這常發生在配置點對點連接的時候。 2) Type = 3, Code = 3 (Destination Port Unreachable) 這是當用戶端試圖連擊一個並不存在的UDP埠時伺服器發送的包。例如,如果你向161埠發送SNMP包,但機器並不支援SNMP服務,你就會收到ICMP Destination Port Unreachable包。 解碼的方案 解決這個問題的第一件事是:檢查包中的埠。你可能需要一個嗅探器,因爲防 火牆通常不會記錄這種資訊。這種方法基於ICMP原始包頭包含IP和UDP頭。以下是複製的一個ICMP unreachable包: 00 00 BA 5E BA 11 00 60 97 07 C0 FF 08 00 45 00 00 38 6F DF 00 00 80 01 B4 12 0A 00 01 0B 0A 00 01 C9 03 03 C2 D2 00 00 00 00 45 00 00 47 07 F0 00 00 80 11 1B E3 0A 00 01 C9 0A 00 01 0B 08 A7 79 19 00 33 B8 36 其中位元組03 03是ICMP的類型和代碼。最後8個位元組是原始UDP頭,解碼如下: 08A7 UDP源埠 port=2215,可能是臨時分配的,並不是很重要。 7919 UDP目標埠 port=31001,很重要,可能原來用戶想連接31001埠的服務。 0033 UDP長度 length=51,這是原始UDP資料的長度,可能很重要。 B836 UDP校驗和 checksum=0xB836,可能不重要。 你爲什麽會看到這些? “誘騙UDP掃描”:有人在掃描向你發送ICMP的機器。他們僞造源地址,其中之一是你的IP地址。他們實際上僞造了許多不同的源地址使受害者無法確定誰是攻擊者。如果你在短時間內收到大量來自同一地址的這種包,很有可能是上述情況。檢查UDP源埠,它總在變化的話,很可能是Scenario。 “陳舊DNS”:用戶端會向伺服器發送DNS請求,這將花很長時間解析。當你的DNS伺服器回應的時候,用戶端可能已經忘記你並關閉了用於接受你回應的UDP埠。如果發現UDP埠值是53,大概就發生了這種情況。這是怎麽發生的?伺服器可能在解析一個遞迴請求,但是它自己的包丟失了,所以它只能超時然後再試。當回到客戶時,客戶認爲超時了。許多客戶程式(尤其是Windows中的程式)自己做DNS解析。即它們自己建立SOCKET進行DNS解析。如果它們把要求交給作業系統,作業系統就會一直把埠開在那裏。 “多重DNS回應”:另一種情況是客戶收到對於一個請求的多重回應。收到一個回 應,埠就關閉了,後序的回應無法達到。此外,一個Sun機器與同一個乙太網中的多個NICs連接時,將爲兩個NICs分配相同的MAC地址,這樣Sun機器每楨會收到兩個拷貝,並發送多重回復。還有,一個編寫的很糟糕的用戶端程式(特別是那些吹噓是多線程DNS解析但實際上線程不安全的程式)有時發送多重請求,收到第一個回應後關閉了Socket。但是,這也可能是DNS欺騙,攻擊者既發送請求由發送回應,企圖使解析緩存崩潰。 “NetBIOS解析”: 如果Windows機器接收到ICMP包,看看UDP目標埠是否是137。如果是,那就是windows機器企圖執行gethostbyaddr()函數,它將將會同時使用DNS和NetBIOS解析IP地址。DNS請求被發送到某處的DNS伺服器,但NetBIOS直接發往目的機器。如果目的機器不支援NetBIOS,目的機器將發送ICMP unreachable。 “Traceroute”:大多數Traceroute程式(Windows中的Tracert.exe除外)向關閉的埠發送UDP包。這引起一系列的背靠背的ICMP Port Unreachable包發回來。因此你看到防火牆顯示這樣ICMP包,可能是防火牆後面的人在運行Traceroute。你也會看到TTL增加。 3) Type = 3, Code = 4 (Fragmentation Needed and Don‘t Fragment was Set) 這是由於路由器打算發送標記有(DF, 不允許片斷)的IP報文引起的。爲什麽?IP和TCP都將報文分成片斷。TCP在管理片斷方面比IP有效得多。因此,餞堆趨向於找到“Path MTU”(路由最大傳輸單元)。在這個過程將發送這種ICMP包。 假設ALICE和BOB交談。他們在同一個乙太網上(max frame size = 1500 bytes),但是中間有連接限制最大IP包爲600 byte。這意味著所有發送的IP包都要由路由器切割成3個片斷。因此在TCP層分割片斷將更有效。TCP層將試圖找到MTU(最大傳輸單元)。它將所有包設置DF位(Don‘t Fragment),一旦這種包碰到不能傳輸如 此大的包的路由器時路由器將發回ICMP錯誤資訊。由此,TCP層能確定如何正確分割片斷。 你也許應該允許這些包通過防火牆。否則,當小的包可以通過達到目的地建立連接,而大包會莫名其妙的丟失斷線。通常的結果是,人們只能看到Web頁僅顯示一半。 路由最大傳輸單元的發現越來越整合到通訊中。如IPsec需要用到這個功能。 (三) Type = 4 (Source Quench) 這種包可能是當網路通訊超過極限時由路由器或目的主機發送的。但是當今的許多系統不生成這些包。原因是現在相信簡單包丟失是網路阻塞的最後信號(因爲包丟失的原因就是阻塞)。 現在source quenches的規則是(RFC 1122): 路由器不許生成它們 主機可以生成它們 主機不能隨便生成它們 防火牆應該丟棄它們 但是,主機遇到Source Quench仍然減慢通訊,因此這被用於DoS。防火牆應該過濾它們。如果懷疑發生DoS,包中的源位址是無意義的,因爲IP地址肯定是虛構的。 已知某些SMTP伺服器會發送Source Quench。 (四) Type = 8 (Echo aka PING) 這是ping請求包。有很多場合使用它們;它可能意味著某人掃描你機器的惡意企圖,但它也可能是正常網路功能的一部分。參見Type = 0 (Echo Response) 很多網路管理掃描器會生成特定的ping包。包括ISS掃描器,WhatsUp監視器等。這在掃描器的有效載荷中可見。許多防火牆並不記錄這些,因此你需要一些嗅探器捕捉它們或使用入侵檢測系統(IDS)標記它們。 記住,阻擋ping進入並不意味著Hacker不能掃描你的網路。有許多方法可以代替。例如,TCP ACK掃描越來越流行。它們通常能穿透防火牆而引起目標系統不正常的反應。 發送到廣播地址(如x.x.x.0或x.x.x.255)的ping可能在你的網路中用於smurf放大。 (五) Type = 11 (Time Exceeded In Transit) 這一般不會是Hacker或Cracker的攻擊 1) Type = 11, Code = 0 (TTL Exceeded In Transit) 這可能有許多事情引起。如果有人從你的站點traceroute到Internet,你會看到許多來自路由器的TTL增加的包。這就是traceroute的工作原理:強迫路由器生成TTL增加的資訊來發現路由器。 防火牆管理員看到這種情況的原因是Internet上發生路由迴圈。路由器Flapping(持續變換路由器)是一個常見的問題,常會導致迴圈。這意味著當一個IP包朝目的地前進時,這個包被一個路由器錯誤引導至一個它曾經通過的路由器。如果路由器在包經過的時候把TTL域減一,這個包只好迴圈運動。實際上當TTL值爲0時它被丟棄。 造成這種情況的另一個原因是距離。許多機器(Windows)的默認TTL值是127或更低。路由器也常常會把TTL值減去大於1的值,以便反應諸如電話撥號或跨洋連接的慢速連接。因此,可能由於初始TTL值太小,而使站點無法到達。此外,一些Hacker/Cracker也會使用這種辦法使站點無法到達。 2) Type = 11, Code = 1 (Fragment Reassembly Time Exceeded) 當發送分割成片斷的IP報文時,發送者並不接收所有片斷。通常,大多數TCP/IP通訊甚至不分割片斷。你看到這種情況必定是採用了分割片斷而且你和目的地之 間有阻塞。 (六) Type = 12 (Parameter Problem) 這可能意味著一種進攻。有許多足印技術會生成這種包。 3. IP地址 3.1 什麽是源路由包? 源路由(source routed )是IP頭的可選項,它允許發送者不考慮一些或所有的路由器的路由決定。但通常由源地址和目的地址之間地路由器決定IP包如何路由。 有一些網路管理使用這種包,比如測試是否兩個電腦可否通訊。A點的網路管理員可以通過C點發送一個包給B點,這就能知道B點和C點是否能通訊。 同樣的方法可以用於逃避防火牆,推翻信任關係,與使用私有位址(10.x.x.x, 192.168.x.x, 172.[16-31].x.x)的機器通訊。 假如你是Internet上的一個hacker/cracker,你想和防火牆後面的一個使用10.x.x.x地址的機器通訊。因爲Internet上的路由器不知道子網的確切位置,你的包將被丟棄。但是,你可以放鬆IP包中的源路由選項並告訴Internet上的路由器將包發送至防火牆。因爲防火牆跨於私有網路和Internet之間,所以它知道如何正確傳遞IP包。因此,你可以通過將所有包發送至防火牆,與受害者建立會話。 這也可用於IP欺騙。你假裝是一個路由器(就像上面的防火牆)而且其他地方的某人正在通過你發送IP包。因此,隨機選擇一個Internet上的機器(ALICE)作爲被欺騙者,從ALICE向受害者(BOB)發送資料包。這樣BOB會認爲資料包來自於ALICE,但實際上它們是你發出來的。利用從你機器上發出的源路由包,僞造所有IP包(好像從ALICE發出的一樣),你就可以自由的訪問受害者的網路了。 越來越多的Inter
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-05-16 7:52:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!