明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

處理ARP攻擊的方法

[摘要]【故障原因】  局域網(wǎng)內(nèi)有人使用ARP欺騙的木馬程序(比如:傳奇盜號的軟件, 某些傳奇外掛中也被惡意加載了此程序)。   【故障原理】  要了解故障原理, 我們先來了解一下ARP協(xié)議。   在局...

【故障原因】

  局域網(wǎng)內(nèi)有人使用ARP欺騙的木馬程序(比如:傳奇盜號的軟件, 某些傳奇外掛中也被惡意加載了此程序)。

  【故障原理】

  要了解故障原理, 我們先來了解一下ARP協(xié)議。

  在局域網(wǎng)中, 通過ARP協(xié)議來完成IP地址轉(zhuǎn)換為第二層物理地址(即MAC地址)的。 ARP協(xié)議對網(wǎng)絡安全具有重要的意義。 通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙, 能夠在網(wǎng)絡中產(chǎn)生大量的ARP通信量使網(wǎng)絡阻塞。

  ARP協(xié)議是“Address Resolution Protocol”(地址解析協(xié)議)的縮寫。 在局域網(wǎng)中, 網(wǎng)絡中實際傳輸?shù)氖?ldquo;幀”, 幀里面是有目標主機的MAC地址的。 在以太網(wǎng)中, 一個主機要和另一個主機進行直接通信, 必須要知道目標主機的MAC地址。 但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協(xié)議獲得的。 所謂“地址解析”就是主機在發(fā)送幀前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程。 ARP協(xié)議的基本功能就是通過目標設備的IP地址, 查詢目標設備的MAC地址, 以保證通信的順利進行。

  每臺安裝有TCP/IP協(xié)議的電腦里都有一個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)發(fā)送數(shù)據(jù)為例。 當發(fā)送數(shù)據(jù)時, 主機A會在自己的ARP緩存表中尋找是否有目標IP地址。 如果找到了, 也就知道了目標MAC地址, 直接把目標MAC地址寫入幀里面發(fā)送就可以了;如果在ARP緩存表中沒有找到相對應的IP地址, 主機A就會在網(wǎng)絡上發(fā)送一個廣播, 目標MAC地址是“FF.FF.FF.FF.FF.FF”, 這表示向同一網(wǎng)段內(nèi)的所有主機發(fā)出這樣的詢問:“192.168.16.2的MAC地址是什么?”網(wǎng)絡上其他主機并不響應ARP詢問, 只有主機B接收到這個幀時, 才向主機A做出這樣的回應:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。 這樣, 主機A就知道了主機B的MAC地址, 它就可以向主機B發(fā)送信息了。 同時它還更新了自己的ARP緩存表, 下次再向主機B發(fā)送信息時, 直接從ARP緩存表里查找就可以了。 ARP緩存表采用了老化機制, 在一段時間內(nèi)如果表中的某一行沒有使用, 就會被刪除, 這樣可以大大減少ARP緩存表的長度, 加快查詢速度。

  從上面可以看出, ARP協(xié)議的基礎就是信任局域網(wǎng)內(nèi)所有的人, 那么就很容易實現(xiàn)在以太網(wǎng)上的ARP欺騙。 對目標A進行欺騙, A去Ping主機C卻發(fā)送到了DD-DD-DD-DD-DD-DD這個地址上。 如果進行欺騙的時候, 把C的MAC地址騙為DD-DD-DD-DD-DD-DD, 于是A發(fā)送到C上的數(shù)據(jù)包都變成發(fā)送給D的了。 這不正好是D能夠接收到A發(fā)送的數(shù)據(jù)包了么, 嗅探成功。

  A對這個變化一點都沒有意識到, 但是接下來的事情就讓A產(chǎn)生了懷疑。 因為A和C連接不上了。 D對接收到A發(fā)送給C的數(shù)據(jù)包可沒有轉(zhuǎn)交給C。

  做“man in the middle”, 進行ARP重定向。 打開D的IP轉(zhuǎn)發(fā)功能, A發(fā)送過來的數(shù)據(jù)包, 轉(zhuǎn)發(fā)給C, 好比一個路由器一樣。 不過, 假如D發(fā)送ICMP重定向的話就中斷了整個計劃。

  D直接進行整個包的修改轉(zhuǎn)發(fā), 捕獲到A發(fā)送給C的數(shù)據(jù)包, 全部進行修改后再轉(zhuǎn)發(fā)給C, 而C接收到的數(shù)據(jù)包完全認為是從A發(fā)送來的。 不過, C發(fā)送的數(shù)據(jù)包又直接傳遞給A, 倘若再次進行對C的ARP欺騙。 現(xiàn)在D就完全成為A與C的中間橋梁了, 對于A和C之間的通訊就可以了如指掌了。

  【故障現(xiàn)象】

  當局域網(wǎng)內(nèi)某臺主機運行ARP欺騙的木馬程序時, 會欺騙局域網(wǎng)內(nèi)所有主機和路由器, 讓所有上網(wǎng)的流量必須經(jīng)過病毒主機。 其他用戶原來直接通過路由器上網(wǎng)現(xiàn)在轉(zhuǎn)由通過病毒主機上網(wǎng), 切換的時候用戶會斷一次線。

  切換到病毒主機上網(wǎng)后, 如果用戶已經(jīng)登陸了傳奇服務器, 那么病毒主機就會經(jīng)常偽造斷線的假像, 那么用戶就得重新登錄傳奇服務器, 這樣病毒主機就可以盜號了。

  由于ARP欺騙的木馬程序發(fā)作的時候會發(fā)出大量的數(shù)據(jù)包導致局域網(wǎng)通訊擁塞以及其自身處理能力的限制, 用戶會感覺上網(wǎng)速度越來越慢。 當ARP欺騙的木馬程序停止運行時, 用戶會恢復從路由器上網(wǎng), 切換過程中用戶會再斷一次線。

  【HiPER用戶快速發(fā)現(xiàn)ARP欺騙木馬】

  在路由器的“系統(tǒng)歷史記錄”中看到大量如下的信息(440以后的路由器軟件版本中才有此提示):

  MAC Chged 10.128.103.124

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

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

  這個消息代表了用戶的MAC地址發(fā)生了變化, 在ARP欺騙木馬開始運行的時候, 局域網(wǎng)所有主機的MAC地址更新為病毒主機的MAC地址(即所有信息的MAC New地址都一致為病毒主機的MAC地址), 同時在路由器的“用戶統(tǒng)計”中看到所有用戶的MAC地址信息都一樣。

  如果是在路由器的“系統(tǒng)歷史記錄”中看到大量MAC Old地址都一致, 則說明局域網(wǎng)內(nèi)曾經(jīng)出現(xiàn)過ARP欺騙(ARP欺騙的木馬程序停止運行時, 主機在路由器上恢復其真實的MAC地址)。

  【在局域網(wǎng)內(nèi)查找病毒主機】

  在上面我們已經(jīng)知道了使用ARP欺騙木馬的主機的MAC地址, 那么我們就可以使用NBTSCAN(下載地址:http://www.utt.com.cnhttp://img6.22122511.com/upload/net_2/nbtscan.rar)工具來快速查找它。

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

  命令:“nbtscan -r 192.168.16.0/24”(搜索整個192.168.16.0/24網(wǎng)段, 即

  192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 網(wǎng)段, 即192.168.16.25-192.168.16.137。 輸出結(jié)果第一列是IP地址, 最后一列是MAC地址。

  NBTSCAN的使用范例:

  假設查找一臺MAC地址為“000d870d585f”的病毒主機。

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

  2)在Windows開始—運行—打開, 輸入cmd(windows98輸入“command”), 在出現(xiàn)的DOS窗口中輸入:C:\nbtscan -r 192.168.16.1/24(這里需要根據(jù)用戶實際網(wǎng)段輸入), 回車。

  C:\Documents and Settings\ALAN>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、不要把你的網(wǎng)絡安全信任關系建立在IP基礎上或MAC基礎上, (rarp同樣存在欺騙的問題), 理想的關系應該建立在IP+MAC基礎上。

  2、設置靜態(tài)的MAC-->IP對應表, 不要讓主機刷新你設定好的轉(zhuǎn)換表。

  3、除非很有必要, 否則停止使用ARP, 將ARP做為永久條目保存在對應表中。

  4、使用ARP服務器。 通過該服務器查找自己的ARP轉(zhuǎn)換表來響應其他機器的ARP廣播。 確保這臺ARP服務器不被黑。

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

  6、使用硬件屏蔽主機。 設置好你的路由, 確保IP地址能到達合法的路徑。 (靜態(tài)配置路由ARP條目), 注意, 使用交換集線器和網(wǎng)橋無法阻止ARP欺騙。

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

  8、管理員定期輪詢, 檢查主機上的ARP緩存。

  9、使用防火墻連續(xù)監(jiān)控網(wǎng)絡。 注意有使用SNMP的情況下, ARP的欺騙有可能導致陷阱包丟失。

  【HiPER用戶的解決方案】

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

  1、在PC上綁定路由器的IP和MAC地址:

  1)首先, 獲得路由器的內(nèi)網(wǎng)的MAC地址(例如HiPER網(wǎng)關地址192.168.16.254的MAC地址為0022aa0022aa)。

  2)編寫一個批處理文件rarp.bat內(nèi)容如下:

  @echo off

  arp -d

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

  將文件中的網(wǎng)關IP地址和MAC地址更改為您自己的網(wǎng)關IP地址和MAC地址即可。

  將這個批處理軟件拖到“windows--開始--程序--啟動”中。

  3)如果是網(wǎng)吧, 可以利用收費軟件服務端程序(pubwin或者萬象都可以)發(fā)送批處理文件rarp.bat到所有客戶機的啟動目錄。 Windows2000的默認啟動目錄為“C:\Documents and Settings\All Users「開始」菜單程序啟動”。

  2、在路由器上綁定用戶主機的IP和MAC地址(440以后的路由器軟件版本支持):

  在HiPER管理界面--高級配置--用戶管理中將局域網(wǎng)每臺主機均作綁定

原文出自【比特網(wǎng)】, 轉(zhuǎn)載請保留原文鏈接:http://sec.chinabyte.com/363/11865363.shtml


上面是電腦上網(wǎng)安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。