在介紹ARP斷網(wǎng)攻擊之前,我們先來(lái)了解一些基本術(shù)語(yǔ)。
基本術(shù)語(yǔ)
ARP
英文全稱為Address Resolution Protocol,即地址解析協(xié)議,是根據(jù)IP地址獲取mac地址的一個(gè)TCP/IP協(xié)議。在一個(gè)局域網(wǎng)環(huán)境下,我們請(qǐng)求互聯(lián)網(wǎng)都是通過(guò)網(wǎng)關(guān)幫我們進(jìn)行轉(zhuǎn)發(fā)的,而接收互聯(lián)網(wǎng)消息也是通過(guò)網(wǎng)關(guān)轉(zhuǎn)發(fā)給我們。
ARP欺騙
網(wǎng)絡(luò)協(xié)議共分七層:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層、應(yīng)用層。
在網(wǎng)絡(luò)協(xié)議中,IP地址通常的MAC地址相對(duì)應(yīng),一個(gè)IP地址對(duì)應(yīng)一個(gè)MAC地址。我們?cè)O(shè)置的默認(rèn)網(wǎng)關(guān)地址術(shù)語(yǔ)第三層即網(wǎng)絡(luò)層,它是通過(guò)IP地址尋址的,但是ARP屬于第二層即數(shù)據(jù)鏈路層,在這一層沒(méi)有IP協(xié)議,因此它是通過(guò)MAC地址進(jìn)行尋址的,前面我們提到ARP通過(guò)IP地址獲取MAC地址,如果我們改變了網(wǎng)關(guān)IP地址對(duì)應(yīng)的MAC地址,就能達(dá)到ARP欺騙的目的。因?yàn)樗ㄟ^(guò)IP地址獲得的不是原來(lái)網(wǎng)關(guān)的MAC地址,而是我們攻擊機(jī)的MAC地址。也就是說(shuō)ARP會(huì)誤認(rèn)為我們攻擊機(jī)才是真正的網(wǎng)關(guān),這是就會(huì)將請(qǐng)求發(fā)送到我們攻擊機(jī)。如果我們不做任何響應(yīng),目標(biāo)主機(jī)就呈現(xiàn)出了斷網(wǎng)的假象(注意:它不是真正意義上的斷網(wǎng),而是我們不返回任何數(shù)據(jù)給目標(biāo)主機(jī)造成的假象)。我們還可以攔截到請(qǐng)求,修改數(shù)據(jù)并發(fā)送到互聯(lián)網(wǎng),通過(guò)將互聯(lián)網(wǎng)響應(yīng)的數(shù)據(jù)修改后返回給目標(biāo)主機(jī)。
網(wǎng)關(guān)會(huì)定時(shí)向局域網(wǎng)廣播自身的IP地址和MAC地址,因此在進(jìn)行ARP欺騙時(shí),也要定時(shí)進(jìn)行,以達(dá)到持續(xù)欺騙的目的。
ARP斷網(wǎng)攻擊
說(shuō)了這么多,接下來(lái)開(kāi)始真正的ARP斷網(wǎng)攻擊。
所需工具是Kali linux,它是一款專門(mén)為網(wǎng)絡(luò)安全人員準(zhǔn)備的基于Linux的操作系統(tǒng),該系統(tǒng)涵蓋了絕大多數(shù)滲透測(cè)試工具,其界面如下圖所示。
該系統(tǒng)下載地址為:https://www.kali.org/downloads/
建議讀者下載VMWare的虛擬機(jī)版本。
進(jìn)行ARP攻擊非常簡(jiǎn)單,Kali Linux自帶攻擊工具,輸入下述命令即可:
arpspoof -i eth0 -t 10.205.29.73 10.205.29.126
如圖所示:
這時(shí),目標(biāo)主機(jī)將無(wú)法訪問(wèn)互聯(lián)網(wǎng)。按住Ctrl-C就能停止攻擊。
上述命令中,eth0為網(wǎng)絡(luò)名,讀者可通過(guò)ifconfig查看。第一個(gè)IP地址為目標(biāo)主機(jī)的IP地址,第二個(gè)IP地址為網(wǎng)關(guān)的IP地址,同樣可以通過(guò)ifconfig查看。
APR斷網(wǎng)攻擊之防御
俗話說(shuō),上有政策,下有對(duì)策。有攻擊就有防御,本小節(jié)我們就來(lái)探討如何防御ARP斷網(wǎng)攻擊。
我們知道,ARP通過(guò)MAC地址尋址,修改MAC地址達(dá)到欺騙目的。那么,我們將ARP設(shè)置為靜態(tài)地址,不就能保證其尋址始終是正確的MAC地址嗎?
添加靜態(tài)ARP也很簡(jiǎn)單,首先查看網(wǎng)絡(luò)連接信息,如圖所示。
可以看到當(dāng)前主機(jī)網(wǎng)絡(luò)名為以太網(wǎng)3。
然后輸入命令netsh -c i i show in,如圖所示。
可以看到以太網(wǎng)3 對(duì)應(yīng)的Idx為33。
再次輸入命令arp -a查看網(wǎng)關(guān)對(duì)應(yīng)的MAC地址,如圖所示。
筆者網(wǎng)關(guān)為10.205.29.126,因此對(duì)應(yīng)的MAC地址為:44-82-e5-e0-50-0b。
最后輸入命令:netsh -c i i add neighbors 33 10.205.29.126 44-82-e5-e0-50-0b,即可添加靜態(tài)ARP。
這時(shí)用Kali Linux進(jìn)行ARP斷網(wǎng)攻擊將無(wú)法生效。