ARP病毒

不具備主動傳播特性的病毒

ARP地址欺騙類病毒(簡稱ARP病毒)是一類特殊的病毒,該病毒一般屬於木馬(Trojan)病毒,不具備主動傳播的特性,不會自我複製。arp病毒並不是某一種病毒的名稱,而是對利用arp協議的漏洞進行傳播的一類病毒的總稱。arp協議是TCP/IP協議組的一個協議,用於進行把網路地址翻譯成物理地址(又稱MAC地址)。通常此類攻擊的手段有兩種:路由欺騙和網關欺騙。是一種入侵電腦的木馬病毒。對電腦用戶私密信息的威脅很大。但是由於其發作的時候會向全網發送偽造的ARP數據包,干擾全網的運行,因此它的危害比一些蠕蟲還要嚴重得多。

故障原因


ARP病毒
ARP病毒
主要原因是在區域網中有人使用了ARP欺騙的木馬程序,比如一些盜號的軟體。
傳奇外掛攜帶的ARP木馬攻擊,當區域網內使用外掛時,外掛攜帶的病毒會將該機器的MAC地址映射到網關的IP地址上,向區域網內大量發送ARP包,致同一網段地址內的其它機器誤將其作為網關,掉線時內網是互通的,計算機卻不能上網。方法是在能上網時,進入MS-DOS窗口,輸入命令:arp –a查看網關IP對應的正確MAC地址,將其記錄,如果已不能上網,則先運行一次命令arp –d將arp緩存中的內容刪空,計算機可暫時恢復上網,一旦能上網就立即將網路斷掉,禁用網卡或拔掉網線,再運行arp –a。
如已有網關的正確MAC地址,在不能上網時,手工將網關IP和正確MAC綁定,可確保計算機不再被攻擊影響。可在MS-DOS窗口下運行以下命令:arp –s 網關IP 網關MAC。如被攻擊,用該命令查看,會發現該MAC已經被替換成攻擊機器的MAC,將該MAC記錄,以備查找。找出病毒計算機:如果已有病毒計算機的MAC地址,可使用NBTSCAN軟體找出網段內與該MAC地址對應的IP,即病毒計算機的IP地址。

故障現象


當區域網內有某台電腦運行了此類ARP欺騙的木馬的時候,其他用戶原來直接通過路由器上網現在轉由通過病毒主機上網,切換的時候用戶會斷一次線。
切換到病毒主機上網后,如果用戶已經登陸了傳奇伺服器,那麼病毒主機就會經常偽造斷線的假像,那麼用戶就得重新登錄傳奇伺服器,這樣病毒主機就可以盜號了。
由於ARP欺騙的木馬發作的時候會發出大量的數據包導致區域網通訊擁塞,用戶會感覺上網速度越來越慢。當木馬程序停止運行時,用戶會恢復從路由器上網,切換中用戶會再斷一次線。
該機一開機上網就不斷發Arp欺騙報文,即以假冒的網卡物理地址向同一子網的其它機器發送Arp報文,甚至假冒該子網網關物理地址矇騙其它機器,使網內其它機器改經該病毒主機上網,這個由真網關向假網關切換的過程中其它機器會斷一次網。倘若該病毒機器突然關機或離線,則其它機器又要重新搜索真網關,於是又會斷一次網。所以會造成某一子網只要有一台或一台以上這樣的病毒機器,就會使其他人上網斷斷續續,嚴重時將使整個網路癱瘓。這種病毒(木馬)除了影響他人上網外,也以竊取病毒機器和同一子網內其它機器上的用戶帳號和密碼(如QQ和網路遊戲等的帳號和密碼)為目的,而且它發的是Arp報文,具有一定的隱秘性,如果占系統資源不是很大,又無防病毒軟體監控,一般用戶不易察覺。這種病毒開學初主要發生在學生宿舍,據最近調查,現在已經在向辦公區域和教工住宅區域蔓延,而且呈越演越烈之勢。
經抽樣測試,學校提供的賽門鐵克防病毒軟體企業版10.0能有效查殺已知的ARP欺騙病毒(木馬)病毒。惡意軟體由於國際上未有明確界定,目前暫無一款防病毒軟體能提供100%杜絕其發作的解決方案,需要藉助某些輔助工具進行清理。

