使用kali進行arp欺騙實現計算機網站訪問截取


使用kali進行arp欺騙實現計算機網站訪問截取

關於arp欺騙

簡介

ARP欺騙ARP spoofing),又稱ARP毒化ARP posioning)或ARP攻擊,是針對以太網地址解析協議ARP)的一種攻擊技術。此種攻擊客讓攻擊者獲取局域網上的數據包甚至可以篡改數據包,並且可讓網上特定計算機或所有計算機無法正常連線。

運作機制

ARP欺騙的運作原理是由攻擊者發送假的ARP數據包到網上,尤其是送到網關上。其目的是要讓送至特定的IP地址的流量被錯誤送到攻擊者所取代的地方。因此攻擊者可將這些流量另行轉送到真正的網關(被動式數據包嗅探,passive sniffing)或是篡改后再轉送(中間人攻擊,man-in-the-middle attack)。攻擊者亦可將ARP數據包導到不存在的MAC地址以達到阻斷服務攻擊的效果,例如netcut軟件。

例如某一的IP地址是192.168.0.254,其MAC地址為00-11-22-33-44-55,網上上的計算機內ARP表會有這一筆ARP記錄。攻擊者發動攻擊時,會大量發出已將192.168.0.254的MAC地址篡改為00-55-44-33-22-11的ARP數據包。那么網上上的計算機若將此偽造的ARP寫入自身的ARP表后,計算機若要透過網上網關連到其他計算機時,數據包將被導到00-55-44-33-22-11這個MAC地址,因此攻擊者可從此MAC地址截收到數據包,可篡改后再送回真正的網關,或是什么也不做,讓網上無法連線。

簡單案例分析:這里用一個最簡單的案例來說明ARP欺騙的核心步驟。假設在一個LAN里,只有三台主機A、B、C,且C是攻擊者。

  1. 攻擊者聆聽局域網上的MAC地址。它只要收到兩台主機洪泛的ARP Request,就可以進行欺騙活動。
  2. 主機A、B都洪泛了ARP Request.攻擊者現在有了兩台主機的IP、MAC地址,開始攻擊。
  3. 攻擊者發送一個ARP Reply給主機B,把此包protocol header里的sender IP設為A的IP地址,sender mac設為攻擊者自己的MAC地址。
  4. 主機B收到ARP Reply后,更新它的ARP表,把主機A的MAC地址(IP_A, MAC_A)改為(IP_A, MAC_C)。
  5. 當主機B要發送數據包給主機A時,它根據ARP表來封裝數據包的Link報頭,把目的MAC地址設為MAC_C,而非MAC_A。
  6. 當交換機收到B發送給A的數據包時,根據此包的目的MAC地址(MAC_C)而把數據包轉發給攻擊者C。
  7. 攻擊者收到數據包后,可以把它存起來后再發送給A,達到偷聽效果。攻擊者也可以篡改數據后才發送數據包給A,造成傷害。

限制方法

最理想的防制方法是網上內的每台計算機的ARP一律改用靜態的方式,不過這在大型的網上是不可行的,因為需要經常更新每台計算機的ARP表。

另外一種方法,例如DHCP snooping,網上設備可借由DHCP保留網上上各計算機的MAC地址,在偽造的ARP數據包發出時即可偵測到。此方式已在一些廠牌的網上設備產品所支持。

有一些軟件可監聽網上上的ARP回應,若偵測出有不正常變動時可發送郵箱通知管理者。例如UNIX平台的Arpwatch以及Windows上的XArp v2或一些網上設備的Dynamic ARP inspection功能。

正當用途

ARP欺騙亦有正當用途。其一是在一個需要登錄的網上中,讓未登錄的計算機將其瀏覽網頁強制轉向到登錄頁面,以便登錄后才可使用網上。另外有些設有備援機制的網上設備或服務器,亦需要利用ARP欺騙以在設備出現故障時將訊務導到備用的設備上。

實驗環境

攻擊機:Kali Linux IP地址:192.168.179.129

靶機:Windows 7 IP地址:192.168.179.130

工具:arpspoof、wireshark、tcpdump

實驗過程

網絡模式設置

首先要保證攻擊機和靶機處在同一局域網下,這里我們只需要把兩台虛擬機的網絡模式設置為相同的即可,我這里的網絡模式設置為NAT模式,如下圖所示。

3LtHVe.png

地址掃描

現在我們知道了兩台機器處於同一局域網下,但是我們並不知道靶機的IP地址,所以我們需要利用netdiscover工具對同一網段下的存貨主機進行探測。

首先我們查看一下Kali攻擊機的IP地址,如下圖所示:

3LNGxx.png

然后我們利用netdiscover工具進行地址掃描,命令如下:

netdiscover

3LNvFJ.png

發起攻擊

在成功拿到了靶機的ip地址后,我們利用arpspoof工具開始對靶機發起arp攻擊,arpspoof的具體使用方法可以使用以下命令查看:

man arpspoof
    名字 
           arpspoof - 截獲交換局域網中的數據包

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

    描述
           arpspoof通過偽造的ARP響應包改變局域網中從目標主機(或所有主機)到另一個主機(host)的數據包轉發路徑。這是交換局域網中嗅探網絡流量的一種極為有效的方法。
           內核IP轉發(或如fragrouter這樣的、用戶層面的、能完成同樣功能的軟件)必須提前開啟。

    參數
           -i interface
                  指定要使用的接口(即指定一塊網卡)

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

           -t target
                  指定一個特殊的、將被ARP毒化的主機(如果沒有指定,則認為是局域網中所有主機)。重復可以指定多個主機。

           -r     毒化兩個主機(目標和主機(host))以捕獲兩個方向的網絡流量。(僅僅在和-t參數一起使用時有效)

           host   host是你想要截獲數據包的主機 (通常是網關)。

攻擊命令如下:

arpspoof -t 192.168.179.130 192.168.179.1 -i eth0

-t 參數后的第一個IP地址是要欺騙的主機,第二個IP地址是你要偽裝成的主機(即網關)

3LUxHS.png

可以看到,arpspoof已經成功向目標靶機發送了數據包。

截獲數據

這時,我們打開抓包工具wireshark,抓取eth0網卡上的數據包。

3Lah2n.png

為了方便識別是否截獲到流量,我們在靶機上訪問百度,看看能否截獲到相應的數據。

3LdIWd.png

訪問完成后,停止抓包,查看截獲的流量包中是否存在訪問百度所產生的數據。

3LwATU.png

可以看到,成功獲取到了靶機(192.168.179.130)訪問百度的數據包,這說明我們的arp欺騙已經完成。


3Lw0nP.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM