日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

 回家的夢想 2019-05-24

一、ARP攻擊概述

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

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

二、ARP攻擊原理

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

①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字段進行轉發(fā)。

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

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

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

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

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

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

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

正常情況下,若收到的ARP請求不是給自己的,則直接丟棄;而這里PC3(Hacker)在監(jiān)聽之后,發(fā)起了ARP回應包:我就是PC2(IP2-MAC3)。

從拓撲可以出現(xiàn),PC3明明是IP3對應MAC3,很顯然這就是一個ARP欺騙行為。于此同時,PC2正常的ARP回應包也交到了PC1手中,我們來看PC1接下來如何處理的:

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

PC1收到兩個ARP回應包,內容分別如下:

③我是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回應包到底哪個先到哪個后到呢?

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

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

根據(jù)數(shù)據(jù)封裝規(guī)則,當PC1要跟PC2進行通信時,無論是發(fā)生PING包還是發(fā)送其他數(shù)據(jù),首先要查找ARP表,然后在網(wǎng)絡層打上源目IP,在鏈路層打上源目MAC,然后將數(shù)據(jù)包發(fā)送給交換機。交換機收到之后對數(shù)據(jù)進行解封裝,并且查看CAM表(基于目的MAC轉發(fā)),由于目標MAC3對應Port3,所以交換機自然而然將其轉發(fā)給PC3。

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

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

此時,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)絡沒有安全防御,那么很有可能有'內鬼'。

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

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

答:任何基于明文傳輸?shù)膽茫伎梢员桓`取。例如,如果一個網(wǎng)站不是HTTPS協(xié)議,而是基于HTTP明文傳輸,那么當你登錄這個網(wǎng)站時,你的密碼就會被竊取。除了http(web應用),常見的還有telnet、ftp、pop3/smtp/imap(郵箱)等應用,都很容易泄露密碼。

三、常見ARP滲透工具與底層原理分析

基于ARP欺騙原理設計出來的滲透/攻擊工具非常多,而最終能實現(xiàn)什么功能則各有差異,簡單舉幾個例子:

①無毒無害型的僅具備ARP掃描功能,用來發(fā)現(xiàn)內網(wǎng)主機;例如Metasploit里面的arping/arpscan相關模塊;

②ARP掃描+流量控制(限速或限制能上哪些網(wǎng)站和應用);例如Windows下的P2P終結者;

③ARP掃描+賬號竊?。ňW(wǎng)站、郵箱、各種);最強的莫過于Windows下的Cain,當然還有跨平臺的Ettercap(需配合其他工具);

當然,如果攻擊者足夠強悍,也可以基于協(xié)議底層原理,編寫自己的ARP工具。這里我通過wirehshark給大家還原真實網(wǎng)絡中常見的ARP掃描和欺騙攻擊(具體的軟件使用這里暫時不出現(xiàn),大家重點關注底層實現(xiàn))。

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

在這張圖里面,Hacker(就是我...)接入了一個WiFi網(wǎng)絡,這個10.1.20.0/24便是所在的網(wǎng)段。剛進來一個陌生網(wǎng)絡,Hacker只知道自己的IP信息,例如IP地址是10.1.20.253,網(wǎng)關地址是10.1.20.254,而這個局域網(wǎng)的其他設備是什么?有多少臺?地址分布是多少?Hacker都不知道,接下來怎么辦呢?是不是要直接發(fā)動ARP攻擊了?

不用這么著急,咋們至少要先了解下這個網(wǎng)絡,進行基本的掃描和踩點。這個時候通過ARP工具對這個WiFi網(wǎng)絡進行掃描,具體的數(shù)據(jù)包截圖如下:

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

上面的ARP掃描過程,大概的情況是這樣的=>

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

其實,這就是典型的'盲掃'或者'暴力掃描':反正我不知道網(wǎng)絡到底有多少主機,那我就嘗試一下把整個網(wǎng)段全部問一遍得了。好比老師上課點名,把每個學生的桌位號念一遍,誰舉手就到勤,沒舉手就算逃課。

那么,這個實際網(wǎng)絡里面,到底誰'舉手'了呢?我們來看Wireshark抓包情況。

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

在ARP應答信息里面,除了IP地址和MAC信息,我們還能看到相關的設備廠商信息,例如cisco、meizu、apple、xiaomi等,這其實就是依靠MAC地址前面24位的OUI(機構唯一標識符)來識別的。

Wireshark或掃描器能夠幫我們將OUI轉為對應的廠商(還有一些掃描器基于Netbios協(xié)議,還能找到電腦的主機名),所以,掃描之后可以得到下面這張圖片=>

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

通過掃描,我們已經(jīng)知道了整個網(wǎng)絡的主機信息,例如20.254對應cisco,應該是路由器,20.248對應apple,是蘋果手機,20.249對應xiaomi,是小米手機,以此類推.....

接下來,如何進行ARP欺騙攻擊呢?這里將最重點的數(shù)據(jù)包截取出來=>

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

根據(jù)之前的信息,我們知道00:08:ca:86:f8:0f其實就是hacker的mac地址,并且對應的真正的IP地址應該是10.1.20.253。而這里很明顯是hacker在欺騙局域網(wǎng)其他主機,它對外聲稱:自己就是'所有人'。尤其是上面標紅的主機,我們已經(jīng)知道是小米、思科、蘋果等設備,但是hacker都聲明是自己!這樣做的意義在于覆蓋掉其他主機的ARP緩存表信息,并生成錯誤的ARP映射,最終將通信流量交給hacker。

當然,還有另外一種ARP欺騙的做法:hacker告訴所有人,自己就是網(wǎng)關。因為其他主機訪問互聯(lián)網(wǎng)必經(jīng)之路便是網(wǎng)關(出口路由器/無線路由器),通過這種方式,同樣可以截取到用戶數(shù)據(jù)流,這里給出另外一個網(wǎng)絡的實現(xiàn)過程=>

Hacker欺騙主機Honhai,告訴它:我就是網(wǎng)關(10.1.1.254)

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

Hacker欺騙主機Apple,告訴它:我就是網(wǎng)關(10.1.1.254)

圖解ARP協(xié)議(二)ARP攻擊原理與實踐

依此類推,Hacker會告訴局域網(wǎng)所有主機:自己就是網(wǎng)關,并且后續(xù)可以把數(shù)據(jù)都丟給我,我來轉發(fā)到互聯(lián)網(wǎng)。

四、ARP攻擊總結

①ARP緩存表基于'后到優(yōu)先'原則,IP與MAC的映射信息能被覆蓋;

②ARP攻擊基于偽造的ARP回應包,黑客通過構造'錯位'的IP和MAC映射,覆蓋主機的ARP表(也被稱為'ARP毒化'),最終截取用戶的數(shù)據(jù)流;

③一旦遭受ARP攻擊,賬號密碼都可能被竊?。ㄈ绻ㄐ艆f(xié)議不是加密的);

④通過Wireshark數(shù)據(jù)包分析,我們掌握了真實網(wǎng)絡中ARP底層攻擊原理及數(shù)據(jù)包組成。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多