解決思路


不要把你的網路安全信任關係建立在IP基礎上或MAC基礎上。
設置靜態的MAC-->IP對應表,不要讓主機刷新你設定好的轉換表。
除非必要,否則停止ARP使用,把ARP做為永久條目保存在對應表中。
使用ARP伺服器。確保這台ARP伺服器不被黑。
使用“proxy”代理IP傳輸。
使用硬體屏蔽主機。
定期用響應的IP包中獲得一個rarp請求,檢查ARP響應的真實性。
定期輪詢,檢查主機上的ARP緩存。
使用防火牆連續監控網路。

解決方案


一般出現區域網
網吧用戶一般可以用ROS路由進行綁定,在主機上安裝上ARP防火牆服務端,客戶機安裝客戶端,雙相綁定比較安全。
建議採用雙向綁定解決和防止ARP欺騙。在電腦上綁定路由器的IP和MAC地址
首先,獲得路由器的內網的MAC地址(例如HiPER網關地址192.168.16.254的MAC地址為0022aa0022aa區域網埠MAC地址>)。
編寫一個批處理文件rarp.bat內容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
將網關IP和MAC更改為您自己的網關IP和MAC即可,讓這個文件開機運行(拖到“開始-程序-啟動”)。
自己手動清除病毒:
⒈立即升級操作系統中的防病毒軟體和防火牆,同時打開“實時監控”功能,實時地攔截來自區域網路上的各種ARP病毒變種。
⒉立即根據自己的操作系統版本下載微軟MS06-014和MS07-017兩個系統漏洞補丁程序,將補丁程序安裝到區域網路中存在這兩個漏洞的計算機系統中,防止病毒變種的感染和傳播。
⒊檢查是否已經中毒:
a. 在設備管理器中,單擊“查看—顯示隱藏的設備”
b. 在設備樹結構中,打開“非即插即用設備”
c. 查找是否存在:“NetGroup Packet Filter Driver”或“NetGroup Packet Filter”,如果存在,就表明已經中毒。
⒋對沒有中毒機器,可以下載軟體Anti ARP Sniffer,填入網關,啟用自動防護,保護自己的ip地址以及網關地址,保證正常上網。
⒌對已經中毒電腦可以用以下方法手動清除病毒:
⑴刪除:%windows%\System32\LOADHW.EXE (有些電腦可能沒有)
⑵a. 在設備管理器中,單擊“查看—顯示隱藏的設備”
b. 在設備樹結構中,打開“非即插即用設備”
c. 找到“NetGroup Packet Filter Driver”或“NetGroup Packet Filter”
d. 右點擊,”卸載”
e. 重啟系統
⑶刪除:%windows%\System32\drivers\npf.sys
⑷刪除%windows%\System32\msitinit.dll(有些電腦可能沒有)
⑸刪除註冊表服務項:開始〉運行〉regedit〉打開,進入註冊表,全註冊表搜索npf.sys,把文件所在文件夾Npf整個刪除.(應該有2個).至此arp病毒清除.
⑹根據經驗,該病毒會下載大量病毒,木馬及惡意軟體,並修改winsocks,導致不能打開網頁,不能打開netmeeting等,為此還需要做下面幾步工作:
a.用殺毒軟體清理惡意軟體,木馬.
b.檢查並刪除下列文件並相關啟動項:
1)%windows%\System32\nwizwmgjs.exe(一般殺毒軟體會隔離)
2)%windows%\System32\nwizwmgjs.dll(一般殺毒軟體會隔離)
3)%windows%\System32\ravzt.exe(一般殺毒軟體會隔離)
4)%windows%\System32\ravzt.dat
3)%windows%\System32\googleon.exe
c.重置winsock(可以用軟體修復,下面介紹一個比較簡單的辦法):
開始>;運行>CMD,進入命令提示符,輸入cd..回車,一直退出至c盤根目錄,在C:>;下輸入netsh winsock reset回車,然後按提示重啟計算機。

