如何利用Arp欺騙進(jìn)行MITM?

2021-03-17    分類: 網(wǎng)站建設(shè)

arp欺騙也是很古老的滲透手段了,主要起著信息收集的作用,比如你可以利用欺騙獲取對(duì)方的流量,從流量分析你認(rèn)為重要的信息,例如某某賬號(hào)密碼?;蚴抢肁rp攻擊,切斷局域網(wǎng)內(nèi)某一用戶的網(wǎng)絡(luò)訪問(wèn)(單向欺騙)。下面著重講一下中間人攻擊的原理,配和實(shí)戰(zhàn)演練分析,不對(duì)的地方,還請(qǐng)大家多多反饋和包涵!

Arp欺騙

MITM

借用Wiki百科的一個(gè)比喻來(lái)理解MITM(中間人攻擊):

假設(shè)愛(ài)麗絲(Alice)希望與鮑伯(Bob)通信。同時(shí),馬洛里(Mallory)希望攔截竊會(huì)話以進(jìn)行竊聽(tīng)并可能在某些時(shí)候傳送給鮑伯一個(gè)虛假的消息。

  1. 首先,愛(ài)麗絲會(huì)向鮑勃索取他的公鑰。如果Bob將他的公鑰發(fā)送給Alice,并且此時(shí)馬洛里能夠攔截到這個(gè)公鑰,就可以實(shí)施中間人攻擊。馬洛里發(fā)送給愛(ài)麗絲一個(gè)偽造的消息,聲稱自己是鮑伯,并且附上了馬洛里自己的公鑰(而不是鮑伯的)。
  2. 愛(ài)麗絲收到公鑰后相信這個(gè)公鑰是鮑伯的,于是愛(ài)麗絲將她的消息用馬洛里的公鑰(愛(ài)麗絲以為是鮑伯的)加密,并將加密后的消息回給鮑伯。馬洛里再次截獲愛(ài)麗絲回給鮑伯的消息,并使用馬洛里自己的私鑰對(duì)消息進(jìn)行解密,如果馬洛里愿意,她也可以對(duì)消息進(jìn)行修改,然后馬洛里使用鮑伯原先發(fā)給愛(ài)麗絲的公鑰對(duì)消息再次加密。當(dāng)鮑伯收到新加密后的消息時(shí),他會(huì)相信這是從愛(ài)麗絲那里發(fā)來(lái)的消息。

我們的身份就是Mallory,我們希望欺騙Alice和Bob,讓其認(rèn)為我們是交互的正確目標(biāo),從而來(lái)獲取他們之間交流的信息。

一、Arp攻擊分析

想要進(jìn)行中間人攻擊,先理解最基礎(chǔ)的arp攻擊

Arp協(xié)議

ARP(Address Resolution Protocol,地址解析協(xié)議)是一個(gè)位于TCP/IP協(xié)議棧中的網(wǎng)絡(luò)層,負(fù)責(zé)將某個(gè)IP地址解析成對(duì)應(yīng)的MAC地址。

以太網(wǎng)(局域網(wǎng))進(jìn)行信息傳輸時(shí),不是根據(jù)IP地址進(jìn)行通信,因?yàn)镮P地址是可變的,用于通信是不安全的。然而MAC地址是網(wǎng)卡的硬件地址,一般出廠后就具有唯一性。ARP協(xié)議就是將目標(biāo)IP地址解析成MAC地址進(jìn)行驗(yàn)證通信。

