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





















