自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

病毒、木馬ARP攻擊行為的原理分析及解決思路

安全 黑客攻防
我們首先要了解一下ARP(Address Resolution Protocol)地址解析協(xié)議,它是一種將IP地址轉(zhuǎn)化成物理地址的協(xié)議。ARP具體說來就是將網(wǎng)絡(luò)層(TCP/IP協(xié)議的IP層,也就是相當(dāng)于OSI 的第三層)......
近一段時間帶有ARP攻擊行為的病毒,木馬很是常見,主要有兩種表現(xiàn)形式:

1.  頻繁的出現(xiàn)地址沖突的現(xiàn)象

2.  上網(wǎng)速度很慢甚至上不了網(wǎng)

經(jīng)分析,這大部分是由于病毒進(jìn)行ARP地址欺騙造成的。由于ARP協(xié)議的固有的缺陷,病毒通過發(fā)送假的ARP數(shù)據(jù)包,使得同網(wǎng)段的計算機(jī)誤以為中毒計算機(jī)是網(wǎng)關(guān),造成其它計算機(jī)上網(wǎng)中斷(第一種情況)?;蚴羌倜熬W(wǎng)絡(luò)中特定的機(jī)器對這臺機(jī)器通信的數(shù)據(jù)進(jìn)行截獲(第二種情況)。為了避免中毒計算機(jī)對網(wǎng)絡(luò)造成影響,趨勢科技已經(jīng)提供相關(guān)的防御工具KB(62735),由于ARP病毒攻擊的復(fù)雜多變性,現(xiàn)在針對兩種基本的攻擊行為的原理進(jìn)行分析,并提出相應(yīng)的解決思路。

上網(wǎng)速度很慢甚至上不了網(wǎng)

我們首先要了解一下ARP(Address Resolution Protocol)地址解析協(xié)議,它是一種將IP地址轉(zhuǎn)化成物理地址的協(xié)議。ARP具體說來就是將網(wǎng)絡(luò)層(TCP/IP協(xié)議的IP層,也就是相當(dāng)于OSI 的第三層)地址(32位)解析為數(shù)據(jù)鏈路層(TCP/IP協(xié)議的MAC層,也就是相當(dāng)于OSI的第二層)的MAC地址(48位)[RFC826]。ARP 協(xié)議是屬于鏈路層的協(xié)議,在以太網(wǎng)中的數(shù)據(jù)幀從一個主機(jī)到達(dá)網(wǎng)內(nèi)的另一臺主機(jī)是根據(jù)48位的以太網(wǎng)地址(硬件地址)來確定接口的,而不是根據(jù)32位的IP 地址。內(nèi)核(如驅(qū)動)必須知道目的端的硬件地址才能發(fā)送數(shù)據(jù)。當(dāng)然,點對點(如兩臺直聯(lián)的計算機(jī))的連接是不需要ARP協(xié)議的。為了解釋ARP協(xié)議的作用,就必須理解數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸過程。這里舉一個簡單的ping例子。

假設(shè)我們的計算機(jī)A的IP地址是192.168.1.50,要測試與B機(jī)器的連通性,執(zhí)行這個命令:ping  192.168.1.51。該命令會通過ICMP協(xié)議發(fā)送ICMP數(shù)據(jù)包。該過程需要經(jīng)過下面的步驟:

1、應(yīng)用程序構(gòu)造數(shù)據(jù)包,該示例是產(chǎn)生ICMP包,被提交給內(nèi)核(網(wǎng)絡(luò)驅(qū)動程序);

2、內(nèi)核檢查是否能夠轉(zhuǎn)化該IP地址為MAC地址,也就是在本地的ARP緩存中查看IP-MAC對應(yīng)表;

3、如果存在該IP-MAC對應(yīng)關(guān)系,那么數(shù)據(jù)包直接發(fā)出;如果不存在該IP-MAC對應(yīng)關(guān)系,那么接續(xù)下面的步驟;

4、內(nèi)核進(jìn)行ARP廣播,目的地的MAC地址是BB-BB-BB-BB-BB-BB,ARP命令類型為Request,其中包含有自己的MAC地址;(下面會講到具體包格式)

5、當(dāng)B主機(jī)接收到該ARP請求后,就發(fā)送一個ARP的Reply命令,其中包含自己的MAC地址;

6、B獲得A主機(jī)的IP-MAC地址對應(yīng)關(guān)系,并保存到ARP緩存中;