Arp通信過(guò)程

  1. 每臺(tái)主機(jī)都會(huì)在自己的ARP緩沖區(qū)建立一個(gè)ARP列表(生命周期二十分鐘),用于表示IP地址和MAC地址的對(duì)應(yīng)關(guān)系。
  2. 主機(jī)A若想和主機(jī)B通信,首先主機(jī)A會(huì)查詢Arp緩存表(后面稱ip-mac緩存表)是否有B主機(jī)對(duì)應(yīng)的ip-mac,有的話就將B主機(jī)的mac地址封裝到數(shù)據(jù)包發(fā)送。若沒(méi)有的話,主機(jī)A會(huì)向以太網(wǎng)發(fā)送一個(gè)Arp廣播包,告訴以太網(wǎng)內(nèi)的所有主機(jī)自己的ip-mac,并請(qǐng)求B主機(jī)(以ip來(lái)表示B主機(jī))的mac地址。當(dāng)B主機(jī)收到Arp廣播包后,確認(rèn)A主機(jī)是想找自己的mac地址,就會(huì)對(duì)A主機(jī)進(jìn)行回應(yīng)一個(gè)自己的mac地址。A主機(jī)就會(huì)更新自己的ip-mac緩存表,同時(shí)B主機(jī)也會(huì)接收A主機(jī)的ip-mac對(duì)應(yīng)關(guān)系到自己的ip-mac緩存表。

Arp協(xié)議缺陷

ARP協(xié)議信任以太網(wǎng)所有的節(jié)點(diǎn),效率高但是不安全。這份協(xié)議沒(méi)有其它字協(xié)議來(lái)保證以太網(wǎng)內(nèi)部信息傳輸?shù)陌踩?,它不?huì)檢查自己是否接受或發(fā)送過(guò)請(qǐng)求包,只要它就收到的arp廣播包,他就會(huì)把對(duì)應(yīng)的ip-mac更新到自己的緩存表

網(wǎng)關(guān)的理解

在wiki中這樣定義網(wǎng)關(guān):

在計(jì)算機(jī)網(wǎng)絡(luò)中,網(wǎng)關(guān)(英語(yǔ):Gateway)是轉(zhuǎn)發(fā)其他服務(wù)器通信數(shù)據(jù)的服務(wù)器,接收從客戶端發(fā)送來(lái)的請(qǐng)求時(shí),它就像自己擁有資源的源服務(wù)器一樣對(duì)請(qǐng)求進(jìn)行處理。有時(shí)客戶端可能都不會(huì)察覺(jué),自己的通信目標(biāo)是一個(gè)網(wǎng)關(guān)

區(qū)別于路由器(由于歷史的原因,許多有關(guān)TCP/IP的文獻(xiàn)曾經(jīng)把網(wǎng)絡(luò)層使用的路由器(英語(yǔ):Router)稱為網(wǎng)關(guān),在今天很多局域網(wǎng)采用都是路由來(lái)接入網(wǎng)絡(luò),因此現(xiàn)在通常指的網(wǎng)關(guān)就是路由器的IP),經(jīng)常在家庭中或者小型企業(yè)網(wǎng)絡(luò)中使用,用于連接局域網(wǎng)和Internet。

網(wǎng)關(guān)也經(jīng)常指把一種協(xié)議轉(zhuǎn)成另一種協(xié)議的設(shè)備,比如語(yǔ)音網(wǎng)關(guān)。

網(wǎng)關(guān)可以把內(nèi)網(wǎng)ip轉(zhuǎn)化為外網(wǎng)ip,從而向服務(wù)器發(fā)出請(qǐng)求。也可以把外網(wǎng)Ip獲得的數(shù)據(jù)包轉(zhuǎn)換成內(nèi)網(wǎng)ip發(fā)給內(nèi)網(wǎng)主機(jī)。

Arp攻擊原理

根據(jù)以上說(shuō)的arp協(xié)議缺陷,如果我們冒充網(wǎng)關(guān)主機(jī)C,不停的向以太網(wǎng)發(fā)送自己的ARP廣播包,告知自己的ip-mac,此時(shí)其它主機(jī)就會(huì)被欺騙,更新我們C的ip-mac為網(wǎng)關(guān)主機(jī)的ip-mac,那么其它主機(jī)的數(shù)據(jù)包就會(huì)發(fā)送到C主機(jī)上,因?yàn)闆](méi)有發(fā)給真正的網(wǎng)關(guān),就會(huì)造成其它主機(jī)的網(wǎng)絡(luò)中斷。

 

二、Arp攻擊實(shí)操

環(huán)境

