1. 程式人生 > >windows下利用sniffer進行抓包改包,以arp攻擊

windows下利用sniffer進行抓包改包,以arp攻擊

ARP攻擊原理及實驗
1. 進行arp IP欺騙
2.進行arp閘道器MAC欺騙
3.首先進行第一個測試” arp IP欺騙”.實驗環境VMWareWorkistation虛擬機器2臺(xp系統)
4.第一攻擊者臺IP為172.17.17.201 MAC地址為00-0C-29-92-1F-0F
5. 第二臺被攻擊者 IP為172.17.17.202 MAC地址為00-0C-29-0D-AF-C4
首先,我們安裝sniffer,可以去baidu或者google搜尋一下,有漢化破解版的.下載後安裝即可(安裝方法可以去baidu看下).安裝完成後我們開始配置抓包過濾器

選擇”配置檔案”-新建-名稱中輸入arp-完成.
在”地址”選項卡中編輯如下
地址型別選擇hardware(因為我們要抓的arp協議資料包是工作在OSI模型的資料鏈路層的,所以我們要用到的是二層的硬體MAC地址)
在位置1中輸入自己的MAC地址(格式中間不帶-)
在位置2中預設的任意的即可

除此之外,我們在”高階”選項卡中設定如下,
選擇協議:IP ARP,完成後,就可以開始抓包了,點選’捕獲’-開始

正在捕獲資料包

然後我們用第一臺計算機ping第二臺計算機
172.17.17.201 ping 172.17.17.202

這裡的2說明捕獲到了2個數據包

Ping完成後,點選圖上的”紅色望遠鏡”圖示(停止並檢視捕獲的資料包)
點選左下角的”解碼”進行資料包的檢視

以上就是我們捕獲到的資料包(ICMP的資料包,因為我們是用172.17.17.201 ping的172.17.17.202以上是一個172.17.17.201去往172.17.17.202的echo資料包,中間靠廣播來發現的,和一個172.17.17.202返回給172.17.17.201的echo reply的資料包)ping用的是ICMP協議,所以說是一個ICMP的資料包.

下面來分析這個返回給自己(172.17.17.201)的資料包(傳送給廣播的資料包不進行分析) 

DLC:資料鏈路控制層Data Link Control
我們可以看到在DLC層中對應的Destination(目標)的MAC地址是000C29921F0F(172.17.17.201),也就是自己(攻擊者)的MAC地址,因為這個資料包是由172.17.17.202(被攻擊者)返回來的資料包,所以這個資料包的目的地址就變成了,172.17.17.201的MAC地址,同樣的Soure(源)的MAC地址是000C290DAFC4(172.17.17.202),每次點選到對應的協議層就會在下面位元組中顯示對應的位元組數值,如上圖的Destination MAC 000C29921F0F對應的是底下的12個位元組00 0c 29 92 1f 0f 的位置
依次類推Soure MAC 000C290DAFC4 對應的是後面的00 0c 29 0d af c4這12個位元組的位置


依次類推Soure MAC 000C290DAFC4 對應的是後面的00 0c 29 0d af c4這12個位元組的位置


再下走是Ethertype(乙太網協議型別)0806,對應的是下面的4個位元組08 06

ARP協議中
Hardware type(MAC協議型別)1,對應於00 01(資料包以16進製表示,即0x1=0001)
Protocol type(IP協議型別)0800,對應於08 00
還有下面的length of hardware address 硬體地址長度6
Length of protocol address ip地址長度4(指在資料包中佔用的位元組)
Opcode 2 (ARP reply)指的是ICMP的型別,echo(去)是1,echo reply(返回)是2,因為這個資料包是ICMP返回的資料包,所以型別是2(0x0002)對應下面的4個位元組:00 02

Sender’s hardware address 000C290DAFC4傳送方的MAC地址
Sender’s protocol address 172.17.17.202 對應的是下面的8個位元組的ac 11 11ca(IP地址的16進製表示方法)

Target hardware address 000C29921F0F 接收方的MAC地址
Target protocol address 172.17.17.201 接收方的IP地址,對應下面ac 11 11 c9
同上
後面的保留空間,不用分析了.
好了通過以上對資料包的分析,現在來修改這個資料包來達到IP地址衝突的arp欺騙攻擊.好了,到了這裡問題來了,怎麼才能發生ip地址的衝突呢,既然要發生ip地址的衝突,那麼必不可少的是要2臺計算機ip地址相同,而MAC地址不變.經過分析,可以得到,只需要修改包的傳送和接收方的IP地址一樣(都修改成被攻擊者的IP地址)就可以了.那麼下面開始修改資料包,看好~~~
首先,在選擇資料包,在資料報上點選右鍵