7、B內(nèi)核將把IP轉(zhuǎn)化為MAC地址,然后封裝在以太網(wǎng)頭結(jié)構(gòu)中,再把數(shù)據(jù)發(fā)送出去;

使用arp -a命令就可以查看本地的ARP緩存內(nèi)容,所以,執(zhí)行一個本地的ping命令后,ARP緩存就會存在一個目的IP的記錄了。當(dāng)然,如果你的數(shù)據(jù)包是發(fā)送到不同網(wǎng)段的目的地,那么就一定存在一條網(wǎng)關(guān)的IP-MAC地址對應(yīng)的記錄。

知道了ARP協(xié)議的作用,就能夠很清楚地知道,數(shù)據(jù)包的向外傳輸依靠ARP協(xié)議,當(dāng)然,也就是依賴ARP緩存。要知道,ARP協(xié)議的所有操作都是內(nèi)核自動完成的,同其他的應(yīng)用程序沒有任何關(guān)系。ARP協(xié)議并不只在發(fā)送了ARP請求才接收ARP應(yīng)答。而ARP協(xié)議的固有缺陷就在這里,當(dāng)計算機(jī)接收到ARP應(yīng)答數(shù)據(jù)包的時候,就會對本地的ARP緩存進(jìn)行更新,將應(yīng)答中的IP和MAC地址存儲在ARP緩存中。因此, B向A發(fā)送一個自己偽造的ARP應(yīng)答,而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.1.52(C的IP地址),MAC地址是BB-BB-BB- BB-BB-BB(C的MAC地址本來應(yīng)該是CC-CC-CC-CC-CC-CC,這里被偽造了)。當(dāng)A接收到B偽造的ARP應(yīng)答,就會更新本地的ARP 緩存,將本地的IP-MAC對應(yīng)表更換為接收到的數(shù)據(jù)格式,由于這一切都是A的系統(tǒng)內(nèi)核自動完成的,A可不知道被偽造了。

某些病毒就是利用這個原理,向受害者發(fā)送源硬件地址為隨機(jī)產(chǎn)生貌似來自網(wǎng)關(guān)的ARP應(yīng)答包,于是在受害者緩存里,網(wǎng)關(guān)的IP是正確的,可對應(yīng)的硬件地址卻是錯誤的或者是中毒機(jī)器。該計算機(jī)向外發(fā)送的數(shù)據(jù)包總是發(fā)送到了錯誤的網(wǎng)關(guān)硬件地址上或是中毒機(jī)器。

而如果病毒想要截獲某臺機(jī)器上網(wǎng)的所有通信而不被察覺,只要同時再向網(wǎng)關(guān)發(fā)送冒充此機(jī)器的相應(yīng)的數(shù)據(jù)包即可實現(xiàn)。

頻繁出現(xiàn)地址沖突的現(xiàn)象

主機(jī)A在連接網(wǎng)絡(luò)(或更改IP地址)的時候就會向網(wǎng)絡(luò)發(fā)送ARP包廣播自己的IP地址。如果網(wǎng)絡(luò)中存在相同IP地址的主機(jī)B,那么B就會通過ARP來 reply該地址,當(dāng)A接收到這個reply后,A就會跳出IP地址沖突的警告,當(dāng)然B也會有警告。因此用如果病毒發(fā)出的是ARP的Request包就會使用戶一直遭受IP地址沖突警告的困擾。

下面就以上分析做一個模擬病毒進(jìn)行ARP攻擊的行為的實驗,了解此類病毒是如何產(chǎn)生危害的。

實驗描述:此實驗?zāi)7翧RP攻擊的一種,機(jī)器不斷提示地址沖突,運(yùn)行變慢,無法上網(wǎng)的情況,其他情況可自行參考模擬

分析:不同病毒在中毒機(jī)器上運(yùn)行,發(fā)送的ARP包是有一定的周期的,受影響的系統(tǒng)產(chǎn)生的開銷不一。先模擬中毒機(jī)B以較大的發(fā)送頻率發(fā)送到A機(jī)器上(未中毒),如系統(tǒng)內(nèi)核處理會不斷處理接到的ARP包,這時盜用者機(jī)器上會不斷提示IP沖突, 則A機(jī)器上的系統(tǒng)開銷將大大增加,很容易無法響應(yīng)用戶操作。而這一切由于ARP處于網(wǎng)絡(luò)協(xié)議的底層,對一般防火墻等高層軟件是透明的,盜用者無從察覺,只能看到機(jī)器不端彈出沖突信息,系統(tǒng)很快慢下來,最終沒有任何響應(yīng)。

