首頁 > 綜合 > 正文

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

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

一、ARP攻擊概述

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

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


(資料圖片)

二、ARP攻擊原理

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

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

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

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

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

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

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

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

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

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

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

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

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

正常情況下,若收到的ARP請求不是給自己的,則直接丟棄;而這里PC3(Hacker)在監(jiān)聽之后,發(fā)起了ARP回應包:我就是PC2(IP2-MAC3)。從拓撲可以出現(xiàn),PC3明明是IP3對應MAC3,很顯然這就是一個ARP欺騙行為。于此同時,PC2正常的ARP回應包也交到了PC1手中,我們來看PC1接下來如何處理的:

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

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

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

PC1一臉懵:咋回事?還有這操作?不管了,我選最新的?。ê蟮絻?yōu)先)

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

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

那么問題來了,上面兩個ARP回應包到底哪個先到哪個后到呢?

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

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

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

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

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

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

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

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

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

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

問:遭受ARP攻擊之后,哪些賬號可能被竊?。?/p>

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

我們接下來使用下列工具模擬以上過程

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

標簽:

相關閱讀

精彩推薦

相關詞

推薦閱讀