如圖選擇”傳送當前的幀”(OSI7層模型中2層協議中資料包被統一叫做幀,3層中叫做包)
開啟幀後,可以選擇攻擊的動作,這裡我們選擇”連續的傳送”
開始修改,按照資料幀的格式,定位到各個位置開始修改。
修改Destination 對應的位置
 
因為我們這個幀是用來自己(攻擊者172.17.17.201 MAC地址為00-0C-29-92-1F-0F)傳送給被攻擊者(172.17.17.202 MAC地址為00-0C-29-0D-AF-C4),所以在Destination位置的12個位元組處要修改成被攻擊者的MAC地址00-0C-29-0D-AF-C4

後面的Soure位置修改成自己的MAC地址00-0C-29-92-1F-0F


依次類推,我們只需要修改 源、目的的MAC地址和IP地址即可,其他型別、長度、包返回型別不變即可
在第二行的00 02(之前的可以保持不變)後面我們要修改的是傳送者的MAC(00-0C-29-92-1F-0F)和IP(172.17.17.201)

我們要將2個IP都改為被攻擊者的IP:172.17.17.202對應16進位制的ac 11 11 ca,所以改為ac 11 11 ca

及接收者的MAC(00-0C-29-0D-AF-C4)和IP(172.17.17.202)

172.17.17.202對應的16進位制是ac 11 11 ca,所以將接收者的IP對應的改為ac 11 11 ca

這樣,我們就修改了一個可以進行arp ip欺騙的資料包,點選確定開始攻擊
在被攻擊者的計算機上我們看到效果如下。已經實現了ip衝突,但是並不影響上網。只是會不斷的彈出對話方塊



二、介紹抓包分析進行arp另外一種欺騙例項:arp閘道器MAC欺騙
一樣的問題,怎麼才能實現arp閘道器MAC的欺騙呢,簡單的說一下,在OSI2層協議中通訊時利用MAC地址而不是IP地址的,利用arp協議來進行地址解析,就是將目標IP地址解析成目標MAC地址,以便和對方進行通訊,每一個計算機中都會存在一個arp的表,就是一張ip對應mac地址的表,而intarnet計算機要上網就必須通過閘道器來上網,在arp表中就存在一個閘道器的ip和mac的對應的arp表,我們可以在cmd下用arp –a命令來檢視arp快取表

比如上圖攻擊者的ip地址是172.17.17.201,閘道器是172.17.17.1,那麼在正確的arp表中就儲存著一個條目,閘道器的ip-MAC對應關係 172.17.17.1  00-1d-70-b6-94-7f,可以看到閘道器(172.17.17.1)的MAC地址是00-1d-70-b6-94-7f
由此可以知道,如果將自己的IP地址改成閘道器的IP地址,MAC可以任意修改成其他的,或者就用自己(攻擊者)的,然後不斷的傳送這個資料包給被攻擊者(告訴被攻擊者閘道器就是攻擊者自己,或者一個偽造的非真實存在的MAC地址)這樣,被攻擊者就會認為自己(攻擊者或者偽造的MAC)是真正的閘道器,而把所有的上網的資料包請求傳送到攻擊者或偽造的MAC,這樣,就欺騙了被攻擊者,不但可以監聽被攻擊者所有的資料包,還能造成被攻擊者無法通過閘道器上.
好了,知道了簡單的原理,下面就來試驗一下,環境不變.步驟不變,唯一改變的是修改的資料包中的
Sender’s hardware address 000C290DAFC4傳送方的MAC地址
Sender’s protocol address 172.17.17.202 傳送方的IP地址
傳送方的MAC地址可以改為自己的也可以偽造一個,這裡偽造了一個MAC:00 0c 29 1f 92 c4
因為這裡做的是閘道器MAC欺騙,需要將傳送方的IP修改為閘道器的IP,也就是修改ac 11 11 ca為閘道器IP(172.17.17.1)對應的16進位制資料ac 11 11 01


完成後就可以看到閘道器欺騙的效果了,先做個對比。
沒有欺騙之前
 
可以ping 通baidu,證明可以上網,再看arp表

閘道器真實的MAC為00 1D 70 B6 94 7F

開始進行arp閘道器欺騙

在進行觀察被攻擊者172.17.17.202

可以看到前後的對比,被攻擊後baidu無法ping通,arp列表中的閘道器MAC地址已為我製造的一個偽MAC地址。Arp欺騙成功。

      預防arp閘道器欺騙的方法也很簡單,在自己的cmd中先用arp –a 檢視真實的閘道器ip – MAC對應關係,然後用arp –s IP MAC命令進行arp的繫結即可,或者安裝一個帶有防arp功能的防火牆(比如360)就可以了。