ARP定義
ARP(Address resolution Protocol,地址解析協定)是一個位於TCP/IP協定棧中的底層協定,負責將某個IP位址解析成對應的MAC地址。遭受ARP攻擊後現象
ARP欺騙木馬的中毒現象表現為:使用區域網路時會突然掉線,過一段時間後又會恢復正常。比如客戶端狀態頻頻變紅,用戶頻繁斷網,IE瀏覽器頻繁出錯,以及一些常用軟體出現故障等。如果區域網路中是通過身份認證上網的,會突然出現可認證,但不能上網的現象(無法ping通網關),重啟機器或在MS-DOS視窗下運行命令arp -d後,又可恢復上網。ARP欺騙木馬只需成功感染一台電腦,就可能導致整個區域網路都無法上網,嚴重的甚至可能帶來整個網路的癱瘓。該木馬發作時除了會導致同一區域網路內的其他用戶上網出現時斷時續的現象外,還會竊取用戶密碼。如盜取QQ密碼、盜取各種網路遊戲密碼和賬號去做金錢交易,盜竊網上銀行賬號來做非法交易活動等,這是木馬的慣用伎倆,給用戶造成了很大的不便和巨大的經濟損失。
ARP攻擊原理
ARP攻擊就是通過偽造IP位址和MAC地址實現ARP欺騙,能夠在網路中產生大量的ARP通信量使網路阻塞,攻擊者只要持續不斷的發出偽造的ARP回響包就能更改目標主機ARP快取中的IP-MAC條目,造成網路中斷或中間人攻擊。ARP攻擊主要是存在於區域網路網路中,區域網路中若有一個人感染ARP木馬,則感染該ARP木馬的系統將會試圖通過“ARP欺騙”手段截獲所在網路內其它計算機的通信信息,並因此造成網內其它計算機的通信故障。
APR攻擊解決方法
【故障原因】區域網路內有人使用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重定向。打開D的IP轉發功能,A傳送過來的數據包,轉發給C,好比一個路由器一樣。不過,假如D傳送ICMP重定向的話就中斷了整個計畫。
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可以取到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:
btscan -r 192.168.16.1/24(這裡需要根據用戶實際網段輸入),回車。
C:Documents and SettingsALAN>C:
btscan -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--開始--程式--啟動”中。
ARP病毒專殺工具
1、趨勢科技ARP病毒專殺工具,不管是否有中毒,請務必下載下來殺一殺。
下載後解壓縮,運行包內TSC.exe檔案,不要關讓它一直運行完,最後查看report文檔便知是否中毒。
2、Arp病毒專殺防禦工具Antiarp
∷軟體簡介∷ 防護arp攻擊軟體最終版-Antiarp安全軟體
使用方法:
1、填入網關IP位址,點擊[獲取網關地址]將會顯示出網關的MAC地址。點擊[自動防護]即可保護當前網卡與該網關的通信不會被第三方監聽。注意:如出現這種欺騙提示,這說明攻擊者傳送了對於此種欺騙數據包來獲取網卡的數據包,如果您想追蹤攻擊來源請記住攻擊者的MAC地址,利用MAC地址掃描器可以找出IP
對應的MAC地址.
2、IP位址衝突
如頻繁的出現IP位址衝突,這說明攻擊者頻繁傳送ARP欺騙數據包,才會出現IP衝突的警告,利用Anti ARP Sniffer可以防止此類攻擊。
3、您需要知道衝突的MAC地址,Windows會記錄這些錯誤。查看具體方法如下:
右擊[我的電腦]--[管理]--點擊[事件查看器]--點擊[系統]--查看來源為[TcpIP]---雙擊事件可以看到顯示地址發生衝突,並記錄了該MAC地址,請複製該MAC地址並填入Anti
ARP
Sniffer的本地MAC地址輸入框中(請注意將:轉換為-),輸入完成之後點擊[防護地址衝突],為了使M地址生效請禁用本地網卡然後再啟用網卡,在CMD命令行中輸入Ipconfig
/all,查看當前MAC地址是否與本地MAC地址輸入框中的地址相符,如果更改失敗請與我聯繫。如果成功將不再會顯示地址衝突。
注意:如果您想恢復默認MAC地址,請點擊[恢復默認],為了使地址生效請禁用本地網卡然後再啟用網卡。