#p#

實驗內(nèi)容:

1.首先 讓我們先了解一下ARP協(xié)議的數(shù)據(jù)結(jié)構(gòu):

         typedefstructarphdr

         {

         unsignedshortarp_hrd;//硬件類型 使用的硬件(網(wǎng)絡(luò)訪問層)類型一般為 0806(ARP)

         unsignedshortarp_pro;//協(xié)議類型 解析過程中的協(xié)議使用以太類型的值一般為000110M以太網(wǎng))

         unsignedchararp_hln;//硬件地址長度 對于以太網(wǎng)和令牌環(huán)來說,其長度為6字節(jié)

         unsignedchararp_pln;//協(xié)議地址長度 IP的長度是4字節(jié)

         unsignedshortarp_op;ARP操作類型 指定當(dāng)前執(zhí)行操作的字段 1為請求,2為應(yīng)答

         unsignedchararp_sha[6];/*發(fā)送者的硬件地址

         unsignedlongarp_spa;//發(fā)送者的協(xié)議地址

         unsignedchararp_tha[6];//目標(biāo)的硬件地址

         unsignedlongarp_tpa;//目標(biāo)的協(xié)議地址

         }ARPHDR,*PARPHDR;

下面,假設(shè)中毒機(jī)器的硬件地址是AA-AA-AA-AA-AA-AA,IP地址是192.168.1.5,受影響機(jī)器B的硬件地址是BB-BB-BB-BB-BB-BB,IP地址是192.168.1.51.為了便于說明,我們在B機(jī)器上用Sniffer Pro工具先獲得發(fā)送目標(biāo)為192.168.1.51的 ARP數(shù)據(jù)包,

由于A中病毒不斷發(fā)送ARP請求包,我們很容易獲得。如圖:

ARP請求包

現(xiàn)在我們結(jié)合圖中上半部分的協(xié)議解析來分析下半部分的代碼的意義,

共有四行每行都標(biāo)了號

00行,ff ff ff ff ff ff 廣播地址,每個同網(wǎng)段用戶都能收到。

aa aa aa aa aa aa 發(fā)送方的硬件地址

08 06 指使用ARP協(xié)議

10行,00 01 10M 以太網(wǎng)

08 00 使用IP協(xié)議

06    硬件地址使用6字節(jié)表示

04    協(xié)議(IP)地址使用4字節(jié)表示

00 01 ARP請求包

aa aa aa aa aa aa 發(fā)送方硬件地址

c0 a8 01 32發(fā)送方IP地址

20行,00 00 00 00 00 00 目標(biāo)硬件地址

c0 a8 01 33 目標(biāo)IP地址

其他數(shù)據(jù)與本文無關(guān),暫不討論。

仔細(xì)看一下不難發(fā)現(xiàn),IP為192.168.1.5的A的IP地址被”篡改”了,A網(wǎng)絡(luò)中宣布自己假冒是192.168.1.50。

使得與192.168.1.50通信的數(shù)據(jù)發(fā)到了192.168.1.5上,而真正的192.168.1.50則運(yùn)行緩慢甚至無法上網(wǎng)。

2. 下面利用獲取的數(shù)據(jù)包,通過SnifferPro的構(gòu)造并發(fā)送數(shù)據(jù)包的功能對它進(jìn)行簡單的修改,我們可以模擬一種病毒攻擊方式:

對照前邊捕獲的數(shù)據(jù)包我們看到改動處有(紅線標(biāo)注):

數(shù)據(jù)包

1.a(chǎn)a aa aa aa aa aa  硬件目的地址中毒機(jī)器A(DLC,數(shù)據(jù)鏈路層地址)

2.bb bb bb bb bb bb(第一組)  源硬件地址為受影響機(jī)器B(DLC)

3  bb bb bb bb bb bb(第二組)   源硬件地址為受影響機(jī)器B (ARP)

4 (c0 a8 01)32  目的IP地址為中毒機(jī)器A(ARP)      

最后,我們通過Sniffer的發(fā)包工具利用不間斷發(fā)送(Continuously)將其發(fā)送給192.168.1.50,將使其很快癱瘓。筆者實驗環(huán)境如下:TP-LINK R402M路由器,A機(jī)器配置1.8G.RAM 1.0G 。B機(jī)器配置CPU1.0G,RAM128M,B機(jī)器發(fā)送數(shù)據(jù)包15秒左右,A機(jī)器進(jìn)入“無法響應(yīng)”狀態(tài)??梢?,如果病毒大規(guī)模爆發(fā),造成的網(wǎng)絡(luò)擁塞影響是十分嚴(yán)重的。

最后,提供幾種防御ARP攻擊行為的思路:

首先,需要了解一下一般解決方法,很多人知道如何捆綁MAC地址和IP地址,進(jìn)入“MS-DOS方式”或“命令提示符”,在命令提示符下輸入命令:ARP  -  s  X.X.X.X  YY-YY-YY-YY-YY-YY,即可把MAC地址和IP地址捆綁在一起。這樣,就不會出現(xiàn)IP地址被盜用而不能正常使用網(wǎng)絡(luò)的情況。從前面的分析我們知道,即使我們知道了正確的網(wǎng)關(guān)硬件地址,由于盜用者不斷發(fā)送偽造ARP包,網(wǎng)關(guān)卻不知道合法用戶的硬件地址,而且合法用戶端主機(jī)會不斷產(chǎn)生IP沖突的警告。事實上,ARP命令是對局域網(wǎng)的上網(wǎng)代理服務(wù)器來說的,如我們提出的KB(62735)中的”APR解決方案”細(xì)節(jié)內(nèi)容不在本文論述范圍內(nèi)。

一般說來,在網(wǎng)絡(luò)關(guān)鍵設(shè)備上使用的解決盜用的方法大體上有3種方案:采用路由器將網(wǎng)卡MAC地址與IP地址綁定;采用高端交換機(jī)將交換機(jī)端口、網(wǎng)卡MAC 地址與IP地址三者綁定;代理服務(wù)器與防火墻相結(jié)合的辦法。這幾種方法各有優(yōu)缺點,采用路由器將網(wǎng)卡MAC地址與IP地址綁定的方法,只能解決靜態(tài)地址的修改,對于成對修改IP-MAC地址就無能為力。采用高端交換機(jī)將交換機(jī)端口、網(wǎng)卡MAC地址與IP地址三者綁定的方法,可以解決成對修改IP-MAC地址的問題,但高端交換機(jī)費(fèi)用昂貴,而且解決沖突具有滯后性。

當(dāng)我們遇到ARP類病毒時,

1 采用IP-MAC 綁定方法預(yù)防,如利用KB(62735)解決方案部署中ipmac_binds_tools.exe 防御工具

2 一旦發(fā)現(xiàn)無法解決的ARP病毒較復(fù)雜的攻擊行為,請用戶使用工具抓取病毒爆發(fā)時網(wǎng)絡(luò)中的數(shù)據(jù)包,根據(jù)以上ARP病毒的原理,分析數(shù)據(jù)包找到頻繁發(fā)送ARP的REQUEST或REPLY請求的機(jī)器,從而找到病毒源頭進(jìn)行查殺毒。

【編輯推薦】

  1. 微軟稱盜版Win7光盤無法安裝 并含有木馬病毒
  2. 防木馬病毒 快者勝!十款安全軟件掃描功能特評
  3. 警惕“快女”、“莫拉克”新聞暗藏木馬病毒
責(zé)任編輯:趙寧寧 來源: searchsecurity
相關(guān)推薦

2010-09-08 13:47:34

2013-04-10 09:42:33

2020-09-16 17:56:58

Linux黑客卡巴斯基

2009-12-11 14:46:13

2010-09-26 09:44:16

2015-05-13 10:36:43

2009-06-30 18:39:10

2010-01-21 14:40:33

2011-08-30 15:09:13

2013-05-07 10:34:16

2011-06-22 16:13:29

2011-06-22 16:35:59

2010-10-09 09:05:58

2009-06-30 18:14:20

2014-07-04 11:26:47

2013-03-21 18:54:23

2009-07-13 11:06:10

2009-07-17 17:58:51

2020-05-07 15:15:11

COVID-19惡意軟件網(wǎng)絡(luò)攻擊

2009-03-03 09:16:11

點贊
收藏

51CTO技術(shù)棧公眾號