目錄
ARP協議可參考:https://blog.csdn.net/qq_35733751/article/details/80012359
1. 中間人攻擊
中間人攻擊(Man-in-the-MiddleAttack)簡稱爲MITM攻擊,是一種比較常見的網絡攻擊方式,想要實施中間人攻擊至少需要三個角色,其過程如下圖所示:
所謂中間人攻擊就是Client1和Client2在進行正常的網絡通信時,Hacker實施中間人攻擊監聽Client1和Client2的通信,在這個過程中Hacker作爲中間人會處理轉發它們的數據信息,也就是說Client1和Client2之間依然可以正常通信,並且它們也不會發現通信過程中多了一個人。Client1以爲自己是和Client2之間通信,然而實際上多了一個Hacker正在默默的監聽Client1和Client2之間通信。
2. ARP欺騙
ARP欺騙就是一種典型的中間人攻擊方式 ,它利用了ARP協議的缺點:沒有任何認證機制。當一臺主機收到一個發送方ip地址爲192.168.111.139的ARP請求包時,該主機並不會對這個數據包做任何判斷真僞校驗,無論這個數據包是否真的來自192.168.111.139,它都會將其添加到ARP緩存表中,Hacker正是利用了這一點來冒充網關等主機。
以ping命令爲例,139和140兩臺主機進行通信時:
139和140進行通信時會先在ARP緩存表查找140對應的ARP表項(即192.168.111.140對應的mac地址),如果沒有找到則會發送ARP請求。 ip爲192.168.111.139的主機首先會以廣播方式發送一個ARP請求包獲取192.168.111.140主機的mac地址,其內容爲who has 192.168.111.140? Tell 192.168.111.139。
當ip爲192.168.111.140的主機收到這個ARP請求包並不會做任何的真僞校驗,而是直接回復一個ARP響應包把自己的mac地址告訴對方。
無論這個ARP請求包是否真的來自ip爲192.168.111.139的主機,140都會把192.168.111.139對應的mac地址表項添加到自己的ARP緩存表中(ARP欺騙正是利用了這一缺點進行的網絡攻擊):
ARP緩存表中192.168.111.2是網關的ip地址,00-50-56-ea-03-a7是網關的mac地址。
3. ARP欺騙過程分析
在VMware中分別創建兩臺主機,實驗環境:
1. Kali linux主機充當hacker進行安全測試,ip地址爲192.168.111.139
2. Windows7是進行安全測試的目標主機,ip地址爲192.168.111.140
搭建完環境後,在kali中進行安全測試並開啓路由轉發功能:
通過arpspoof工具進行ARP欺騙安全測試:
-i選項用於指定網卡,-t選項用於指定欺騙的目標主機ip和網關ip,當執行以上命令後arpspoof工具就會不斷地發送僞造的ARP包對目標主機進行ARP欺騙。
在Kali linux主機上進行wireshark抓包,分析ARP欺騙攻擊的過程:
在wireshark抓包中,ARP響應包中Sender MAC address字段裏封裝的MAC地址不是網關192.168.111.2的mac地址,而是kali linux主機的MAC地址,也就是說這個ARP響應包實際上是僞造的。
再查看被攻擊的目標主機ARP緩存表:
在前面的實驗環境中我們知道192.168.111.2網關對應的mac地址是00-50-56-ea-03-a7,當kali linux主機進行ARP欺騙後,ARP緩存表中網關對應的mac地址變成了00-0c-29-03-25-67,但這個mac地址實際上是kali linux主機的mac地址,目標主機收到這個ARP響應包並沒有做任何的判斷,而是直接接收數據包,包括在wireshark抓包工具中也間接證明了ARP協議的一重大缺點:ARP協議缺少對數據包的判斷校驗安全機制,hacker也就可能利用這個漏洞來冒充網關。
4. Wireshark專家系統分析
通常在一個網絡中如果出現了大量的ARP數據包是不太正常的,可以通過wireshark抓包工具的專家系統功能分析當前網絡的問題所在。
在wireshark抓包工具的菜單欄中選擇:分析-->專家信息,如下所示:
在專家信息功能中可以看到有一段警告級別爲Warning級別的ARP數據包,wireshark給出的警告提示Duplicate IP address configure,說明檢測到了重複的IP地址配置,我們重點關注25和26兩個數據包。
以Frame 25數據包爲例:
Wireshark檢測到了ip地址192.168.111.2 有重複的配置,在這個數據包中192.168.111.2使用的mac地址是00-50-56-ea-03-a7,在之前192.168.111.2使用的mac地址是00-0c-29-03-25-67,在這兩個mac地址其中有一個肯定是僞造的mac地址,一般來說如果有大量的ARP響應包出現同一個mac地址,那麼這個mac地址極有可能是僞造的。
5. 如何防禦ARP欺騙
當一個網絡中出現大量的ARP數據包會有以下幾個原因:
- 當前網絡存在ARP主機掃描
- 當前網絡存在ARP病毒
- 當前網絡存在ARP欺騙攻擊
防禦ARP欺騙的措施:
- arp -s命令靜態綁定ARP表,但不適用大型網絡
- 使用交換機DHCP-Snooping技術或者端口安全技術
- 劃分VLAN