中間人攻擊——ARP欺騙的原理、實戰及防御
0x01 網關是啥?
網關是工作在OSI七層模型中的傳輸層或者應用層,用於高層協議的不同
網絡之間的連接,網關就好比一個房間通向另一個房間的一扇門。
0x02 ARP協議
ARP(Address Resolution Protocol)地址轉換協議,工作在OSI模型的數據鏈路層,在以太網中,網絡設備之間互相通信是用MAC地址而不是IP地址,ARP協議就是用來把IP地址轉換為MAC地址的。而RARP和ARP相反,它是反向地址轉換協議,把MAC地址轉換為IP地址。
假設A(192.168.1.2)與B(192.168.1.3)在同一局域網,A要和B實現通信。A首先會發送一個數據包到廣播地址(192.168.1.255),該數據包中包含了源IP(A)、源MAC、目的IP(B)、目的MAC,這個數據包會被發放給局域網中所有的主機,但是只有B主機會回復一個包含了源IP(B)、源MAC、目的IP(A)、目的MAC的數據包給A,同時A主機會將返回的這個地址保存在ARP緩存表中。
0x03 ARP欺騙原理
在每台主機中都有ARP緩存表,緩存表中記錄了IP地址與MAC地址的對應關系,而局域網數據傳輸依靠的是MAC地址(網絡設備之間互相通信是用MAC地址而不是IP地址)。
假設主機 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之間聊了些什么

上面ABCG的故事就是ARP雙向欺騙的原理了
ARP單向欺騙就更好理解了,C只向A發送一個返回包,告訴A:G 192.168.1.1 的MAC地址為 5c-63-bf-79-1d-fa(一個錯誤的MAC地址,C的MAC地址),A把這個信息記錄在了緩存表中,而G的緩存表不變,也就是說,A把數據包給了C,而G的包還是給A,這樣就是ARP單向欺騙了。
arp欺騙怎么解決?其實ARP欺騙只是有目的的發布錯誤ARP廣播包的行為,從而騙取目標主機發送的網絡信息達到竊取信息的目的,那么想解決arp欺騙只要綁定ip與MAC地址即可,下面我們來列舉下具體的方法。
三、通過網管軟件解決。
-
百度下載大勢至網絡准入控制系統,在其官網下載完成后解壓,在解壓的文件中找到LANProtector.exe和WinPcap.exe這兩個安裝文件,首先雙擊安裝LANProtector.exe,安裝完成后再雙擊WinPcap.exe進行安裝,直至安裝完成。
-
返回電腦桌面,依次點擊開始,在彈出的菜單中點擊所有程序,然后找到並點擊展開大勢至網絡准入控制系統,點擊名為大勢至網絡准入控制系統的快捷方式。
-
在彈出的大勢至網絡准入控制系統登錄框中輸入初始密碼,然后點擊登錄。
-
在彈出的主界面中左上角找到並點擊網段配置,然后根據具體局域網的情況選擇配置單網段還是配置多網段,小編這邊網絡環境較為簡單,只有一個網段,那么就選擇配置單網段。
-
在彈出的對話框中首選點擊網絡適配器后面的向下箭頭,在彈出的網絡適配器中選擇目標網卡,然后在下方網段IP范圍中輸入起止IP地址,最后點擊確定。
-
上述設置完成后點擊網段配置旁邊的啟動管理,這時系統會根據網段IP范圍掃描並列舉當前活動的主機列舉到黑名單列表中。
-
然后在黑名單列表中依次全部選中主機,然后點擊右側的移至白名單,在彈出的窗口中點擊全部綁定即可。
-
這樣IP與MAC已經進行了綁定,有效防止ARP欺騙。