一、實驗目的
-
掌握ARP欺騙攻擊
-
掌握ARP欺騙攻擊全程序
-
學會防范ARP欺騙
二、實驗環境
-
系統環境:Windows環境,kail環境,XP環境
-
軟體工具:packEth,
三、實驗原理
ARP快取
1.在每臺安裝有TCP/IP協議的電腦里都有一個ARP快取表,表里的IP地址與MAC地址是一一對應的,如下圖所示是window7主機的ARP快取表:

在上圖所示的ARP快取表中,IP地址192.168.70.129映射的MAC地址為00-50-56-2b-68-41,下面我們以主體X(192.168.70.129)向主機Y(192.168.70.134)發送資料為例,說明ARP作業程序,
當主機X發送資料時,它會在自己的ARP快取表中尋找是否有主機Y的IP地址,如果找到了,也就知道了主機Y的MAC地址,直接把目標MAC地址寫入資料包里面發送就可以了;如果在ARP快取表中沒有找到主機Y的IP地址,主機X就會在網路上發送一個廣播,目標MAC地址是“FF-FF-FF-FF-FF-FF”,這個表示向同一網段內的所有主機發出這樣的詢問:192.168.70.129的MAC地址是什么?網路上其他主機并不回應ARP詢問,只有主機Y接收到這個資料包時,才會向主機X做出這樣的回應:192.168.70.129的MAC地址是00-50-56-2b-68-41,這樣,主機X就知道了主機Y的MAC地址,他就可以向主機Y發送資訊了,同時它還更新了自己的ARP快取表,下次再向主機Y發送資訊時,直接從ARP快取表里查找就可以了,ARP快取表采用了老化機制,在一段時間內如果表中的某一行沒有使用就會被洗掉,這樣可以大大減少ARP快取表的長度,加快查詢速度,
2.ARP欺騙定義
從前面的介紹可以看出,ARP的致命缺陷是:他不具備任何的認證機制,當有個人請求某個IP地址的MAC時,任何人都可以用MAC地址進行回復,并且這種回應也會被認為是合法的,
ARP并不只在發送了ARP請求后才接收ARP應答,當主機接收到ARP應答資料包的時候,就會對本機的ARP快取進行更新,將應答中的IP和MAC地址存盤在ARP快取表中,此外,由于局域網中資料包不是根據IP地址,而是按照MAC地址進行傳輸的,所有對主機實施ARP欺騙就成為可能,
3.ARP常用命令:
| arp -a | 用于查看快取表中的所有專案 |
|---|---|
| arp -a ip | 只顯示包含指定IP的快取表專案 |
| arp -s ip mac | 向ARP快取表中添加靜態目錄,該專案在計算機啟動程序中一直有效 |
| arp -d ip | 洗掉ARP快取表中靜態專案 |
四、實驗步驟
下面PC2要對PC1進行ARP欺騙攻擊,目標是更改PC1快取表中網關的MAC地址更新為aa:aa:aa:aa:aa:aa實施欺騙,導致PC1無法正常上網
更新前:PC1的快取表如下圖所示網關IP:192.168.70.2對應的MAC地址是:00-50-56-e5-d2-ff

此時PC1是可以正常上網的如下圖所示:

打開Windows7將packEth壓縮包解壓成檔案夾后,找到packEth.exe檔案雙擊打開

打開packEth.exe檔案,選擇第二個網卡,選擇ARP packet模式

發送方IP和MAC填寫網關的真實IP地址和此處修改MAC地址為aa:aa:aa:aa:aa:aa以達到欺騙效果,選擇Arp packet功能以及ARP reply 應答包,MAC Header處填寫目標真實MAC地址(此處為PC1的MAC地址),源MAC地址填寫修改的MAC地址(此處為aa:aa:aa:aa:aa:aa)設定好后點擊Send開始發包

更新后:此時我們回傳到PC1里使用命令arp -a 查看網關的MAC地址成功被我們修改成了aa:aa:aa:aa:aa:aa

此時我們再次驗證PC1是否能正常上網,發現已經無法正常上網了,如下圖所示:

PC2向PC1發送一個自己偽造的ARP應答包,而這個應答資料中發送方IP地址是網關的192.168.70.2映射的MAC更新為aa:aa:aa:aa:aa:aa(網關的MAC地址本來應該是00-50-56-e5-d2-ff,此時已經被我們偽造了),當PC1收到PC2偽造的ARP應答,就會更新本地的ARP快取表(PC1不知道MAC已經被偽造了),而且PC1不知道這個ARP應答包是從PC2發送過來的,這樣PC1發送給網關的資料包都變成了發給PC2了,PC1對所發生的變化一點兒都沒有意識到,但是接下來的事情就讓PC1產生了懷疑,因為它無法正常上網了,這是因為PC2只是接收PC1發給網關的資料,并沒有轉發給網關,
2.PC2做“maninthemiddle”(中間人),進行ARP重定向,打開自己的IP轉發功能,將PC1發送過來的資料包轉發給網關,就好比一個路由器一樣,而網關接收到資料包完全認為是PC1發送過來的,不過,網關發送的資料包又直接傳遞給PC1,倘若再次進行對網關的ARP欺騙,那么PC2就完全成為PC1和網關的中間橋梁,對于PC1與網關的通訊就可以了如指掌了(如果你被人ARP監控了,想想是不是很可怕)

啟動kali虛擬機,打開終端,輸入命令:ettercap -G 如圖所示:

在進行中間人攻擊之前首先需要掃描當前局域網中存在的活動主機,確認攻擊目標機器,點擊Unified sniffing開啟嗅探,如下圖所示:

選擇當前網卡eth0,點擊OK進入嗅探,如下圖所示:

點擊選單中的Hosts,選中Scan for hosts 掃描和本機(kali)同網關所有的主機,如下圖所示:

點擊選單Hosts,選中Host list 列出同網關所有互動的主機,掃描結果如下圖所示:192.168.70.133為Windows7主機的IP地址,192.169.70.2為網關IP地址

接下來選擇攻擊目標,右鍵Windows目標IP點擊Add to Target 1,選擇第二個攻擊目標IP(網關),右鍵網關目標IP點擊Add to Target 2,如下圖所示:


然后確定攻擊方式,此處點擊選單Mitm,選中ARP posoning采用ARP欺騙的攻擊方式,如下圖所示:

勾選Sniff remote connections,點擊確認按鈕,如下圖所示:

點擊選單start,選中Start sniffing,開始監聽

在Windows7虛擬機中,打開cmd命令控制視窗,輸入arp -a查看arp快取表,結果發現網關(192.168.70.2)的MAC地址變成了和kali主機的MAC地址相同,如下圖所示:

到此為止我們開始驗證ARP中間人欺騙是否成功了
回傳到Windows7虛擬機,打開瀏覽器訪問一個登錄界面,輸入登錄用戶名和密碼,點擊確認登陸,如下圖所示:

回傳到kali主機我們已成功獲取到Windows7主機訪問某網站已經登錄的用戶名和密碼,如下圖所示:

五、ARP攻擊防范:
1.雙向系結:
一般來說,在小規模網路中,比較推薦使用雙向系結,也就是在路由器和終端上都進行IP-MAC系結的措施,它可以對ARP欺騙的兩邊,偽造網關 和截獲資料,都具有約束的作用,這是從ARP欺騙原理上進行的防范措施,也是最普遍應用的辦法,它對付最普通的ARP欺騙是有效的,
2.ARP防火墻:
在一些殺毒軟體中加入了ARP防火墻的功能,它是通過在終端電腦上對網關進行系結,保證不受網路中假網關的影響,從而保護自身資料不被竊取的措施,ARP防火墻使用范圍很廣,但也會有問題,如,它不能保證系結的網關一定是正確的,如果一個網路中已經發生了ARP欺騙,有人在偽造網關,那么,ARP防火墻上來就會系結這個錯誤的網關,這是具有極大風險的,
3.VLAN和交換機埠系結:
通過劃分VLAN和交換機埠系結來防范ARP,也是常用的防范方法,做法是細致地劃分VLAN,減小廣播域的范圍,使ARP在小范圍內起作 用,而不至于發生大面積影響,同時,一些網管交換機具有MAC地址學習的功能,學習完成后,再關閉這個功能,就可以把對應的MAC和埠進行系結,避免了病毒利用ARP攻擊篡改自身地址,也就是說,把ARP攻擊中被截獲資料的風險解除了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/323014.html
標籤:其他
上一篇:ARP欺騙與中間人攻擊
下一篇:HTML學習筆記