攻擊主機(jī)A:Kali—>ip: 192.168.11.106
被攻擊主機(jī)B: windows 7—>ip: 192.168.11.105
網(wǎng)關(guān)主機(jī)C: 192.168.11.1

我的Kali是在虛擬機(jī)下,需要Bridge連接保證機(jī)器在同一網(wǎng)段,很多人用Nat連接來(lái)轉(zhuǎn)發(fā),在實(shí)戰(zhàn)的輕快下,需要更改虛擬機(jī)的網(wǎng)絡(luò)配置。

網(wǎng)絡(luò)配置如圖:
Arp欺騙

實(shí)操

這里模擬真實(shí)環(huán)境,攻擊主機(jī)A和被攻擊主機(jī)B在同一局域網(wǎng)下。
1. 先用命令查看一下ip是否正確:
Kali:
Arp欺騙
可以看到ip是192.168.11.106
Windows7:
Arp欺騙
ip是192.168.11.105,網(wǎng)關(guān)地址是192.108.11.1
2. 用nmap查看當(dāng)前網(wǎng)端的活躍主機(jī)

nmap -sF 192.168.11.0/24

Arp欺騙

掃描得到如圖活躍主機(jī),可以看到我們的主機(jī)B。當(dāng)然獲取Ip的途徑不可能這么簡(jiǎn)單,你也可以用fping的方法來(lái)分析,之前我用fping探測(cè)局域網(wǎng)windows10的主機(jī),發(fā)現(xiàn)Ping不通,win10防火墻還是有點(diǎn)東西。不過(guò)你可以根據(jù)fping的發(fā)送包來(lái)推斷主機(jī)是否真正存活,具體可以google一下fping的用法,這里給推薦一個(gè)鏈接

Kali信息收集:Fping

3. 檢查被攻擊主機(jī)是否可以正常上網(wǎng)
Arp欺騙
百度正常訪問(wèn)

4. 利用Arpspoof進(jìn)行欺騙攻擊
Kali自帶的Arpspoof可以很好的進(jìn)行欺騙,man arpspoof查看官網(wǎng)手冊(cè)(網(wǎng)上翻譯):

名字 
  arpspoof # 截獲交換局域網(wǎng)中的數(shù)據(jù)包

用法
  arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

描述
  # arpspoof通過(guò)偽造的ARP響應(yīng)包改變局域網(wǎng)中從目標(biāo)主機(jī)(或所有主機(jī))到另一個(gè)主機(jī)(host)的數(shù)據(jù)包轉(zhuǎn)發(fā)路徑。這是交換局域網(wǎng)中嗅探網(wǎng)絡(luò)流量的一種極為有效的方法。內(nèi)核IP轉(zhuǎn)發(fā)(或如fragrouter這樣的、用戶層面的、能完成同樣功能的軟件)必須提前開(kāi)啟。

參數(shù)
  -i interface
    # 指定要使用的接口(即指定一塊網(wǎng)卡)

  -c own|host|both
    # 指定在恢復(fù)ARP配置時(shí)使用的硬件地址;當(dāng)在清理(cleaning up)時(shí),數(shù)據(jù)包的源地址可以用自己的也可以用主機(jī)(host)的硬件地址。使用偽造的硬件地址可能導(dǎo)致某些配置下的交換網(wǎng)絡(luò)、AP網(wǎng)絡(luò)或橋接網(wǎng)絡(luò)通信中斷,然而它比起默認(rèn)值————使用自己的硬件地址要工作地更為可靠。

  -t target
    # 指定一個(gè)特殊的、將被ARP毒化的主機(jī)(如果沒(méi)有指定,則認(rèn)為是局域網(wǎng)中所有主機(jī))。重復(fù)可以指定多個(gè)主機(jī)。

  -r 
    # 毒化兩個(gè)主機(jī)(目標(biāo)和主機(jī)(host))以捕獲兩個(gè)方向的網(wǎng)絡(luò)流量。(僅僅在和-t參數(shù)一起使用時(shí)有效)

  host  #你想要截獲數(shù)據(jù)包的主機(jī) (通常是網(wǎng)關(guān))。

