史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   網路軟硬體架設技術文件 (http://forum.slime.com.tw/f133.html)
-   -   實例講解—使用防火牆時DNS的使用方法 (http://forum.slime.com.tw/thread164772.html)

psac 2006-01-01 01:41 AM

實例講解—使用防火牆時DNS的使用方法
 
關於網路位址解析傳輸協定被攻擊的解決方法

【故障原因】

  區域網路內有人使用ARP欺騙的木馬程序(比如:傳奇盜號的軟體,某些傳奇外掛中也被惡意載入了此程序)。

  【故障原理】

  要瞭解故障原理,我們先來瞭解一下ARP傳輸協定。

  在區域網路中,通過ARP傳輸協定來完成IP位址轉換為第二層物理位址(即MAC位址)的。ARP傳輸協定對網路安全具有重要的意義。通過偽造IP位址和MAC位址實現ARP欺騙,能夠在網路中產生大量的ARP通信量使網路阻塞。

  ARP傳輸協定是「Address Resolution Protocol」(位址解析傳輸協定)的縮寫。在區域網路中,網路中實際傳輸的是「畫格」,畫格裡面是有目標主機的MAC位址的。在乙太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC位址。但這個目標MAC位址是如何獲得的呢?它就是通過位址解析傳輸協定獲得的。所謂「位址解析」就是主機在傳送畫格前將目標IP位址轉換成目標MAC位址的程序。ARP傳輸協定的基本功能就是通過目標設備的IP位址,查詢目標設備的MAC位址,以保證通信的順利進行。

  每台安裝有TCP/IP傳輸協定的電腦裡都有一個ARP快取表,表裡的IP位址與MAC位址是一一對應的,如下表所顯示。

  主機 IP位址 MAC位址

  A 192.168.16.1 aa-aa-aa-aa-aa-aa

  B 192.168.16.2 bb-bb-bb-bb-bb-bb

  C 192.168.16.3 cc-cc-cc-cc-cc-cc

  D 192.168.16.4 dd-dd-dd-dd-dd-dd

  我們以主機A(192.168.16.1)向主機B(192.168.16.2)傳送資料為例。當傳送資料時,主機A會在自己的ARP快取表中尋找是否有目標IP位址。如果找到了,也就知道了目標MAC位址,直接把目標MAC位址寫入畫格裡面傳送就可以了;如果在ARP快取表中沒有找到相對應的IP位址,主機A就會在網路上傳送一個廣播,目標MAC位址是「FF.FF.FF.FF.FF.FF」,這表示向同一網段內的所有主機發出這樣的詢問:「192.168.16.2的MAC位址是什麼?」網路上其他主機並不回應ARP詢問,只有主機B接收到這個畫格時,才向主機A做出這樣的回應:「192.168.16.2的MAC位址是bb-bb-bb-bb-bb-bb」。這樣,主機A就知道了主機B的MAC位址,它就可以向主機B傳送訊息了。同時它還更新了自己的ARP快取表,下次再向主機B傳送訊息時,直接從ARP快取表裡搜尋就可以了。ARP快取表採用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被移除,這樣可以大大減少ARP快取表的長度,加快查詢速度。

  從上面可以看出,ARP傳輸協定的基礎就是信任區域網路內所有的人,那麼就很容易實現在乙太網上的ARP欺騙。對目標A進行欺騙,A去Ping主機C卻傳送到了DD-DD-DD-DD-DD-DD這個位址上。如果進行欺騙的時候,把C的MAC位址騙為DD-DD-DD-DD-DD-DD,於是A傳送到C上的資料包都變成傳送給D的了。這不正好是D能夠接收到A傳送的資料包了麼,嗅探成功。

  A對這個變化一點都沒有意識到,但是接下來的事情就讓A產生了懷疑。因為A和C連接不上了。D對接收到A傳送給C的資料包可沒有轉交給C。

  做「man in the middle」,進行ARP重轉發IP。開啟D的IP轉發功能,A傳送過來的資料包,轉發給C,好比一個路由器一樣。不過,假如D傳送ICMP重轉發IP的話就中斷了整個計劃。

  D直接進行整個包的修改轉發,捕獲到A傳送給C的資料包,全部進行修改後再轉發給C,而C接收到的資料包完全認為是從A傳送來的。不過,C傳送的資料包又直接傳送給A,倘若再次進行對C的ARP欺騙。現在D就完全成為A與C的中間橋樑了,對於A和C之間的通訊就可以瞭如指掌了。

  【故障現象】

  當區域網路內某台主機執行ARP欺騙的木馬程序時,會欺騙區域網路內所有主機和路由器,讓所有上網的流量必須經過病毒主機。其他用戶原來直接通過路由器上網現在轉由通過病毒主機上網,切換的時候用戶會斷一次線。

  切換到病毒主機上網後,如果用戶已經登入了傳奇伺服器,那麼病毒主機就會經常偽造斷線的假像,那麼用戶就得重新登入傳奇伺服器,這樣病毒主機就可以盜號了。

  由於ARP欺騙的木馬程序發作的時候會發出大量的資料包導致區域網路通訊擁塞以及其自身處理能力的限制,用戶會感覺上網速度越來越慢。當ARP欺騙的木馬程序停止執行時,用戶會恢復從路由器上網,切換程序中用戶會再斷一次線。

  【HiPER用戶快速發現ARP欺騙木馬】

  在路由器的「系統歷史記錄」中看到大量如下的訊息(440以後的路由器軟體版本中才有此提示):

  MAC Chged 10.128.103.124

  MAC Old 00:01:6c:36:d1:7f

  MAC New 00:05:5d:60:c7:18

  這個消息代表了用戶的MAC位址發生了變化,在ARP欺騙木馬開始執行的時候,區域網路所有主機的MAC位址更新為病毒主機的MAC位址(即所有訊息的MAC New位址都一致為病毒主機的MAC位址),同時在路由器的「用戶統計」中看到所有用戶的MAC位址訊息都一樣。

  如果是在路由器的「系統歷史記錄」中看到大量MAC Old位址都一致,則說明區域網路內曾經出現過ARP欺騙(ARP欺騙的木馬程序停止執行時,主機在路由器上恢復其真實的MAC位址)。

  【在區域網路內搜尋病毒主機】

  在上面我們已經知道了使用ARP欺騙木馬的主機的MAC位址,那麼我們就可以使用NBTSCAN(下載位址:http://www.utt.com.cn/upload/nbtscan.rar)工具來快速搜尋它。

  NBTSCAN可以取到PC的真實IP位址和MAC位址,如果有」傳奇木馬」在做怪,可以找到裝有木馬的PC的IP/和MAC位址。

  指令:「nbtscan -r 192.168.16.0/24」(搜尋整個192.168.16.0/24網段, 即
  192.168.16.1-192.168.16.254);或「nbtscan 192.168.16.25-137」搜尋192.168.16.25-137 網段,即192.168.16.25-192.168.16.137。輸出結果第一列是IP位址,最後一列是MAC位址。

  NBTSCAN的使用範例:

  假設搜尋一台MAC位址為「000d870d585f」的病毒主機。

  1)將壓縮包中的nbtscan.exe 和cygwin1.dll解壓縮放到c:下。

  2)在Windows開始—執行—開啟,輸入cmd(windows98輸入「command」),在出現的DOS視窗中輸入:C:nbtscan -r 192.168.16.1/24(這裡需要根據用戶實際網段輸入),Enter鍵。

  C:Documents and SettingsALAN>C:nbtscan -r 192.168.16.1/24

  Warning: -r option not supported under Windows. Running without it.

  Doing NBT name scan for addresses from 192.168.16.1/24

  IP address NetBIOS Name Server User MAC address

  --------------------------------------------------------------------

  192.168.16.0 Sendto failed: Cannot assign requested address

  192.168.16.50 SERVER 00-e0-4c-4d-96-c6

  192.168.16.111 LLF ADMINISTRATOR 00-22-55-66-77-88

  192.168.16.121 UTT-HIPER 00-0d-87-26-7d-78

  192.168.16.175 JC 00-07-95-e0-7c-d7

  192.168.16.223 test123 test123 00-0d-87-0d-58-5f

  3)通過查詢IP--MAC對應表,查出「000d870d585f」的病毒主機的IP位址為「192.168.16.223」。

  【解決思法】

  1. 不要把你的網路安全信任關係建立在IP基礎上或MAC基礎上,(rarp同樣存在欺騙的問題),理想的關係應該建立在IP+MAC基礎上。

  2. 設定靜態的MAC-->IP對應表,不要讓主機重新整理你設定好的轉換表。

  3. 除非很有必要,否則停止使用ARP,將ARP做為永久 列項儲存在對應表中。

  4. 使用ARP伺服器。通過該伺服器搜尋自己的ARP轉換表來回應其他機器的ARP廣播。確保這台ARP伺服器不被黑。

  5. 使用"proxy"代理IP的傳輸。

  6. 使用硬體遮閉主機。設定好你的路由,確保IP位址能到達合法的路徑。(靜態組態路由ARP 列項),注意,使用交換集線器和網路橋接無法阻止ARP欺騙。

  7. 管理員定期用回應的IP包中獲得一個rarp請求,然後檢查ARP回應的真實性。

  8. 管理員定期輪詢,檢查主機上的ARP快取。

  9. 使用防火牆連續監控網路。注意有使用SNMP的情況下,ARP的欺騙有可能導致陷阱包丟失掉。

  【HiPER用戶的解決方案】

  建議用戶採用雙向綁定的方法解決並且防止ARP欺騙。

  1. 在PC上綁定路由器的IP和MAC位址:

  1)首先,獲得路由器的局內網的MAC位址(例如HiPER網路閘道位址192.168.16.254的MAC位址為0022aa0022aa區域網路連接阜MAC位址>)。

  2)編寫一個批次處理文件rarp.bat內容如下:

  @echo off

  arp -d

  arp -s 192.168.16.254 00-22-aa-00-22-aa

  將文件中的網路閘道IP位址和MAC位址更改為您自己的網路閘道IP位址和MAC位址即可。

  將這個批次處理軟體拖到「windows--開始--程序--啟動」中。

  3)如果是網咖,可以利用收費軟體服務端程序(pubwin或者萬象都可以)傳送批次處理文件rarp.bat到所有客戶端機的啟動目錄。Windows2000的預設啟動目錄為「C:Documents and SettingsAll Users「開始」表單程序啟動」。

  2. 在路由器上綁定用戶主機的IP和MAC位址(440以後的路由器軟體版本支持):

  在HiPER管理界面--進階組態--用戶管理中將區域網路每台主機均作綁定。


所有時間均為台北時間。現在的時間是 12:44 AM

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

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1