ARP攻擊時的主要現象


1、網上銀行、遊戲及QQ賬號的頻繁丟失
一些人為了獲取非法利益,利用ARP欺騙程序在網內進行非法活動,此類程序的主要目的在於破解賬號登陸時的加密解密演演算法,通過截取區域網中的數據包,然後以分析數據通訊協議的方法截獲用戶的信息。運行這類木馬病毒,就可以獲得整個區域網中上網用戶賬號的詳細信息並盜取。
2、網速時快時慢,極其不穩定,但單機進行光纖數據測試時一切正常
當局域內的某台計算機被ARP的欺騙程序非法侵入后,它就會持續地向網內所有的計算機及網路設備發送大量的非法ARP欺騙數據包,阻塞網路通道,造成網路設備的承載過重,導致網路的通訊質量不穩定。
3、區域網內頻繁性區域或整體掉線,重啟計算機或網路設備后恢復正常
當帶有ARP欺騙程序的計算機在網內進行通訊時,就會導致頻繁掉線,出現此類問題后重啟計算機或禁用網卡會暫時解決問題,但掉線情況還會發生。

病毒原理


網路模型簡介

arp病毒
arp病毒
眾所周知,按照OSI (Open Systems Interconnection Reference Model開放系統互聯參考模型) 的觀點,可將網路系統劃分為7層結構,每一個層次上運行著不同的協議和服務,並且上下層之間互相配合,完成網路數據交換的功能。
然而,OSI的模型僅僅是一個參考模型,並不是實際網路中應用的模型。實際上應用最廣泛的商用網路模型即TCP/IP體系模型,將網路劃分為四層,每一個層次上也運行著不同的協議和服務。

協議簡介

我們大家都知道,在區域網中,一台主機要和另一台主機進行通信,必須要知道目標主機的IP地址,但是最終負責在區域網中傳送數據的網卡等物理設備是不識別IP地址的,只能識別其硬體地址即MAC地址。MAC地址是48位的,通常表示為12個16進位數,每2個16進位數之間用“-”或者冒號隔開,如:00-0B-2F-13-1A-11就是一個MAC地址。每一塊網卡都有其全球唯一的MAC地址,網卡之間發送數據,只能根據對方網卡的MAC地址進行發送,這時就需要一個將高層數據包中的IP地址轉換成低層MAC地址的協議,而這個重要的任務將由ARP協議完成。
ARP全稱為Address Resolution Protocol,地址解析協議。所謂“地址解析”就是主機在發送數據包前將目標主機IP地址轉換成目標主機MAC地址的過程。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。這時就涉及到一個問題,一個區域網中的電腦少則幾台,多則上百台,這麼多的電腦之間,如何能準確的記住對方電腦網卡的MAC地址,以便數據的發送呢?這就涉及到了另外一個概念,ARP緩存表。在區域網的任何一台主機中,都有一個ARP緩存表,該表中保存這網路中各個電腦的IP地址和MAC地址的對照關係。當這台主機向同區域網中另外的主機發送數據的時候,會根據ARP緩存表裡的對應關係進行發送。
下面,我們用一個模擬的區域網環境,來說明ARP欺騙的過程。

欺騙過程

