首頁(yè) > 綜合 > 正文

【天天新要聞】P2P終結(jié)者怎么用(ARP攻擊原理)

2023-02-15 15:06:52來(lái)源:互聯(lián)網(wǎng)  

一、ARP攻擊概述

在上篇文章里,我給大家普及了ARP協(xié)議的基本原理,包括ARP請(qǐng)求應(yīng)答、數(shù)據(jù)包結(jié)構(gòu)以及協(xié)議分層標(biāo)準(zhǔn),今天我們繼續(xù)討論大家最感興趣的話題:ARP攻擊原理是什么?通過(guò)ARP攻擊可以做什么,賬號(hào)是否可以被竊取?有哪些常見(jiàn)的ARP滲透(攻擊)工具可以用來(lái)練手?ARP掃描和攻擊有什么區(qū)別,底層數(shù)據(jù)包特征是怎樣的?

接下來(lái),我們通過(guò)圖解的方式來(lái)深入了解ARP攻擊是如何實(shí)現(xiàn)的。


(資料圖片)

二、ARP攻擊原理

但凡局域網(wǎng)存在ARP攻擊,都說(shuō)明網(wǎng)絡(luò)存在"中間人",我們可以用下圖來(lái)解釋。

在這個(gè)局域網(wǎng)里面,PC1、PC2、PC3三臺(tái)主機(jī)共同連接到交換機(jī)SW1上面,對(duì)應(yīng)3個(gè)接口port1/2/3。假設(shè)PC3這臺(tái)主機(jī)安裝了ARP攻擊軟件或遭受ARP病毒,成為這個(gè)網(wǎng)絡(luò)的攻擊者(hacker),接下來(lái),PC3是如何攻擊的?先不急,先來(lái)回顧下PC1和PC2是如何通信的。

①PC1需要跟PC2通信,通過(guò)ARP請(qǐng)求包詢問(wèn)PC2的MAC地址,由于采用廣播形式,所以交換機(jī)將ARP請(qǐng)求包從接口P1廣播到P2和PC3。(注:交換機(jī)收到廣播/組播/未知幀都會(huì)其他接口泛洪)

②PC2根據(jù)詢問(wèn)信息,返回ARP單播回應(yīng)包;此時(shí)PC3作為攻擊者,沒(méi)有返回ARP包,但是處于"監(jiān)聽"狀態(tài),為后續(xù)攻擊做準(zhǔn)備。

③PC1和PC2根據(jù)ARP問(wèn)答,將各自的ARP映射信息(IP-MAC)存儲(chǔ)在本地ARP緩存表。

④交換機(jī)根據(jù)其學(xué)習(xí)機(jī)制,記錄MAC地址對(duì)應(yīng)的接口信息,存儲(chǔ)在CAM緩存表(也稱為MAC地址表)。交換機(jī)收到數(shù)據(jù)包時(shí),會(huì)解封裝數(shù)據(jù)包,根據(jù)目標(biāo)MAC字段進(jìn)行轉(zhuǎn)發(fā)。

關(guān)于上面的圖解,我們要記住這些關(guān)鍵知識(shí)(敲黑板?。?/p>

①主機(jī)通信需要查找ARP表,而交換機(jī)通信需要查找CAM表(路由器則查找Route表)。

注:ARP表:ip-mac CAM表:mac-port (Route表:route-port)

②交換機(jī)基于源MAC地址學(xué)習(xí),基于目的MAC地址轉(zhuǎn)發(fā)。

③同一局域網(wǎng)內(nèi),攻擊者可以根據(jù)主機(jī)的ARP廣播請(qǐng)求監(jiān)聽其IP和MAC信息。

注:這里是"被動(dòng)監(jiān)聽",跟后面要談到的"主動(dòng)掃描",原理上有區(qū)分,這里先埋個(gè)坑)

接下來(lái)是重點(diǎn),我們來(lái)看看PC3(Hacker)是如何發(fā)起ARP攻擊的=

正常情況下,若收到的ARP請(qǐng)求不是給自己的,則直接丟棄;而這里PC3(Hacker)在監(jiān)聽之后,發(fā)起了ARP回應(yīng)包:我就是PC2(IP2-MAC3)。從拓?fù)淇梢猿霈F(xiàn),PC3明明是IP3對(duì)應(yīng)MAC3,很顯然這就是一個(gè)ARP欺騙行為。于此同時(shí),PC2正常的ARP回應(yīng)包也交到了PC1手中,我們來(lái)看PC1接下來(lái)如何處理的:

PC1收到兩個(gè)ARP回應(yīng)包,內(nèi)容分別如下:

③我是PC2,我的IP地址是IP2,我的MAC地址是MAC2;

③我是PC2,我的IP地址是IP2,我的MAC地址是MAC3;

PC1一臉懵:咋回事?還有這操作?不管了,我選最新的!(后到優(yōu)先)

這里給大家順便普及下網(wǎng)絡(luò)協(xié)議里各種表在處理緩存信息的方式:

