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