網絡安全學習第十五篇【網絡層ARP分析】

分析ARP協議攻擊與欺騙

1.ARP協議

作用:將IP協議解析爲Mac地址

1.1廣播與廣播域

廣播: 將廣播地址做爲目的地址的數據幀

廣播域: 網絡中能接收到同一個廣播所有節點的集合,交換機控制不了廣播,路由器能隔離廣播域

MAC地址廣播
廣播地址爲:FF-FF-FF-FF-FF-FF

IP地址廣播
1.255.255.255.255
2.廣播IP地址爲IP地址網段的廣播地址,如192.168.1.255/24

1.2ARP協議原理

ARP:address resolution Protocol ,地址解析協議,將一個已知的IP地址解析成MAC地址。

發送數據時,如果沒有MAC地址,則先通過傳輸層到網絡層的ARP協議,ARP生成MAC地址解析請求,內容:源IP地址,源MAC地址,目標IP ,目標地址,目標MAC?(FF-FF-FF-FF-FF-FF全局廣播) ,發送 ARP廣播請求,目標地址接受到了以後,將中間的Mac地址進行迴應,ARP單播應答。最後拿到了目標的MAC,就可以通過IP協議進行通信了。

ARP協議屬於內網攻擊,不能超出內網

1.3ARP相關命令

ARP 緩存表不能永久保存,只能開機訪問後緩存,存在於內存中,關機後消失!

arp  -a     #查看ARP緩存表

arp  -d     #清除ARP緩存

arp  -s     #ARP綁定
 

2.ARP攻擊與ARP欺騙原理和應用

2.1ARP攻擊和欺騙原理

ARP攻擊是通過發送虛假的廣播或者是應答報文,發起攻擊的。攻擊的目的是導致內網斷網

原理:當ARP協議判斷目標IP在同一網段的時候,會直接發送ARP報文去請求他的MAC地址,而如果判斷目標IP不在同一網段的時候,也會發送ARP協議,但是ARP協議中詢問的是網關的Mac地址。

ARP單播應答攻擊:同一內網中的主機,當使用ARP協議的時候,可以使用ARP迴應欺騙對方,給對方錯誤的MAC地址和錯誤的IP。導致對方不能通行,或者不能通過網關上網。

ARP廣播攻擊:同一內網中,使用者可以主動發送ARP請求解析報文,其中給錯誤的源IP,源MAC地址,目標地址隨便 。因爲通過廣播後,雖然可能目標地址會應答,也可能不會應答,但是所有收到廣播的主機,都會記錄剛剛收到的錯誤的IP地址和MAC地址,而下次需要請求這個IP地址的時候,就會直接使用,從而導致不能和正確的IP地址進行通信。通常是採用正確的網關IP地址和錯誤的網關MAC地址,導致整個內網斷網的攻擊,而且廣播攻擊範圍更廣,效率更高。

ARP欺騙:目的是獲取信息,將兩臺通信的主機的信息都通過第三者進行轉發。

欺騙原理:和攻擊原理差不多主要是其中的MAC地址是真實攻擊者的MAC地址

ARP協議,單播應答,後到後得,後到後更新,所以使用後到的。

2.2ARP攻擊應用案例

ARP攻擊:ARP單播、廣播,發送虛假IP地址和虛假MAC地址導致斷網

ARP欺騙:ARP單播、廣播,發送自己真實的IP地址和真實的MAC地址進行欺騙,可以進行監聽,竊取,篡改,控制流量但不中斷通信。

2.3防禦ARP攻擊和ARP欺騙並查找攻擊主機

 

2.4ARP跨網段傳輸

如果兩主機不在同一網段,且中間間隔多個路由器,首先主機A將發送ARP解析報文到網關,其中解析報文目標MAC地址爲網關MAC地址,目標IP爲通信的主機B的IP地址,網關路由器接受到了以後,先檢查目標MAC地址,發現是自己,然後拆開幀頭,檢查目標IP,和路由表比對,找到目標IP的出口,然後查找自己路由的ARP表,出口的MAC地址,進行對該數據加上幀頭,(自己的MAC地址,出口的MAC地址,主機A的IP和主機B的IP),到下一個路由器繼續這個操作,直到主機B的網關地址,網關地址屬於同一網段,然後進行ARP廣播,將收到的ARP應答MAC地址進行封裝,(主機B的Mac地址,網關的MAC地址,主機A的IP和主機B的IP)然後送到主機B,最後迴應給主機A!

2.5路由器工作原理

1)一個幀到達路由後,路由器首先檢查目標Mac地址,是否是自己,如果不是自己就丟棄,如果是則解封裝,並將IP包送到路由器內部。

2)路由器檢查IP包頭中的目標IP,並匹配路由表如果匹配失敗,則丟棄,並向源IP回饋錯誤信息。如匹配成功,則將IP包路由到出接口
3) 封裝幀,首先將出接口的MAC地址作爲源MAC封裝好,然後檢查ARP緩存表,檢查是否有下一跳的MAC地址,如有,將提取並作爲目標MAC地址封裝到幀中。如果沒有,則發送ARP廣播請求下一跳MAC地址,並獲取到對方的Mac地址,在記錄緩存,並封裝幀,最後將幀發送出去。
 

3.使用抓包軟件分析ARP協議

3.1使用抓包軟件捕獲數據包

3.2ARP協議原理分析

4.ARP攻擊防禦

1.靜態ARP綁定

ARP緩存表,都是通過接受Mac地址進行緩存的,是動態的,而我們可以在ARP緩存表中配置IP對應的固定的Mac地址,被稱爲靜態綁定。(手工配置/雙向綁定)但是並不穩定,因爲在緩存中,關機就沒了。但是可以將服務器和網關之間進行雙向綁定。

命令:

arp  -s  10.1.1.1   00-0s-9d-f3-ff-09                #綁定MAC地址和IP地址

arp   -a                                                           #查看ARP緩存

5.ARP防火牆

1.開機即綁定網關,防止別人僞裝網關攻擊

2.主動防禦:別人僞裝自己,欺騙網關時,防火牆也同時不斷給網關發送ARP解析請求,告訴網關,它纔是真的

3.硬件級防禦

交換機防護:交換機端口支持端口做動態ARP綁定(配合DHCP)或者靜態綁定。當某一主機在交換機上已經進行了IP和ARP地址綁定,如果發送的ARP請求中,IP和MAC和記錄的不一致,那麼就會幹掉。

【千鋒教育】網絡安全工程師 (共311集培訓班全套)