文|李海波
ARP欺騙是一種常見的網(wǎng)絡(luò)欺騙行為。利用ARP協(xié)議的安全缺陷,攻擊者能夠?qū)π@網(wǎng)進(jìn)行各種攻擊,因此校園網(wǎng)面臨嚴(yán)重威脅。本文在分析ARP協(xié)議工作原理和攻擊方式的基礎(chǔ)上,詳細(xì)討論了幾種基于ARP協(xié)議的校園網(wǎng)防御策略,以期為校園網(wǎng)的安全建設(shè)提供參考。
校園網(wǎng)是為學(xué)校師生提供教學(xué)、科研等服務(wù)的網(wǎng)絡(luò)。校園網(wǎng)的安全直接影響到師生的工作和生活。基于ARP的攻擊是校園網(wǎng)中一種危害較大、技術(shù)較簡(jiǎn)單的攻擊方式。本文研究了基于ARP欺騙的校園網(wǎng)攻擊與防御方法,希望能給廣大的師生一個(gè)提醒,防止自己的計(jì)算機(jī)系統(tǒng)受到攻擊。
ARP(地址解析協(xié)議)是一種將IP地址轉(zhuǎn)化成物理地址(MAC地址)的協(xié)議。在局域網(wǎng)中,如果一臺(tái)主機(jī)想與另一臺(tái)主機(jī)通信,它必須知道目標(biāo)主機(jī)的MAC地址。顯然,在雙方通信之前,發(fā)送方無法知道目標(biāo)主機(jī)的MAC地址,其獲取是通過地址解析過程完成的。ARP協(xié)議的基本功能是通過目標(biāo)主機(jī)的IP地址查詢目標(biāo)主機(jī)的MAC地址,以保證通信的順利進(jìn)行。
當(dāng)兩臺(tái)計(jì)算機(jī)相互通信時(shí),通常需要首先對(duì)它們進(jìn)行身份認(rèn)證。身份認(rèn)證是一個(gè)使用網(wǎng)絡(luò)上的計(jì)算機(jī)相互識(shí)別的過程。認(rèn)證過程結(jié)束后,獲準(zhǔn)相互通信的計(jì)算機(jī)將建立相互信任的關(guān)系。欺騙本質(zhì)上是一種偽裝成他人身份并通過計(jì)算機(jī)身份認(rèn)證騙取計(jì)算機(jī)信任的攻擊。針對(duì)認(rèn)證機(jī)制的缺陷,攻擊者將自己偽裝成可信方,與受害者進(jìn)行通信,最終竊取信息或進(jìn)行進(jìn)一步攻擊。
ARP欺騙指的是利用ARP協(xié)議中的缺陷將自己偽裝成“中間人”。其原理簡(jiǎn)單,易于實(shí)現(xiàn)。目前,它被廣泛使用。攻擊者通常使用這種攻擊方法來監(jiān)視數(shù)據(jù)信息并獲取局域網(wǎng)中的信息消息。ARP欺騙不會(huì)使網(wǎng)絡(luò)無法正常通信,而是通過冒充網(wǎng)關(guān)或其他主機(jī),使數(shù)據(jù)通過攻擊主機(jī)轉(zhuǎn)發(fā)到網(wǎng)關(guān)或主機(jī),從而得到機(jī)密信息。
假設(shè)局域網(wǎng)內(nèi)有主機(jī)A、主機(jī)B和網(wǎng)關(guān)C。主機(jī)A為Kali攻擊機(jī),IP地址為192.168.72.138;主機(jī)B為被攻擊主機(jī),IP地址為192.168.72.130;網(wǎng)關(guān)C的IP地址為192.168.72.2。
在主機(jī)B命令提示符輸入arp –a,得知此時(shí)網(wǎng)關(guān)C(192.168.72.2)對(duì)應(yīng)的MAC地址為00-50-56-f8-d5-d0,如圖1所示。
圖1 攻擊前被攻擊主機(jī)ARP緩存表
在主機(jī)A的Kali終端中,輸入命令“cat /proc/sys/net/ipv4/ip_forward”查看路由轉(zhuǎn)發(fā)功能是否開啟,如果返回“0”,則輸入命令“echo 1 >/proc/sys/net/ipv4/ip_forward”開啟路由轉(zhuǎn)發(fā)功能(該命令為臨時(shí)命令,重啟系統(tǒng)后恢復(fù)為0)。
系統(tǒng)默認(rèn)設(shè)置為0,若想讓目標(biāo)機(jī)斷網(wǎng)就要設(shè)置為0,想抓取數(shù)據(jù)就要設(shè)置為1。
把被欺騙的主機(jī)加入Target1,網(wǎng)關(guān)加入Target2,如圖2所示。
圖2 攻擊主機(jī)操作ettercap界面
圖3 受到攻擊后被攻擊主機(jī)ARP緩存表
這樣,主機(jī)B(正常工作的主機(jī))發(fā)送到網(wǎng)關(guān)C的數(shù)據(jù)將被發(fā)送到攻擊者的主機(jī)A,網(wǎng)關(guān)C發(fā)送到主機(jī)B的數(shù)據(jù)也將被發(fā)送到主機(jī)A。因此,攻擊者A成為主機(jī)B與C之間的“中間人”,攻擊者可以破壞或獲取信息。
這個(gè)是流傳最廣的方法,主機(jī)B用管理員身份在命令提示符下執(zhí)行arp -s 192.168.72.2 00-50-56-f8-d5-d0。在Windows Vista 以上系統(tǒng)中,出現(xiàn)提示:ARP 項(xiàng)添加失敗: 拒絕訪問。鑒于目前系統(tǒng)大部分為WIN7和WIN10,因此方法不可行。
1.主機(jī)B在命令提示符下輸入netsh i i show in ,查看本地網(wǎng)卡對(duì)應(yīng)的"Idx"值為4,如圖4所示。
圖4 netsh命令查看網(wǎng)卡Idx值
2.主機(jī)B用管理員身份在命令提示符下執(zhí)行netsh -c"i i" add ne 4 192.168.72.2 00-50-56-f8-d5-d0,此命令默認(rèn)是永久生效,即使重啟系統(tǒng)。
3.主機(jī)A用ettercap攻擊,在主機(jī)B中再查看ARP緩存表,MAC地址沒有被替換,如圖5所示,因此該方法可行。
圖5 netsh綁定IP和MAC后受到攻擊時(shí)被攻擊主機(jī)ARP緩存表
在主機(jī)B安裝360安全衛(wèi)士等防御工具。打開360安全衛(wèi)士,點(diǎn)擊功能大全,點(diǎn)擊左側(cè)“網(wǎng)絡(luò)”選項(xiàng),右側(cè)選擇“流量防火墻”,點(diǎn)擊“局域網(wǎng)防護(hù)”,點(diǎn)擊“立即開啟”,如圖6所示。
圖6 360安全衛(wèi)士開啟局域網(wǎng)防護(hù)
受到攻擊后,出現(xiàn)彈窗提醒,如圖7所示。
圖7 360安全衛(wèi)士受到攻擊時(shí)彈窗提醒
在主機(jī)B中查看ARP緩存表,MAC地址沒有被替換,還是和圖5一樣,因此該方法可行。
總之,校園網(wǎng)的安全性非常重要。校園網(wǎng)作為一個(gè)大型局域網(wǎng),非常容易受到ARP攻擊。本文采用的ARP欺騙防御方法對(duì)校園網(wǎng)建設(shè)具有一定的應(yīng)用價(jià)值。