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