ARP(地址解析協(xié)議)是在僅知道主機(jī)的IP地址時確定其物理地址的一種協(xié)議。因IPv4和以太網(wǎng)的廣泛應(yīng)用,其主要用作將IP地址翻譯為以太網(wǎng)的MAC地址,但其也能在ATM和FDDI IP網(wǎng)絡(luò)中使用。本文將為大家詳細(xì)剖析ARP欺騙,它主要分為雙向欺騙和單向欺騙。
一、ARP通訊協(xié)議過程
由于局域網(wǎng)的網(wǎng)絡(luò)流通不是根據(jù)IP地址進(jìn)行,而是按照MAC地址進(jìn)行傳輸、計算機(jī)是根據(jù)mac來識別一臺機(jī)器。
區(qū)域網(wǎng)內(nèi)A要向主機(jī)B發(fā)送報文,會查詢本地的ARP緩存表,找到B的IP地址對應(yīng)的MAC地址后,就會進(jìn)行數(shù)據(jù)傳輸。如果未找到,則A廣播一個ARP請求報文(攜帶主機(jī)B的IP地址),網(wǎng)上所有主機(jī)包括B都收到ARP請求,但只有主機(jī)B識別自己的IP地址,于是向A主機(jī)發(fā)回一個ARP響應(yīng)報文。其中就包含有B的MAC地址,A接收到B的應(yīng)答后,就會更新本地的ARP緩存。接著使用這個MAC地址發(fā)送數(shù)據(jù)(由網(wǎng)卡附加MAC地址)。
二、一次完整的ARP欺騙
ARP 欺騙分為兩種,一種是雙向欺騙,一種是單向欺騙:
1.單向欺騙
A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
A和C之間進(jìn)行通訊.但是此時B向A發(fā)送一個自己偽造的ARP應(yīng)答,而這個應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.10.3(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緩存(A被欺騙了),這時B就偽裝成C了。同時,B同樣向C發(fā)送一個ARP應(yīng)答,應(yīng)答包中發(fā)送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本來應(yīng)該是AA-AA-AA-AA-AA-AA),當(dāng)C收到B偽造的ARP應(yīng)答,也會更新本地ARP緩存(C也被欺騙了),這時B就偽裝成了A。這樣主機(jī)A和C都被主機(jī)B欺騙,A和C之間通訊的數(shù)據(jù)都經(jīng)過了B。主機(jī)B完全可以知道他們之間說的什么:)。這就是典型的ARP欺騙過程。
掐斷A 與 c的通訊,實(shí)現(xiàn)原理:b 向A 發(fā)送一條ARP 數(shù)據(jù)包,內(nèi)容為:c的地址是00:00:00:00:00:00 (一個錯誤的地址),那么A 此后向c發(fā)的數(shù)據(jù)包都會發(fā)到00,而這個地址是錯誤的,所以通訊中斷了,但是要注意了,這里只是A --> c 中斷了,c --> A 沒有中斷,所以這個叫單向欺騙。
掐斷c與A 的通訊,實(shí)現(xiàn)原理和第一條一樣,如果和第一條一起發(fā),那么A 和c 的通訊就完全中斷了,即:A <-- ×--> c.
嗅探A 與c 的通訊,實(shí)現(xiàn)原理:b 向A 發(fā)送一條ARP 數(shù)據(jù)包,內(nèi)容為:c的地址是AA:BB:CC:DD:EE:FF (b自己的地址),也就是說,b 對 A 說:我才是c,于是A 把向c發(fā)送的數(shù)據(jù)都發(fā)給b 了,b得到數(shù)據(jù)后就可以為所欲為了,可以直接丟棄,那么通訊中斷,也可以再次轉(zhuǎn)發(fā)給c,那么又形成回路,B當(dāng)了個中間人,監(jiān)視A 和c 的通訊.此時你就可以用CAIN等任何抓包工具進(jìn)行本地嗅探了.
2.ARP雙向欺騙原理
A要跟C正常通訊,B向A說我是才C。B向C說我才是A,那么這樣的情況下把A跟C的ARP緩存表全部修改了。以后通訊過程就是 A把數(shù)據(jù)發(fā)送給B,B在發(fā)送給C,C把數(shù)據(jù)發(fā)送B,B在把數(shù)據(jù)給A。
攻擊主機(jī)發(fā)送ARP應(yīng)答包給被攻擊主機(jī)和網(wǎng)關(guān),它們分別修改其ARP緩存表為, 修改的全是攻擊主機(jī)的MAC地址,這樣它們之間數(shù)據(jù)都被攻擊主機(jī)截獲。
三、雙向欺騙與單向欺騙的區(qū)別
單向欺騙:是指欺騙網(wǎng)關(guān),分別有三個機(jī)器 A(網(wǎng)關(guān)) B(server) C(server) 。A要跟C正常通訊。B給A說我才是C,那么A就把數(shù)據(jù)就給C了,此時A就把原本給C的數(shù)據(jù)給了B了,A修改了本地的緩存表,但是C跟A的通訊還是正常的。只是A跟C的通訊不正常。
雙向欺騙:是欺騙網(wǎng)關(guān)跟被攻擊的兩個機(jī)器,A(網(wǎng)關(guān)) B(server) C(server),A要跟C正常通訊.B對A說我是C,B對C說我是A,那么這樣的情況下A跟C的ARP緩存表全部修改了,發(fā)送的數(shù)據(jù)全部發(fā)送到B那里去了。
四、找到ARP欺騙主機(jī)
1.我們可以利用ARPkiller的"Sniffer殺手"掃描整個局域網(wǎng)IP段,然后查找處在"混雜"模式下的計算機(jī),就可以發(fā)現(xiàn)對方了.檢測完成后,如果相應(yīng)的IP是綠帽子圖標(biāo),說明這個IP處于正常模式,如果是紅帽子則說明該網(wǎng)卡處于混雜模式。它就是我們的目標(biāo),就是這個家伙在用網(wǎng)絡(luò)執(zhí)法官在搗亂。
2.使用tracert命令在任意一臺受影響的主機(jī)上,在DOS命令窗口下運(yùn)行如下命令:tracert61.135.179.148。假定設(shè)置的缺省網(wǎng)關(guān)為10.8.6.1,在跟蹤一個外網(wǎng)地址時,第一跳卻是10.8.6.186,那么,10.8.6.186就是病毒源。原理:中毒主機(jī)在受影響主機(jī)和網(wǎng)關(guān)之間,扮演了“中間人”的角色。所有本應(yīng)該到達(dá)網(wǎng)關(guān)的數(shù)據(jù)包,由于錯誤的MAC地址,均被發(fā)到了中毒主機(jī)。此時,中毒主機(jī)越俎代庖,起了缺省網(wǎng)關(guān)的作用。
五、防護(hù)辦法
1.最常用的方法就是做雙綁定, 本地跟路由都做了綁定(注:mac地址綁定)
2.彩影ARP防火墻
六、黑客常用的突破 ARP 防火墻的嗅探技術(shù)
黑客常用的突破 ARP 防火墻的嗅探技術(shù),流程如下:
破ARP 防火墻的原理,就是不停地發(fā)包到網(wǎng)關(guān)(每秒幾十次),對網(wǎng)關(guān)說我是真的機(jī)器,避免其他機(jī)器冒充本機(jī)。(比如目標(biāo)機(jī)器是A 你是B 你向網(wǎng)關(guān)說我是才A),由于你發(fā)的頻率高,所以在很短的時間周期內(nèi),網(wǎng)關(guān)認(rèn)為你是受害機(jī)器,So,目標(biāo)機(jī)器的正常數(shù)據(jù)包就發(fā)過來啦。
以上就是小編深入分析的ARP欺騙攻擊,從原理到防護(hù)方法,內(nèi)容很全面,希望對大家了解ARP欺騙攻擊有所幫助。