5. 主機(jī)A作為網(wǎng)關(guān)主機(jī)欺騙
命令語(yǔ)句

arpspoof -i eth0 -t 192.168.11.105 192.168.1.1

Arp欺騙
執(zhí)行命令,Kali會(huì)向主機(jī)B發(fā)送ARP響應(yīng)包,響應(yīng)包的內(nèi)容是Kali的ip-mac地址,而響應(yīng)包里的ip則是網(wǎng)關(guān)主機(jī)ip地址。每一行代表一個(gè)響應(yīng)包。從左到右:自己Kali的mac、主機(jī)B的mac、幀類型碼(0806,代表ARP包)、包大小、包內(nèi)容。

6. 被攻擊主機(jī)B網(wǎng)絡(luò)中斷
我們?cè)贐主機(jī)用arp -a查看一下是否欺騙成功
Arp欺騙
可以看到,網(wǎng)關(guān)主機(jī)C和攻擊者主機(jī)A的mac地址相同,欺騙成功

在kali終端輸入control + c 可以停止,清空并恢復(fù)原來(lái)正確的arp相應(yīng)包,主機(jī)重新恢復(fù)聯(lián)網(wǎng)狀態(tài)

 

三、基于Arp攻擊理解下的MITM

在前面Arp成功進(jìn)行攻擊后,我們開(kāi)始作為中間人進(jìn)行欺騙,需要設(shè)置ip轉(zhuǎn)發(fā),獲取目標(biāo)主機(jī)B的流量,其后配合其它工具(drifnet)等進(jìn)行進(jìn)一步嗅探。

值得一提的是,我們的Arp攻擊也是欺騙,但它是單向欺騙,冒充網(wǎng)關(guān)主機(jī)來(lái)欺騙目標(biāo)主機(jī)。實(shí)際中,中間人攻擊一般是雙向欺騙。即作為中間人,主機(jī)A雙向欺騙主機(jī)B與C獲得通信內(nèi)容,但是不破壞通信數(shù)據(jù)的傳輸。為了不影響B(tài)與C傳輸?shù)臄?shù)據(jù)丟失,主機(jī)A開(kāi)啟ip轉(zhuǎn)發(fā),開(kāi)啟后來(lái)自B主機(jī)的數(shù)據(jù)包經(jīng)過(guò)A主機(jī)的Kali后轉(zhuǎn)發(fā)給主機(jī)C。欺騙兩個(gè)主機(jī)B和C后,我們就能嗅探到雙向數(shù)據(jù)包。

如果你的kali在虛擬機(jī),那么以下步驟均需要一個(gè)外置的usb無(wú)線網(wǎng)卡。在虛擬機(jī)中,網(wǎng)絡(luò)的連接比較復(fù)雜,而Ip轉(zhuǎn)發(fā)很大程度上取決于網(wǎng)卡性能。如果你是在虛擬機(jī)中Kali進(jìn)行轉(zhuǎn)發(fā),基本都會(huì)失敗,因?yàn)楣P記本的內(nèi)置無(wú)限網(wǎng)卡滿足不了需求。由于放假在家我的usb無(wú)線網(wǎng)卡落在了寢室..下面僅以文字給大家介紹攻擊的思路和流程,還請(qǐng)見(jiàn)諒…….

linux的ip轉(zhuǎn)發(fā)

linux因?yàn)橄到y(tǒng)安全,是不支持IP轉(zhuǎn)發(fā)的,其配置文件寫在/proc/sys/net/ipv4的ip_forward中。默認(rèn)為0,需要修改為1。

開(kāi)啟方法大致有兩種:

  1. 只接進(jìn)入文件修改
    cd /proc/sys/net/ipv4
    ls
    cat ip_forward
    #顯示結(jié)果為0
    echo 1 > ip_forward
    cat ip_forward
    #顯示結(jié)果為1,修改成功
    
  2. 使用echo
    # echo "1"> /proc/sys/net/ipv4/ip_forward
    