假設一個只有三台電腦組成的區域網,該區域網由交換機(Switch)連接。其中一個電腦名叫A,代表攻擊方;一台電腦叫S,代表源主機,即發送數據的電腦;另一台電腦名叫D,代表目的主機,即接收數據的電腦。這三台電腦的IP地址分別為192.168.0.2,192.168.0.3,192.168.0.4。MAC地址分別為MAC_A,MAC_S,MAC_D。
現在,S電腦要給D電腦發送數據了,在S電腦內部,上層的TCP和UDP的數據包已經傳送到了最底層的網路介面層,數據包即將要發送出去,但這時還不知道目的主機D電腦的MAC地址MAC_D。這時候,S電腦要先查詢自身的ARP緩存表,查看裡面是否有192.168.0.4這台電腦的MAC地址,如果有,那很好辦,就將 封裝在數據包的外面。直接發送出去即可。如果沒有,這時S電腦要向全網路發送一個ARP廣播包,大聲詢問:“我的IP是192.168.0.3,硬體地址是MAC_S,我想知道IP地址為192.168.0.4的主機的硬體地址是多少?”這時,全網路的電腦都收到該ARP廣播包了,包括A電腦和D電腦。A電腦一看其要查詢的IP地址不是自己的,就將該數據包丟棄不予理會。而D電腦一看IP地址是自己的,則回答S電腦:“我的IP地址是192.168.0.4,我的硬體地址是MAC_D”需要注意的是,這條信息是單獨回答的,即D電腦單獨向S電腦發送的,並非剛才的廣播。現在S電腦已經知道目的電腦D的MAC地址了,它可以將要發送的數據包上貼上目的地址MAC_D,發送出去了。同時它還會動態更新自身的ARP緩存表,將192.168.0.4-MAC_D這一條記錄添加進去,這樣,等S電腦下次再給D電腦發送數據的時候,就不用大聲詢問發送ARP廣播包了。這就是正常情況下的數據包發送過程。
這樣的機制看上去很完美,似乎整個區域網也天下太平,相安無事。但是,上述數據發送機制有一個致命的缺陷,即它是建立在對區域網中電腦全部信任的基礎上的,也就是說它的假設前提是:無論區域網中那台電腦,其發送的ARP數據包都是正確的。那麼這樣就很危險了!因為區域網中並非所有的電腦都安分守己,往往有非法者的存在。比如在上述數據發送中,當S電腦向全網詢問“我想知道IP地址為192.168.0.4的主機的硬體地址是多少?”后,D電腦也回應了自己的正確MAC地址。但是當此時,一向沉默寡言的A電腦也回話了:“我的IP地址是192.168.0.4,我的硬體地址是MAC_A” ,注意,此時它竟然冒充自己是D電腦的IP地址,而MAC地址竟然寫成自己的!由於A電腦不停地發送這樣的應答數據包,本來S電腦的ARP緩存表中已經保存了正確的記錄:192.168.0.4-MAC_D,但是由於A電腦的不停應答,這時S電腦並不知道A電腦發送的數據包是偽造的,導致S電腦又重新動態更新自身的ARP緩存表,這回記錄成:192.168.0.4-MAC_A,很顯然,這是一個錯誤的記錄(這步也叫ARP緩存表中毒),這樣就導致以後凡是S電腦要發送給D電腦,也就是IP地址為192.168.0.4這台主機的數據,都將會發送給MAC地址為MAC_A的主機,這樣,在光天化日之下,A電腦竟然劫持了由S電腦發送給D電腦的數據!這就是ARP欺騙的過程。
如果A這台電腦再做的“過分”一些,它不冒充D電腦,而是冒充網關,那後果會怎麼樣呢?我們大家都知道,如果一個區域網中的電腦要連接外網,也收發的數據都就是登陸網際網路的時候,都要經過區域網中的網關轉發一下,所有要先經過網關,再由網關發向網際網路。在區域網中,網關的IP地址一般為192.168.0.1。如果A這台電腦向全網不停的發送ARP欺騙廣播,大聲說:“我的IP地址是192.168.0.1,我的硬體地址是MAC_A”這時區域網中的其它電腦並沒有察覺到什麼,因為區域網通信的前提條件是信任任何電腦發送的ARP廣播包。這樣區域網中的其它電腦都會更新自身的ARP緩存表,記錄下192.168.0.1-MAC_A這樣的記錄,這樣,當它們發送給網關,也就是IP地址為192.168.0.1這台電腦的數據,結果都會發送到MAC_A這台電腦中!這樣,A電腦就將會監聽整個區域網發送給網際網路的數據包!
實際上,這種病毒早就出現過,這就是ARP地址欺騙類病毒。一些傳奇木馬(Trojan/PSW.LMir)具有這樣的特性,該木馬一般通過傳奇外掛、網頁木馬等方式使區域網中的某台電腦中毒,這樣中毒電腦便可嗅探到整個區域網發送的所有數據包,該木馬破解了《傳奇》遊戲的數據包加密演演算法,通過截獲區域網中的數據包,分析數據包中的用戶隱私信息,盜取用戶的遊戲帳號和密碼。在解析這些封包之後,再將它們發送到真正的網關。這樣的病毒有一個令網吧遊戲玩家聞之色變的名字:“傳奇網吧殺手”

