主題名稱 |
ARP欺騙與MITM(中間人攻擊)實例 |
IP:192.168.1.1 MAC地址:00:5A:39:1A:BB:BE
IP:192.168.1.113 MAC地址:00:0C:29:03:85:DC
由於實驗條件有限,故中間人主機PC 0在虛擬機內運行。但實際效果與真實測試相同。
攻擊測試: 使用Kali Linux中的嗅探工具ettercap-NG對目標主機進行ARP欺騙,並截獲明文密碼。 首先打開終端,輸入ettercap -G 啟動ettercap (ettercap要求使用root權限,使用sudo或者切換到root用戶運行)的圖形界面模式,如圖:
打開ettercap-NG 的圖形界面之后點擊"sniff",選擇"unified sniffing"然后根據自己的要求選擇要抓包的網卡。
使用NMAP工具查看局域網內所有主機:
根據返回數據可知,我的網關無線路由器的IP地址為192.168.1.1,MAC地址為:00:5A:39:1A:BB:BE,根據MAC地址,分析出 深圳Fast科技公司出產。 此外有幾台蘋果的設備,是室友的幾部蘋果手機,此外還有一部Vivo手機,BBK步步高電子產品出產,還有一台小米科技出產的小米手機。此外,還有一台名為 Hon Hai Precision 的設備,經查原來其名為鴻海精密集團,富士康是旗下的公司,應該就是我的網卡生產商了。 還有一個提示信息為"Host is up"的主機即為本次測試的中間人(攻擊者)的主機。 篩選后,得到信息如下:
返回ettercap,然后單擊Hosts選項,選擇Scan for host,待掃描完成之后再選擇Scan for host,然后選擇Host list,此時可以看到ettercap-NG已經掃描的主機列表,如圖所示:
然后就可以選擇要攻擊的目標了, 選擇192.168.1.106的IP地址,點擊Add to Target 1(添加到目標1),然后選擇網關的IP地址192.168.1.1,點擊Add to Target 2(添加到目標2),可以看到ettercap提示成功加入目標,如圖所示:
然后明確攻擊方式,這里采用ARP欺騙的方式,告訴主機192.168.1.106我(192.168.1.113)才是網關(192.168.1.1),使得 192.168.1.106的主機把所有數據流量全部發給我,然后抓包截獲密碼。 明確攻擊方式之后,我們選擇"mitm"—"arp poisoning"— "Sniff remote connections" — "確定"
這時可以看看目標主機的arp地址表,如圖所示,ARP緩存毒化成功。 攻擊之前:
點擊確定攻擊之后:
此時發現ARP緩存表已經毒化成功! 然后在攻擊主機中選擇"Start" — "Start sniffing" 開始監聽。 此時使用Wireshark抓包工具可以發現,被攻擊主機的所有流量都是通過攻擊者的主機發送出去的,即被攻擊主機誤認為192.168.1.113是它的網關。
此時便可以實現很多功能。例如抓包獲取密碼,Cookies欺騙,DNS欺騙,惡意程序替換等等,如通過driftnet過濾嗅探圖片:
1、雙向綁定: 一般來說,在小規模網絡中,比較推薦使用雙向綁定,也就是在路由器和終端上都進行IP-MAC綁定的措施,它可以對ARP欺騙的兩邊,偽造網關 和截獲數據,都具有約束的作用。這是從ARP欺騙原理上進行的防范措施,也是最普遍應用的辦法。它對付最普通的ARP欺騙是有效的。 2、ARP防火牆: 在一些殺毒軟件中加入了ARP防火牆的功能,它是通過在終端電腦上對網關進行綁定,保證不受網絡中假網關的影響,從而保護自身數據不被竊取的措施。ARP防火牆使用范圍很廣,但也會有問題,如,它不能保證綁定的網關一定是正確的。如果一個網絡中已經發生了ARP欺騙,有人在偽造網關,那么,ARP防火牆上來就會綁定這個錯誤的網關,這是具有極大風險的。 3、VLAN和交換機端口綁定: 通過划分VLAN和交換機端口綁定來防范ARP,也是常用的防范方法。做法是細致地划分VLAN,減小廣播域的范圍,使ARP在小范圍內起作 用,而不至於發生大面積影響。同時,一些網管交換機具有MAC地址學習的功能,學習完成后,再關閉這個功能,就可以把對應的MAC和端口進行綁定,避免了病毒利用ARP攻擊篡改自身地址。也就是說,把ARP攻擊中被截獲數據的風險解除了。 |