ARP欺騙原理,千萬不要隨意連接免費的WIFI!!!
一、ARP攻擊原理分析
1、什么是ARP協議?
ARP協議是“Address Resolution Protocol”(地址解析協議)的縮寫。在局域網中,網絡中實際傳輸的是“幀”,幀里面是有目標主機的MAC地址的。在以太網中,一個主機要和另一個主機進行直接通信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議(ARP協議)獲得的。所謂“地址解析”就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。
此處涉及到OSI七層模型,ARP協議就是工作在OSI七層模型中的第二層數據鏈路層,它在這一層不是采用IP來通信的,而是采用MAC地址來通信的,是以 幀 來傳輸的,
OSI七層模型:
- 物理層
- 數據鏈路層(ARP協議)
- 網絡層(網絡層才是使用IP地址來通信的)
- 傳輸層
- 會話層
- 表示層
- 應用層
2、ARP欺騙的危害
ARP欺騙可以造成內部網絡的混亂,讓某些被欺騙的計算機無法正常訪問內外網,讓網關無法和客戶端正常通信,也可以截取全網絡數據包等。實際上他的危害還不僅僅如此,一般來說IP地址的沖突我們可以通過多種方法和手段來避免,而ARP協議工作在更低層,隱蔽性更高,很難發現。系統并不會判斷ARP緩存的正確與否,無法像IP地址沖突那樣給出提示。
像網絡執法官、聚生網管等軟件可以控制整個內網的流量,可以限制網速、帶寬等,它們都是利用ARP欺騙的方式來進行操作的。做的好的ARP欺騙工具發送數據包是比較穩定的,去竊取你的賬戶密碼等敏感信息時都很難被發現。
上述ARP欺騙是常見的ARP欺騙,常見危害,還有其他危害,
例如:通過ARP在整個內網掛馬插入惡意代碼,在內網主機訪問web站點的時候針對這些Internet站點全部掛馬;或者是針對無線網進行釣魚,很多人在火車站、飛機場等公共地方使用免費WiFi,當去連接這些WIFI打開釣魚的web站點的時候就會下載木馬到手機中竊取個人信息、刷廣告鏈接等。像以前有很便宜的路由器,使用之后經常跳出廣告,這些都是利用ARP欺騙來操作的。
3、ARP欺騙的原理
ARP欺騙的原理就是:把自己的MAC地址偽造成網關的地址來欺騙其它的主機。
圖片
實施中間人攻擊時,攻擊者常考慮的方式是ARP欺騙或DNS欺騙等。下面以常見ARP欺騙為例來介紹一下ARP欺騙原理。
一般情況下,ARP欺騙并不是使網絡無法正常通信,而是通過冒充網關或其他主機使得到達網關或主機的數據流通過攻擊主機進行轉發。通過轉發流量可以對流量進行控制和查看,從而控制流量或得到機密信息。ARP欺騙主機的流程如下圖所示:
圖片
如上圖所示,當主機A和主機B之間通信時,如果主機A在自己的ARP緩存表中沒有找到主機B的MAC地址時(如果找到是不會廣播的),主機A將會向整個局域網中所有計算機發送ARP廣播,廣播后整個局域網中的(即在同一個交換機下面的)計算機都收到了該廣播數據包。這時候,主機C響應主機A,欺騙說我就是主機B,我的MAC地址是XX-XX-XX-XX-XX-XX,主機A收到地址后就會重新更新自己的緩沖表。當主機A再次與主機B通信時,該數據將被轉發到攻擊主機(主機C)上,則該數據流會經過主機C轉發到主機B。
當然,在上述過程中,在最后主機C也可能不轉發數據給主機B,那么這種情況就屬于ARP欺騙中的單向ARP欺騙。單向ARP欺騙一般是不會影響到主機B的,但是雙向的ARP欺騙是會影響到主機B的。
ARP欺騙此處在老師的講解中分為三種:
1)單向ARP欺騙(我的理解是單向ARP欺騙不轉發流量給原有的目標主機)
2)雙向ARP欺騙(我的理解是雙向ARP欺騙會轉發流量給原有的目標主機)
3)單向ARP欺騙和雙向ARP欺騙中也是分兩種:欺騙網關 和 欺騙主機
什么是雙向ARP欺騙?
答:接著以上述示例為例,如果A要跟B正常通訊,C向A說我是才B。C向B說我才是A,那么這樣的情況下會把A跟B的ARP緩存表全部修改了。以后通訊過程就是 A把數據發送給C,C再發送給B,B把數據發送C,B再把數據給A。
什么是ARP欺騙網關?
答:上面講解的都是單雙向ARP欺騙主機,是欺騙內網主機自己的攻擊機才是目標主機,而ARP欺騙網關是欺騙內網主機自己的攻擊機才是網關。攻擊者首先是通過一臺內網主機發送廣播包給當前交換機下的所有的內網主機和網關,告訴它們我是網關,此時,它們分別更新其ARP緩存表,會將攻擊者的MAC地址當作網關,當內網的其他主機之間進行通信的時候就會先經過認為是網關的攻擊者的主機,它們之間數據都被攻擊主機截獲。
實現ARP欺騙攻擊的必備條件:
1)首先攻擊者需要獲取到一臺內網主機。如果是通過外網主機發起ARP欺騙攻擊是不行的,因為外網連接內網是通過網絡層的IP來通信的,但是ARP工作在數據鏈路層。因此,攻擊者需要獲取到一臺內網主機才能發起ARP欺騙攻擊。
2)對方的內網沒有采用ARP防護。目前,其實大部分企業都沒有采用ARP防護。
ARP防護方法介紹:
方法1:在路由器和交換機上做配置,去將端口、IP地址、MAC地址、網關全部綁死,但是這種方法有一個缺點:如果公司很大,那么當有人的電腦的IP地址一變,就需要再去路由器和交換機上改這些配置,這樣太麻煩,會累死人...因此,一般情況下都是針對幾個服務器去綁定以下,個人服務器不會去綁定。
方法2:主機自身綁定自己的IP和MAC地址,再將網關的IP和MAC地址綁定好。但是這種方法對于不懂電腦的小白用戶顯得麻煩,他們不會去綁定的..且這種方法的缺點是會讓電腦變成靜態的IP地址,但是現在很多電腦都是DHCP自動獲取IP的。
補充1:因為企業ARP防護比較困難,于是衍生出安全軟件自身的ARP防火墻功能,但是默認情況下,像360安全衛士是不啟用ARP防火墻的,需要手動開啟。
補充2:使用命令 arp -a查看arp緩存表
二、ARP攻擊防范
防范策略:
1、不要隨意登錄免費的WIFI,沒人知道免費的WIFI是不是有惡意的攻擊者在搞鬼;
2、使用ARP綁定,避免被ARP欺騙;
手工靜態綁定IP和MAC地址的方法示例:編寫一個批處理文件命名為xx.bat,將批處理文件放到“Windows→開始→程序→啟動”中,當每次主機重啟時都會執行該啟動項,如果需要立即生效,請直接運行此文件或者是在命令行執行。批處理文件內容如下:
解釋:
①沒綁定之前,ARP表是dynamic動態的,而綁定后就變成static靜態了,使用arp -a查看
②ip與MAC地址根據具體情況修改,要先使用config查看。
3、開啟電腦管家或者360安全衛士的ARP防火墻或金山貝殼或彩影ARP防火墻;
4、使用https協議或者其他有保密協議的連接訪問外網,避免被坑。
企業解決ARP攻擊方案參考文檔:
1.https://wenku.baidu.com/view/89772efb7e192279168884868762caaedd33bade.html
解釋:華為的解決方案就是買設備,添加認證服務器
2.https://wenku.baidu.com/view/55efed86f71fb7360b4c2e3f5727a5e9856a27cd.html
解釋:
①神州數碼的解決方案是在交換路由上劃分WLAN來解決內網的ARP廣播風暴的問題。劃分WALN需要參照文檔敲命令去交換機中執行,但是在企業里面這樣做會把人累死,并且,可能還會出現別人需要換網卡、更改IP地址等各種情況,這種方法是不現實的!因此會選擇采用DHCP Snooping和Bing Arp的方式去在內網存在DHCP服務器的情況下去結合交換機路由去實現自動化的動態綁定。
②普通的交換機是沒用防止網段掃描這個功能的,但是企業的交換機是有的。
③注意:不同廠商的交換機路由設備中使用的命令可能是不一樣的,但是方法是一樣的,原理是一樣的。
補充:
①很多人說ARP欺騙攻擊就是中間人攻擊,這種說法不完全正確,應該是中間人攻擊涵蓋了ARP攻擊,因為像DNS欺騙、DHCP欺騙等等也屬于中間人攻擊。
②就算使用上述四條防范策略也是不能完全防范ARP欺騙的,只能說解決個人電腦60%的ARP攻擊,目前能夠徹底解決ARP欺騙的方法就是:在交換路由設備上劃分WLAN(指局域網),在WLAN里面綁定網關,然后綁定主機的IP和MAC地址,從而隔離ARP廣播。(不太容易實現,會累死管理人員)
③通過實驗測試安全工具的防御效果證明:安全工具的ARP防火墻是不靠譜的,不能完全防御(當然也不是完全沒用,是能夠解決部分ARP攻擊的,但是依然不靠譜...)
本文轉載自微信公眾號「 快樂程序猿」,可以通過以下二維碼關注。轉載本文請聯系快樂程序猿公眾號。