病毒表現形式

由於現在的網路遊戲數據包在發送過程中,均已採用了強悍的加密演演算法,因此這類ARP病毒在解密數據包的時候遇到了很大的難度。現在又新出現了一種ARP病毒,與以前的一樣的是,該類ARP病毒也是向全網發送偽造的ARP欺騙廣播,自身偽裝成網關。但區別是,它著重的不是對網路遊戲數據包的解密,而是對於HTTP請求訪問的修改。
HTTP是應用層的協議,主要是用於WEB網頁訪問。還是以上面的區域網環境舉例,如果區域網中一台電腦S要請求某個網站頁面,如想請求easynet.5d6dcom這個網頁,這台電腦會先向網關發送HTTP請求,說:“我想登陸easynet.5d6dcom網頁,請你將這個網頁下載下來,併發送給我。”這樣,網關就會將easynet.5d6dcom頁面下載下來,併發送給S電腦。這時,如果A這台電腦通過向全網發送偽造的ARP欺騙廣播,自身偽裝成網關,成為一台ARP中毒電腦的話,這樣當S電腦請求WEB網頁時,A電腦先是“好心好意”地將這個頁面下載下來,然後發送給S電腦,但是它在返回給S電腦時,會向其中插入惡意網址連接!該惡意網址連接會利用MS06-014和MS07-017等多種系統漏洞,向S電腦種植木馬病毒!同樣,如果D電腦也是請求WEB頁面訪問,A電腦同樣也會給D電腦返回帶毒的網頁,這樣,如果一個區域網中存在這樣的ARP病毒電腦的話,頃刻間,整個網段的電腦將會全部中毒!淪為黑客手中的殭屍電腦!

注意事項


防範技巧

病毒的認識
由於區域網在最初設計的時候沒有考慮安全的問題,所以存在很多漏洞,arp欺騙就是最常見的一種。
ARP欺騙分為二種,一種是對路由器ARP表的欺騙;另一種是對內網PC的網關欺騙。第一種ARP欺騙的原理是——截獲網關數據。它通知路由器一系列錯誤的內網MAC地址,並按照一定的頻率不斷進行,使真實的地址信息無法通過更新保存在路由器中,結果路由器的所有數據只能發送給錯誤的MAC地址,造成正常PC無法收到信息。
第二種ARP欺騙的原理是——偽造網關。它的原理是建立假網關,讓被它欺騙的PC向假網關發數據,而不是通過正常的路由器途徑上網。在PC看來,就是上不了網了,“網路掉線了”。

防範從我做起

⒈查殺病毒和木馬。採用殺毒軟體(需更新至最新病毒庫)、採用最新木馬查殺軟體進行在安全模式下徹底查殺(計算機啟動時時按F8可進入安全模式)。
⒉不使用不良網管軟體。
⒊不使用軟體更改自己的mac地址。
⒋發現別人惡意攻擊或有中毒跡象(例如發現arp攻擊地址為某台計算機的mac地址),及時告知和制止。

有效認識病毒

ARP病毒發作時,通常會造成網路掉線,但網路連接正常,內網的部分電腦不能上網,或者所有電腦均不能上網,無法打開網頁或打開網頁慢以及區域網連接時斷時續並且網速較慢等現象,嚴重影響到企業網路、網吧、校園網路等區域網的正常運行。