史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 應用軟體使用技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-06-28, 12:53 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 解讀防火牆記錄

本文將向你解釋你在防火牆的記錄(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頁需要一個新連接阜。

Version 0.4.1, June 20, 2000
  http://www.robertgraham.com/pubs/firewall-seen.html
  Copyright 1998-2000 by Robert Graham (mailto:firewall-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後門

  許多攻擊指令碼將安裝一個後門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, Seven
  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 >[url]http://www.sybase.com/︴/url]^

  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連接阜。


Version 0.4.1, June 20, 2000
http://www.robertgraham.com/pubs/firewall-seen.html
Copyright 1998-2000 by Robert Graham (mailto:firewall-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.

  (接上篇)

  七、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/pub...wall-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/ass...見下文。

  類型 程式碼 名稱 含義
  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的攻擊
  10 * Time Exceeded In Transit 因為超時包未達到目的地
  0 TTL Exceeded 因為路由循環或由於執行traceroute,路由器將包丟棄
  1 Fragment reassembly timeout 由於沒有收到所有片斷,主機將包丟棄
  11 * 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)

  這可能意味著一種進攻。有許多足印技術會產生這種包。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2003-07-12, 05:30 AM   #2 (permalink)
no1power
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

多謝賜教
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 05:59 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1