談Arp反欺騙策略防范惡意攻擊
發(fā)表時(shí)間:2023-07-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]摘要:ARP攻擊泛濫給眾多局域網(wǎng)用戶帶來巨大的安全隱患和不便, 由于惡意ARP病毒的肆意攻擊, 您的網(wǎng)絡(luò)可能會(huì)時(shí)斷時(shí)通, 個(gè)人帳號(hào)信息可能在毫不知情的情況就被攻擊者盜取惡意攻擊者而在局域網(wǎng)中任意構(gòu)造...
摘要:ARP攻擊泛濫給眾多局域網(wǎng)用戶帶來巨大的安全隱患和不便, 由于惡意ARP病毒的肆意攻擊, 您的網(wǎng)絡(luò)可能會(huì)時(shí)斷時(shí)通, 個(gè)人帳號(hào)信息可能在毫不知情的情況就被攻擊者盜取惡意攻擊者而在局域網(wǎng)中任意構(gòu)造一個(gè)ARP包或者傳播ARP病毒, 這樣導(dǎo)致局域網(wǎng)ARP。 。 。 。
近來與Arp相關(guān)惡意軟件越來越猖獗, 受害者的也不少, 國(guó)內(nèi)的各大殺毒廠商也紛紛推出Arp防火墻, 這篇文章不是科普, 主要是思路, 更想起到拋磚引玉的作用。 此外, 末學(xué)接觸并熟悉Arp協(xié)議到寫出Arp欺騙和反欺騙的test code, 前前后后也不過一個(gè)星期多一點(diǎn)的時(shí)間。 經(jīng)驗(yàn)有限, 疏漏之處, 再所難免, 各位見諒。
Arp協(xié)議和Arp欺騙這里就不做介紹了, 網(wǎng)絡(luò)這方面的文章比比皆是。
為了便于理解, 下面構(gòu)造一些名詞:
受騙主機(jī):假如局域網(wǎng)內(nèi), 有網(wǎng)關(guān), 發(fā)起欺騙的主機(jī)(以下簡(jiǎn)稱欺騙主機(jī)), 受騙主機(jī)。
雙向欺騙:欺騙主機(jī)使得網(wǎng)關(guān)認(rèn)為欺騙主機(jī)是受騙主機(jī), 同時(shí)讓受騙主機(jī)認(rèn)為欺騙主機(jī)是網(wǎng)關(guān);
單向欺騙網(wǎng)關(guān):欺騙主機(jī)只使網(wǎng)關(guān)認(rèn)為欺騙主機(jī)是受騙主機(jī);
單向欺騙目標(biāo)主機(jī):欺騙主機(jī)只使受騙主機(jī)認(rèn)為它是網(wǎng)關(guān);
Arp除了能sniffer之外, 現(xiàn)在比較流行的做法就是利用Arp進(jìn)行HTTP掛馬的情況, 所以下面考慮的影響基本以這個(gè)角度的方面來衡量。
由于環(huán)境不同, 繼續(xù)往下分, 一個(gè)機(jī)房被Arp欺騙的情況, 機(jī)房一般以服務(wù)器為主, 對(duì)外發(fā)的數(shù)據(jù)多以http應(yīng)答包為主, 此時(shí)單向欺騙目標(biāo)主機(jī)的危害比較大。 另外一個(gè)普通的公司、家庭及網(wǎng)吧之類的局域網(wǎng)環(huán)境, 對(duì)外發(fā)的數(shù)據(jù)多以http請(qǐng)求為主, 接收的數(shù)據(jù)多以http應(yīng)答包為主, 此時(shí)單向欺騙網(wǎng)關(guān)危害比較大。
還有的就是和網(wǎng)關(guān)有關(guān)了, 網(wǎng)關(guān)簡(jiǎn)單的先分兩種:
1、支持IP和MAC綁定的;
2、不支持IP和MAC綁定。
支持IP和MAC綁定的網(wǎng)關(guān)都好辦, 所以這里就不討論這種情況了, 主要討論不支持IP和MAC綁定的情況:
下面舉的例子都是Arp雙向欺騙已經(jīng)存在的情況, 裝上Arp FW后FW將處理以下一些情況。
第一種情況:普通公司, 家庭及網(wǎng)吧之類局域網(wǎng)環(huán)境下, 網(wǎng)關(guān)不支持IP和MAC綁定。
先說欺騙策略, 說到這里不得不提Arpspoof(以下簡(jiǎn)稱AS), 最近流行這個(gè)工具, 并且開源, 好分析, 也確實(shí)寫的不錯(cuò)。 我手頭拿到的3.1版本的源代碼。 若不修改AS代碼, 在當(dāng)前情況下, 并處在雙向欺騙時(shí), 只要把配置文件稍微改改, 就能夠?qū)崿F(xiàn)利用ARP掛馬。 但如果受騙主機(jī)綁定了正確網(wǎng)關(guān)的MAC, 就不靈了。 但如果有人修改了AS代碼, 使其能支持gzip解碼, 并且把本應(yīng)發(fā)給受害主機(jī)的包, 重組并解碼然后再發(fā)給受害主機(jī), 就又能欺騙了。
然后再回來看看現(xiàn)在國(guó)內(nèi)的Arp FW。 比較弱的, FW一進(jìn)去, 連正確的網(wǎng)關(guān)MAC都檢測(cè)不出來, 需要手動(dòng)填。 好點(diǎn)的能自動(dòng)檢測(cè)正確的網(wǎng)關(guān)的MAC, 一般步驟是:
1.獲取當(dāng)前網(wǎng)關(guān)MAC(如利用sendARP函數(shù)等等);
2.利用網(wǎng)關(guān)IP發(fā)一個(gè)廣播包, 獲取網(wǎng)關(guān)的MAC;
3.抓包對(duì)比, 如果第一步和第二步獲得網(wǎng)關(guān)的MAC相同, 則認(rèn)為網(wǎng)關(guān)MAC不是偽造的。 如過第二步獲得兩個(gè)Arp reply, 則把這兩個(gè)包與第一步的MAC對(duì)比, 相同的說明是偽造的。 如果第二步只獲得一個(gè)Arp reply, 以第二步獲得MAC為準(zhǔn)。
檢測(cè)到正確網(wǎng)關(guān)MAC后, 就靜態(tài)的綁定網(wǎng)關(guān)IP和MAC, 防止別人偽造網(wǎng)關(guān)。
基本上都這么搞, 這個(gè)思路是有缺陷的。 沒錯(cuò), 是可以防得住現(xiàn)在的AS。 因?yàn)锳S發(fā)Arp欺騙包間隔是3s, 如果不改源代碼的話。 在這個(gè)的時(shí)間間隔下, 這三步是有能力獲得正確的網(wǎng)關(guān), 但是如果把間隔設(shè)短, 甚至沒有間隔發(fā)Arp欺騙包的話, 現(xiàn)在國(guó)內(nèi)市面上的Arp FW全都得倒下。
先說為什么間隔3s的話, 能檢測(cè)到正確網(wǎng)關(guān)MAC, 在執(zhí)行第二步時(shí), 在發(fā)廣播包之前必須先發(fā)一個(gè)Arp reply給網(wǎng)關(guān), 告訴網(wǎng)關(guān)自己正確的MAC, 然后網(wǎng)關(guān)才能把它本身的MAC發(fā)給受騙主機(jī), 這個(gè)過程必須在3s內(nèi)完成。 因此如果AS的spoof不設(shè)間隔的話。 那么網(wǎng)關(guān)在接收了你的IP和MAC之后, 發(fā)起欺騙的主機(jī)馬上就去網(wǎng)關(guān)那把它改回來, 這樣受騙主機(jī)雖然發(fā)了廣播包, 但是網(wǎng)關(guān)根據(jù)MAC, 會(huì)把它本身的MAC發(fā)給欺騙主機(jī)而不是發(fā)給受騙主機(jī), 這樣受騙主機(jī)依然得不到正確網(wǎng)關(guān)的MAC。 另外, 哪怕受騙主機(jī)得到了正確的網(wǎng)關(guān)MAC, 也只能保證自己對(duì)外發(fā)包不受欺騙, 但是收到的包還是會(huì)被欺騙的。 當(dāng)然FW可以和AS玩拉鋸, 二者都爭(zhēng)先恐后的去網(wǎng)關(guān)那邊刷自己的MAC。 但是這樣容易導(dǎo)致丟包。
其實(shí)這種狀況還是有一個(gè)相對(duì)的解決方案, 就是徹底的改頭換面掉。 同時(shí)改自己的IP和MAC, 不論FW用什么添加ndis虛擬網(wǎng)卡, 或者通過代碼直接就把當(dāng)前IP和MAC替掉, 獲得正確網(wǎng)關(guān)MAC才有保證, 否則連正確網(wǎng)關(guān)MAC都拿不到。 其它的就更不用說了, 至于什么手動(dòng)填網(wǎng)關(guān)MAC之類的, 就先不討論了。
說這是一個(gè)相對(duì)的解決方案, 是因?yàn)榍疤崾蔷钟蚓W(wǎng)內(nèi)得有富余的IP資源。 另外它還有一些弊端。 就是如果有些機(jī)器關(guān)機(jī)的話, 而受害者替換了它的IP之后, 以后將造成沖突。 當(dāng)然也是有解決方案, 比較多, 這里就先不討論了。
因此, 先要確定哪些IP是未被使用的, 可以廣播Arp request局域網(wǎng)各個(gè)IP的MAC, 如果有人應(yīng)答的話說明這個(gè)IP被用, 沒人應(yīng)答的話, 就是富余的IP了。
只要把自己的IP和MAC修改后, 迅速刷新網(wǎng)關(guān), 獲得正確網(wǎng)關(guān)的MAC之后, 可以詢問用戶是否改回來, 改回來, 因?yàn)闊o法避免丟包, 網(wǎng)速也容易受影響。
第二種關(guān)于機(jī)房Arp欺騙的情況這里就不多說, 參考上面文字。 有幾點(diǎn)要說明的是, 機(jī)房里, 外網(wǎng)IP和內(nèi)網(wǎng)IP是映射的, 同時(shí)改IP和MAC是會(huì)導(dǎo)致斷網(wǎng)的, 有一定危險(xiǎn)性。 另外獲得正確網(wǎng)關(guān)的MAC后, IP和MAC必須改回來。 也就是說在機(jī)房這種情況下, 丟包是免不了的。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。