要么"先到先得",要么"后到優(yōu)先"。上面提到的ARP和CAM表,就是遵循"后到優(yōu)先"原則,而后面章節(jié)我們會(huì)講到的DHCP表,則遵循"先到先得"原則。

那么問(wèn)題來(lái)了,上面兩個(gè)ARP回應(yīng)包到底哪個(gè)先到哪個(gè)后到呢?

作為初學(xué)者,可能還在糾結(jié)前后這種naive的問(wèn)題;而作為hacker,只要持續(xù)不停發(fā)出ARP欺騙包,就一定能夠覆蓋掉正常的ARP回應(yīng)包。穩(wěn)健的ARP嗅探/滲透工具,能在短時(shí)間內(nèi)高并發(fā)做網(wǎng)絡(luò)掃描(例如1秒鐘成千上百的數(shù)據(jù)包),能夠持續(xù)對(duì)外發(fā)送欺騙包。

無(wú)論如何,當(dāng)PC1和PC2這種"小白"用戶遇到PC3(hacker)時(shí),最終的結(jié)果一定是這樣的:

小白 vs 黑客,很明顯的較量,PC1最終記錄的是虛假的ARP映射:IP2-MAC3,得到錯(cuò)誤信息的PC1,接下來(lái)會(huì)發(fā)生什么情況呢?(我們以PC1 ping PC2為例)

根據(jù)數(shù)據(jù)封裝規(guī)則,當(dāng)PC1要跟PC2進(jìn)行通信時(shí),無(wú)論是發(fā)生PING包還是發(fā)送其他數(shù)據(jù),

首先要查找ARP表,然后在網(wǎng)絡(luò)層打上源目IP,在鏈路層打上源目MAC,然后將數(shù)據(jù)包發(fā)送給交換機(jī)。交換機(jī)收到之后對(duì)數(shù)據(jù)進(jìn)行解封裝,并且查看CAM表(基于目的MAC轉(zhuǎn)發(fā)),由于目標(biāo)MAC3對(duì)應(yīng)Port3,所以交換機(jī)自然而然將其轉(zhuǎn)發(fā)給PC3。

就這樣,PC1本來(lái)要發(fā)給PC2的數(shù)據(jù)包,落到了PC3(Hacker)手里,這就完成了一次完整的ARP攻擊。反過(guò)來(lái),如果PC2要將數(shù)據(jù)包發(fā)送給PC1,PC3仍然可以以同樣的ARP欺騙實(shí)現(xiàn)攻擊,這就有了下面這張圖(PC3既欺騙了PC1,也欺騙了PC2)。

此時(shí),PC1和PC2的通信數(shù)據(jù)流被PC3攔截,形成了典型的"中間人攻擊"。那么,一旦被攻擊并攔截,攻擊者能做什么,普通用戶又會(huì)遭受什么損失?這里給大家舉幾個(gè)常見(jiàn)的例子=

①攻擊者既然操控了數(shù)據(jù)流,那么直接斷開通信是輕而易舉的,即"斷網(wǎng)攻擊",例如,PC1發(fā)給PC2的數(shù)據(jù)在PC3這里可以直接丟棄,而如果這里的PC2是一臺(tái)出口路由器(無(wú)線路由器),那就意味著PC1直接無(wú)法連上互聯(lián)網(wǎng)。

②"斷網(wǎng)攻擊"顯然容易被發(fā)現(xiàn),而且比較"殘忍",所以就有了更加常見(jiàn)的應(yīng)用-"限速"。例如,在宿舍上網(wǎng)突然很慢,在網(wǎng)吧上網(wǎng)突然打不開網(wǎng)頁(yè),如果這個(gè)網(wǎng)絡(luò)沒(méi)有安全防御,那么很有可能有"內(nèi)鬼"。

③其實(shí)無(wú)論是"斷網(wǎng)攻擊"還是"限速",整體還是比較"善良",因?yàn)檫@里流量里面的核心數(shù)據(jù)還沒(méi)有被"提取"出來(lái)。如果攻擊者是一名真正的黑客,他的目的一定不會(huì)這么無(wú)聊,因?yàn)閮?nèi)網(wǎng)流量對(duì)于黑客是沒(méi)有太大價(jià)值的,而只有"用戶隱私",例如常見(jiàn)網(wǎng)站的登錄賬號(hào)密碼,這些才是最有價(jià)值的。

問(wèn):遭受ARP攻擊之后,哪些賬號(hào)可能被竊?。?/p>

答:任何基于明文傳輸?shù)膽?yīng)用,都可以被竊取。例如,如果一個(gè)網(wǎng)站不是(郵箱)等應(yīng)用,都很容易泄露密碼。

我們接下來(lái)使用下列工具模擬以上過(guò)程

使用p2p終結(jié)者/Ettercap/Cain攻擊用wirehshark抓包分析ARP掃描和ARP欺騙用Wireshark抓取上網(wǎng)賬號(hào)密碼具體操作流程明天見(jiàn)

標(biāo)簽:

相關(guān)閱讀

精彩推薦

相關(guān)詞

推薦閱讀