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