生活在網(wǎng)絡(luò)時(shí)代里,我們的生活里多了黑客這樣一群神秘人物。傳說中他們放蕩不羈,崇尚自我并行事詭異,攪動(dòng)著整個(gè)網(wǎng)絡(luò)命脈,使其生機(jī)無限。然而現(xiàn)實(shí)中,他們超然的生活于我們周圍。假想在一間忙碌的Office中,每個(gè)員工在自己狹窄的工作空間中埋頭于自己手頭的事物;能聽到的聲音是手指在鍵盤揮舞的呵咔聲和此起彼伏的電話鈴,有誰有注意到那狹窄的個(gè)人空間里,思維的放任超乎尋常。飛快的手指間,各種指令和運(yùn)作的程序隊(duì)列般的游行著。表面上似乎一切都正常,然而,或許那里正進(jìn)行著激烈的電子對(duì)抗……。
SANS公布2001來自于內(nèi)部入侵攻擊雖然只占30%左右,然而產(chǎn)生的危害也最大,因此局域網(wǎng)絡(luò)的入侵和滲透更具有實(shí)足的硝煙氣息。利用二層鏈路上ARP協(xié)議漏洞而產(chǎn)生的各種攻擊方式無疑是局部網(wǎng)絡(luò)戰(zhàn)爭(zhēng)最精妙的特技。
一、 基礎(chǔ)知識(shí)預(yù)備
精巧程序的后面藏匿著簡(jiǎn)單的原理和聰穎的智慧。為了順利闡述ARP本身的協(xié)議漏洞以及后面將要闡述的各種ARP攻擊思維(同時(shí),我必須顧及那些初次接觸網(wǎng)絡(luò)的朋友,以致不挫傷他們對(duì)網(wǎng)絡(luò)攻擊防御的興趣),我們將粗淺的概覽ARP協(xié)議和相關(guān)的網(wǎng)絡(luò)鏈路層的一些概念。
ARP(Address Resolution Protocol)簡(jiǎn)稱地址解析協(xié)議,主要用于把以太網(wǎng)卡硬件地址和IP地址捆綁起來。當(dāng)主機(jī)之間發(fā)生通信要求,則ARP協(xié)議通過廣播請(qǐng)求/單播回應(yīng)方式建立主機(jī)間通信連接。大家熟悉的IP地址采用32位長(zhǎng)度,在以太局域網(wǎng)中網(wǎng)卡設(shè)備地址是48位長(zhǎng)度(也稱為MAC地址)。一張稱為ARP緩存的表單用于維護(hù)MAC地址和其所對(duì)應(yīng)的IP地址的相關(guān)性。ARP則提供用于在網(wǎng)絡(luò)設(shè)備間進(jìn)行地址轉(zhuǎn)換和創(chuàng)造MAC-IP相關(guān)性的協(xié)議規(guī)則。
網(wǎng)絡(luò)鏈路層的建立通信關(guān)系的準(zhǔn)則:網(wǎng)絡(luò)主機(jī)A欲與網(wǎng)絡(luò)主機(jī)C建立通信連接,主機(jī)A在網(wǎng)絡(luò)中廣播ARP的請(qǐng)求數(shù)據(jù)包(REQUEST),如圖一:
主機(jī)A欲與IP地址為192.168.1.3的目標(biāo)主機(jī)通信,則發(fā)送的廣播的數(shù)據(jù)包中包含本身的IP地址、網(wǎng)卡的MAC地址、目標(biāo)主機(jī)的IP地址以及廣播MAC地址(FF-FF-FF-FF-FF-FF)。
(注:Mac地址是媒體接入層上使用的地址,直觀的概念就是網(wǎng)卡的物理地址,Mac地址一般都采用6字節(jié)48bit。)
主機(jī)C接收到ARP的REQUEST廣播包,發(fā)現(xiàn)目標(biāo)地址中IP地址與自身IP地址一致,接收該數(shù)據(jù)請(qǐng)求,并作出響應(yīng)。
從圖二中,可以看到主機(jī)C發(fā)現(xiàn)主A的ARP請(qǐng)求符合要求,在自身ARP緩存表中添加主機(jī)A的IP-MAC綁定映像記錄,并發(fā)送單播ARP回應(yīng)數(shù)據(jù)包(RELAY)給主機(jī)A。主機(jī)A接收到回應(yīng)數(shù)據(jù)包,更新其ARP緩存表記錄,綁定主機(jī)C的IP-MAC映像記錄。至此,二層通信關(guān)系建立完畢。而網(wǎng)絡(luò)中其他主機(jī)則忽略此請(qǐng)求包。
這種關(guān)系可以類似于情景會(huì)話↓
主機(jī)A:嗨,誰主機(jī)的IP地址是192.168.1.3?
主機(jī)B:嗨,我主機(jī)地址是192.168.1.3,我的門牌號(hào)是00-50-56-C0-08,記得來找我啊。
其他主機(jī):NO,這不是我的IP地址。
從原理分析發(fā)覺ARP本身是無類協(xié)議,本身不能攜帶任何狀態(tài)信息。因此ARP協(xié)議不能進(jìn)行任何認(rèn)證,這樣就導(dǎo)致協(xié)議本身具有安全威脅性。造成這種安全威脅的歷史原因在于:早先的網(wǎng)絡(luò)創(chuàng)造者們是在一個(gè)平和自由的環(huán)境中設(shè)計(jì)ARP協(xié)議,因而安全問題在當(dāng)時(shí)幾乎是瑣碎的事情。然而網(wǎng)絡(luò)集聚膨脹,破壞性攻擊和入侵事件的增加,使得ARP協(xié)議脆弱不堪。
了解ARP工作原理之后,可以得出:大部分網(wǎng)絡(luò)系統(tǒng)中的ARP緩存列表根據(jù)所接收的ARP REPLAY數(shù)據(jù)包動(dòng)態(tài)增加或更新緩存表中IP-MAC映射記錄。根據(jù)這樣一條簡(jiǎn)單規(guī)則,我們將看到各種絢麗的入侵和攻擊手法。