天天看點

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

1.開始前先簡單闡述ARP欺騙的原理:

1).ARP雙向欺騙的原理:

假設主機 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 網關 G 192.168.1.1; 在同一區域網路,主機A和B通過網關G互相通信,就好比A和B兩個人寫信,由郵差G送信,C永遠都不會知道A和B之間說了些什麼話。但是并不是想象中的那麼安全,在ARP快取記錄機制存在一個缺陷,就是當請求主機收到ARP應答包後,不會去驗證自己是否向對方主機發送過ARP請求包,就直接把這個傳回包中的IP位址與MAC位址的對應關系儲存進ARP快取記錄中,如果原有相同IP對應關系,原有的則會被替換。

這樣C就有了偷聽A和B的談話的可能,繼續思考上面的例子:

C假扮郵差,首先要告訴A說:“我就是郵差” (C主機向A發送構造好的傳回包,源IP為G 192.168.1.1,源MAC為C自己的MAC位址),愚蠢的A很輕易的相信了,直接把“C是郵差”這個資訊記在了腦子裡;

C再假扮A,告訴郵差:“我就是A” (C向網關G發送構造好的傳回包,源IP為A 192.168.1.2,源MAC位址為自己的MAC位址),智商捉急的郵差想都沒想就相信了,以後就把B的來信送給了C,C當然就可以知道A和B之間聊了些什麼

2).ARP單向欺騙的原理:

ARP單向欺騙就更好了解了,C隻向A發送一個傳回包,告訴A:G 192.168.1.1 的MAC位址為 5c-63-bf-79-1d-fa(一個錯誤的mac位址),A把這個資訊記錄在了緩存表中,而G的緩存表不變,也就是說,A把資料包給了C,而G的包還是給A,這樣就是ARP單向欺騙了。

2.示範ARP欺騙。

環境:

路由器:NETGEAR30 IP:10.0.0.1/MAC:A0:40:A0:83:44:2F

實施ARP欺騙的主機(下面簡稱中間人):win10(關閉防火牆) IP:10.0.0.2/MAC:E4:70:B8:C1:8A:63

被ARP欺騙的主機(下面簡稱受害機):win10(關閉防火牆) IP:10.0.0.3/MAC:60:57:18:2F:C4:3E

兩台主機通過Wifi同路由器連接配接。出于示範目的,受害機不斷ping路由器,模拟内網通信。注意,整個過程是真實環境,并不是在虛拟機中完成。

2.1).不開啟ARP欺騙:

在不開啟ARP欺騙的情況下,中間人肯定收不到受害機發往路由器的資料包(廣播包除外)。我們來看下此時路由器和受害機之間的ICMP通信情況:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙
用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

從Packet List中任意選取一組請求和響應包:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

Packet detail面闆顯示:ICMP請求包的"Ethernet II"桢中源位址MAC和目标位址MAC正是路由器和受害機的MAC位址,符合預期;

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

ICMP響應包也是同理。

順帶檢查一下受害機的arp表,目前還算正常,顯示路由器10.0.0.1的MAC是A0:40:A0:83:44:2F:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

2.2).開啟ARP欺騙

我們借助Cain&Abel在中間人10.0.0.2上完成ARP欺騙。開啟Cain,切換到Sniffer标簽-選擇混迹在區域網路中的網卡後,點選Start Sniffer(工具欄上網卡形狀的圖示)-點選Add to List(工具欄上+圖示),之後Cain會自動掃描并在清單框中顯示區域網路中的主機。

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

掃描完畢,點選Sniffer标簽頁右下角的APR标簽-點選Add to List-選擇要區域網路中要被欺騙的主機及該主機對應的路由器:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

配置完畢後,點選工具欄Start APR按鈕(黃黑相間的輻射标志),此時區域網路ARP欺騙已經開始。中間人可以接受到受害者的ICMP包以及來自路由器的回應:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

再次檢視受害機的ARP表,發現它到路由器的表項被篡改了:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

雖然路由器和受害機受到ARP欺騙的影響,傻乎乎的把資料發給中間人10.0.0.2,倒也不是發現不了。如果在受害機上打開Wireshark,還是能看到中間人因為發起ARP欺騙而留下了大量痕迹:

用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙

繼續閱讀