0x1 簡(jiǎn)介
網(wǎng)絡(luò)欺騙攻擊作為一種非常專(zhuān)業(yè)化的攻擊手段,給網(wǎng)絡(luò)安全管理者,帶來(lái)嚴(yán)峻的考驗(yàn)。網(wǎng)絡(luò)安全的戰(zhàn)場(chǎng)已經(jīng)從互聯(lián)網(wǎng)蔓延到用戶(hù)內(nèi)部的網(wǎng)絡(luò),特別是局域網(wǎng)。目前利用ARP欺騙的木馬病毒在局域網(wǎng)中廣泛傳播,導(dǎo)致網(wǎng)絡(luò)隨機(jī)掉線甚至整體癱瘓,通訊被竊聽(tīng),信息被篡改等嚴(yán)重后果。
0x2 ARP協(xié)議概述
ARP協(xié)議(address resolution protocol)地址解析協(xié)議
一臺(tái)主機(jī)和另一臺(tái)主機(jī)通信,要知道目標(biāo)的IP地址,但是在局域網(wǎng)中傳輸數(shù)據(jù)的網(wǎng)卡卻不能直接識(shí)別IP地址,所以用ARP解析協(xié)議將IP地址解析成MAC地址。ARP協(xié)議的基本功能就是通過(guò)目標(biāo)設(shè)備的IP地址,來(lái)查詢(xún)目標(biāo)設(shè)備的mac地址。
在局域網(wǎng)的任意一臺(tái)主機(jī)中,都有一個(gè)ARP緩存表,里面保存本機(jī)已知的此局域網(wǎng)中各主機(jī)和路由器的IP地址和MAC地址的對(duì)照關(guān)系。ARP緩存表的生命周期是有時(shí)限的(一般不超過(guò)20分鐘)。
舉個(gè)例子:假設(shè)局域網(wǎng)中有四臺(tái)主機(jī)
主機(jī) |
IP地址 |
MAC地址 |
網(wǎng)關(guān) |
A |
192.168.0.2 |
Mac-a |
192.168.0.1 |
B |
192.168.0.3 |
Mac-b |
192.168.0.1 |
C |
192.168.0.4 |
Mac-c |
192.168.0.1 |
D |
192.168.0.5 |
Mac-d |
192.168.0.1 |
主機(jī)A想和主機(jī)B通信
主機(jī)A會(huì)先查詢(xún)自己的ARP緩存表里有沒(méi)有B的聯(lián)系方式,有的話,就將mac-b地址封裝到數(shù)據(jù)包外面,發(fā)送出去。沒(méi)有的話,A會(huì)向全網(wǎng)絡(luò)發(fā)送一個(gè)ARP廣播包,大聲詢(xún)問(wèn):我的IP地址是192.168.0.2,硬件地址是mac-a,我想知道IP地址是192.168.0.3的硬件地址是多少? 此時(shí),局域網(wǎng)內(nèi)所有主機(jī)都收到了,B收到后會(huì)單獨(dú)私密回應(yīng):我是192.168.0.3,我的硬件地址是mac-b,其他主機(jī)不會(huì)理A的此時(shí)A知道了B的信息,同時(shí)也會(huì)動(dòng)態(tài)的更新自身的緩存表
0x3 ARP協(xié)議的缺陷
ARP協(xié)議是建立在信任局域網(wǎng)內(nèi)所有節(jié)點(diǎn)的基礎(chǔ)上的,他的效率很高。但是不安全。它是無(wú)狀態(tài)的協(xié)議。他不會(huì)檢查自己是否發(fā)過(guò)請(qǐng)求包,也不知道自己是否發(fā)過(guò)請(qǐng)求包。他也不管是否合法的應(yīng)答,只要收到目標(biāo)mac地址是自己的ARP reply或者ARP廣播包(包括ARP reply和ARP request),都會(huì)接受并緩存。
0x4 ARP攻擊原理
ARP欺騙攻擊建立在局域網(wǎng)主機(jī)間相互信任的基礎(chǔ)上的當(dāng)A發(fā)廣播詢(xún)問(wèn):我想知道IP是192.168.0.3的硬件地址是多少?
此時(shí)B當(dāng)然會(huì)回話:我是IP192.168.0.3我的硬件地址是mac-b,可是此時(shí)IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。
所以A就會(huì)誤信192.168.0.3的硬件地址是mac-c,而且動(dòng)態(tài)更新緩存表這樣主機(jī)C就劫持了主機(jī)A發(fā)送給主機(jī)B的數(shù)據(jù),這就是ARP欺騙的過(guò)程。
假如C直接冒充網(wǎng)關(guān),此時(shí)主機(jī)C會(huì)不停的發(fā)送ARP欺騙廣播,大聲說(shuō):我的IP是192.168.0.1,我的硬件地址是mac-c,此時(shí)局域網(wǎng)內(nèi)所有主機(jī)都被欺騙,更改自己的緩存表,此時(shí)C將會(huì)監(jiān)聽(tīng)到整個(gè)局域網(wǎng)發(fā)送給互聯(lián)網(wǎng)的數(shù)據(jù)報(bào)。
0x5 ARP病毒攻擊癥狀
通常表現(xiàn):-打開(kāi)網(wǎng)頁(yè)速度非常慢,甚至打不開(kāi)
-提示IP地址沖突
-甚至導(dǎo)致校園網(wǎng)癱瘓斷網(wǎng)
-一般會(huì)綁定木馬病毒,竊取用戶(hù)賬號(hào)密碼
0x6 ARP病毒攻擊形式
從協(xié)議內(nèi)部分析
-假冒ARP reply包(單波或廣播),向單臺(tái)主機(jī)或多臺(tái)主機(jī)發(fā)送虛假的IP/MAC地址
-假冒ARP request包(單播或廣播),實(shí)際上是單播或廣播虛假的IP、MAC映射。
-假冒中間人,啟用包轉(zhuǎn)發(fā)向兩端主機(jī)發(fā)送假冒的ARP reply,由于ARP緩存的老化機(jī)制,有時(shí)還需要做周期性連續(xù)性欺騙。
2. 從影響網(wǎng)絡(luò)連接通暢的角度看
-對(duì)路由ARP表的欺騙
ARP病毒截獲網(wǎng)關(guān)數(shù)據(jù),讓路由器獲得錯(cuò)誤的內(nèi)網(wǎng)MAC地址,導(dǎo)致路由器把數(shù)據(jù)發(fā)送給錯(cuò)誤的mac,是內(nèi)網(wǎng)內(nèi)的主機(jī)斷網(wǎng)
-偽造內(nèi)網(wǎng)網(wǎng)關(guān)
ARP病毒通過(guò)冒充網(wǎng)關(guān),是內(nèi)網(wǎng)計(jì)算機(jī)發(fā)送的數(shù)據(jù)無(wú)法到達(dá)真正的路由器網(wǎng)關(guān),導(dǎo)致內(nèi)網(wǎng)計(jì)算機(jī)斷網(wǎng)
0x7 ARP欺騙攻擊監(jiān)測(cè)技術(shù)
1.手動(dòng)監(jiān)測(cè)
網(wǎng)絡(luò)管理員可以通過(guò)命令查看主機(jī)的ARP表或路由器的ARP表
也可以用Sniffer工具進(jìn)行抓包,查看可疑的
2.動(dòng)態(tài)監(jiān)測(cè)
- 被動(dòng)監(jiān)測(cè) (ARP watch,ARP Guard)
僅監(jiān)測(cè)網(wǎng)路中是否存在ARP欺騙,不主動(dòng)向外發(fā)送ARP報(bào)文
-主動(dòng)監(jiān)測(cè)(ARP防火墻)
能夠動(dòng)態(tài)的監(jiān)測(cè)局域網(wǎng)內(nèi)針對(duì)本主機(jī)和針對(duì)網(wǎng)關(guān)的ARP欺騙,但如果配置錯(cuò)誤,ARP防火墻會(huì)向局域網(wǎng)內(nèi)發(fā)送大量的ARP報(bào)文,造成ARP報(bào)文的廣播風(fēng)暴,影響網(wǎng)絡(luò)通信。
在這里推薦一款查看局域網(wǎng)Mac地址和主機(jī)IP匹配顯示的軟件:Nbtscan 很好用網(wǎng)上也有使用說(shuō)明,對(duì)于查找攻擊主機(jī)很犀利、
0x8 ARP欺騙攻擊的防御
-ARP雙向綁定
在pc端上 IP+mac 綁定
在網(wǎng)絡(luò)設(shè)備(交換路由)上 采用ip+mac+端口綁定
網(wǎng)關(guān)也進(jìn)行IP和mac的靜態(tài)綁定
-采用支持ARP過(guò)濾的防火墻
-建立DHCP服務(wù)器
ARP攻擊一般先攻擊網(wǎng)關(guān),將DHCP服務(wù)器建立在網(wǎng)關(guān)上
-劃分安全區(qū)域
ARP廣播包是不能跨子網(wǎng)或網(wǎng)段傳播的,網(wǎng)段可以隔離廣播包。VLAN就是一個(gè)邏輯廣播域,通過(guò)VLAN技術(shù)可以在局域網(wǎng)中創(chuàng)建多個(gè)子網(wǎng),就在局域網(wǎng)中隔離了廣播。??s小感染范圍。 但是,安全域劃分太細(xì)會(huì)使局域網(wǎng)的管理和資源共享不方便。
前幾天體育課認(rèn)識(shí)的一基友,遭ARP攻擊了,問(wèn)我怎么防,直接給我問(wèn)懵了,就看了看,對(duì)于個(gè)人來(lái)說(shuō),在局域網(wǎng)內(nèi)遭ARP攻擊,還能咋辦,除了裝ARP防火墻,用代理,我也沒(méi)轍。
不過(guò)最好的辦法就是用arp –a命令查看一下arp緩存表,看誰(shuí)在攻擊你,打電話給網(wǎng)管,讓網(wǎng)管滅了它。