對(duì)網(wǎng)關(guān)和目標(biāo)主機(jī)B的雙向欺騙

這里進(jìn)行一步執(zhí)行,選用第二種Ip轉(zhuǎn)發(fā)手段
命令如下:

root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward && arpspoof -i eth0 -t 192.168.11.105 -r 192.168.11.1

利用driftnet進(jìn)程監(jiān)控

持續(xù)保持欺騙,再重新打開(kāi)一個(gè)命令終端。
輸入命令:

root@kali:~# driftnet -i eth0

跳出來(lái)的drift窗口即會(huì)顯示本機(jī)正在瀏覽的圖片

使用ettercap工具獲取密碼

  1. 打開(kāi)新的終端,輸入 attercap -G 啟動(dòng)工具
  2. 點(diǎn)擊Sniff -> unified sniffing,選擇要抓包的網(wǎng)卡,默認(rèn)是自己的網(wǎng)卡eth0,點(diǎn)確定
  3. 然后單擊Hosts -> Scan for host,待掃描完成后再次Scan for host,此時(shí)可以看到ettercap-NG已經(jīng)掃描的主機(jī)列表
  4. 選擇攻擊目標(biāo),點(diǎn)擊192.168.11.105的ip地址,點(diǎn)擊Add to Target 1 ,然后選擇網(wǎng)關(guān)的ip地址192.168.11.1,點(diǎn)擊Add to Target 2
  5. 明確目標(biāo)攻擊方式:點(diǎn)擊Mitm -> arp poisoning -> Sniff remote connections -> 確定
  6. 開(kāi)始監(jiān)聽(tīng):start -> Start sniffing

工具就會(huì)抓取主機(jī)B的數(shù)據(jù)包和主機(jī)C返回的數(shù)據(jù)包,分析http post請(qǐng)求可以判斷賬號(hào)密碼信息。

urlsnarf:獲得受害者的HTTP請(qǐng)求

輸入命令:

root@kali:~# urlsnarf -i eth0

使用Wireshark抓包

使用Wireshark抓取所有的數(shù)據(jù)包,過(guò)濾分析不同請(qǐng)求,類似于ettercap。
例如,要找HTTP POST請(qǐng)求,過(guò)濾,查看明文密碼,一般是以POST形式上傳的賬號(hào)密碼。

 

四、關(guān)于Arp欺騙的防御

Arp欺騙
防御原理很簡(jiǎn)單,就是不讓攻擊者肆意表明自己就是網(wǎng)關(guān)主機(jī)。我們進(jìn)入網(wǎng)關(guān)主機(jī)(路由器后臺(tái)地址),網(wǎng)絡(luò)參數(shù)一欄一般有ip與mac綁定一欄,把網(wǎng)關(guān)的mac地址與網(wǎng)關(guān)地址綁定就好了。只要確定了對(duì)應(yīng)關(guān)系,當(dāng)攻擊者發(fā)布arp相應(yīng)包時(shí),就不會(huì)更新相應(yīng)的ip-mac緩存表。

我們重新進(jìn)行欺騙后,再查詢B主機(jī)的arp緩存表,如圖
Arp欺騙
網(wǎng)關(guān)主機(jī)的mac并沒(méi)有被欺騙成功,我們的防御達(dá)到目的

如果想知道對(duì)方主機(jī)的ip地址其實(shí)也容易。我們?cè)贑md下鍵入命令arp -a看一下相同mac,就找到了攻擊者。

 

總結(jié)

  • 公共區(qū)域的wifi存在釣魚風(fēng)險(xiǎn)
  • 在傳輸數(shù)據(jù)過(guò)程中盡量使用加密程序
本文由安全客原創(chuàng)發(fā)布
轉(zhuǎn)載,請(qǐng)參考轉(zhuǎn)載聲明,注明出處: https://www.anquanke.com/post/id/151762

網(wǎng)頁(yè)名稱:如何利用Arp欺騙進(jìn)行MITM?
鏈接地址:http://www.bm7419.com/news/105326.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站App設(shè)計(jì)、Google域名注冊(cè)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)