您的位置:首頁(yè) > 菜鳥(niǎo)學(xué)院 > Arp欺騙原理及Android環(huán)境下的檢測(cè)方法
測(cè)試環(huán)境說(shuō)明
網(wǎng)關(guān): IP:172.20.150.1 mac:24050FCE53 靶機(jī)(手機(jī)): IP:172.20.150.20 mac:000822D806D2 攻擊主機(jī)(虛擬機(jī)): IP:172.20.150.2 mac:6C40089A1F16 Wifi接入點(diǎn)(360免費(fèi)wifi): BSSID: 24050FCE53(就是網(wǎng)關(guān)的mac),SSID:private(wifi名稱(chēng)) 攻擊場(chǎng)景: 攻擊主機(jī)利用Cain對(duì)網(wǎng)關(guān)和靶機(jī)進(jìn)行雙向Arp欺騙。Arp工作原理及欺騙原理
局域網(wǎng)的網(wǎng)絡(luò)流通不是根據(jù)IP地址進(jìn)行,而是根據(jù)MAC地址進(jìn)行傳輸。
當(dāng)主機(jī)A要和主機(jī)B通信時(shí),這時(shí)候假定A,B剛開(kāi)機(jī),或者ARP緩存表是空的。既然談到通信,那么一般來(lái)說(shuō),它們應(yīng)該對(duì)數(shù)據(jù)完成一個(gè)封裝和解封裝的過(guò)程。其他的層次我們先不談,只看數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層。在A這邊,做為一個(gè)數(shù)據(jù)的源,它在發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)被封裝到網(wǎng)絡(luò)層,需要添加一個(gè)IP報(bào)頭,里面有源和目標(biāo)IP地址字段,源的IP和目標(biāo)的IP都知道,那么是可以順利的封裝的,但是封裝好的包交給數(shù)據(jù)鏈路層,進(jìn)行再一次封裝時(shí),問(wèn)題發(fā)生了,因?yàn)樵跀?shù)據(jù)鏈路層,需要封裝成幀,那么在幀的頭部有源MAC和目標(biāo)MAC字段,源MAC是它自己,當(dāng)然知道,但是目標(biāo)的MAC呢?沒(méi)有!也就是說(shuō),沒(méi)有實(shí)際的地址。那封裝還能繼續(xù)下去嗎?那么通信難道要終止嗎?
其實(shí)在封裝之前,主機(jī)A將會(huì)查看自己的ARP緩存表(我們可以通過(guò)手工查看start—run—cmd—arp-a)。如果緩存表中存在目標(biāo)主機(jī)(主機(jī)B)的MAC和IP信息,那么就可以順利的成幀。如果沒(méi)有的話,那么它將經(jīng)歷一次ARP的解析過(guò)程。它發(fā)出一個(gè)broadcast request(一個(gè)廣播請(qǐng)求,請(qǐng)求對(duì)方的MAC地址。)用sniffer可以看到。
這個(gè)ARP請(qǐng)求數(shù)據(jù)里面有一個(gè)問(wèn)題:“喂,我是192.168.12.1,我的MAC地址是A。192.168.12.2,你的MAC地址是多少?”這個(gè)時(shí)候,該網(wǎng)段中所有的主機(jī)都能收到該廣播,只有IP地址是192.168.12.2的主機(jī)會(huì)響應(yīng)(response)。同時(shí)接收主機(jī)會(huì)把A的IP地址和MAC地址的對(duì)應(yīng)關(guān)系記錄下來(lái),放入ARP緩存中。通過(guò)了這個(gè)過(guò)程,A和B都有了對(duì)方的IP和MAC的對(duì)應(yīng)關(guān)系了,那么第二層,第三層的封裝就可以順利的完成。
大家可以想像一下,如果在A發(fā)出廣播后,收到了來(lái)自B的回應(yīng)請(qǐng)求,同時(shí),又有一個(gè)第三者C通過(guò)某種方式監(jiān)聽(tīng)到了A—B的對(duì)話,并截獲了B回應(yīng)給A的arp response。他可以把這個(gè)回應(yīng)中的MAC地址字段該成另一個(gè)MAC地址,再把修改過(guò)的幀交給A。這個(gè)時(shí)候A是不是拿到了兩種回應(yīng)呢?它會(huì)以誰(shuí)為準(zhǔn)呢?它會(huì)以后來(lái)的為準(zhǔn)。通過(guò)截獲修改,A將緩存被修改后的MAC。A用錯(cuò)誤的MAC封裝數(shù)據(jù)幀,數(shù)據(jù)就被發(fā)送的C可以控制的主機(jī)上了。
下圖展示arp欺騙發(fā)生后,靶機(jī)的arp表情況:
正常arp表
攻擊后arp表
路由表
在計(jì)算機(jī)網(wǎng)絡(luò)中,路由表(routing table)或稱(chēng)路由擇域信息庫(kù)(RIB, Routing Information Base),路由表存儲(chǔ)著指向特定網(wǎng)絡(luò)地址的路徑(在有些情況下,還記錄有路徑的路由度量值)。路由表中含有網(wǎng)絡(luò)周邊的拓?fù)?/span>信息。簡(jiǎn)單來(lái)說(shuō),路由表是完全工作在網(wǎng)絡(luò)層的,根據(jù)路由表信息,主機(jī)將想要發(fā)送的ip數(shù)據(jù)從指定的網(wǎng)卡上發(fā)出。
下圖展示靶機(jī)的路由表情況:
注:
Destination,Gateway,Mask均采用逆向十六進(jìn)制表示法,比如:019614AC,其實(shí)表示的是AC:14:96:01,轉(zhuǎn)換為十進(jìn)制就是:172.20.150.1
Destination,路由的目標(biāo)網(wǎng)段,會(huì)和Mask進(jìn)行運(yùn)算求得網(wǎng)段,運(yùn)算結(jié)果是00000000表示所有網(wǎng)段,上圖的第一條記錄表示:所有網(wǎng)段的數(shù)據(jù)的網(wǎng)關(guān)是172.20.150.1,由wlan0網(wǎng)卡發(fā)出。
Wifi的BSSID和SSID:
SSID: ServiceSet Identifier(服務(wù)集標(biāo)識(shí)),SSID技術(shù)可以將一個(gè)無(wú)線局域網(wǎng)分為幾個(gè)需要不同身份驗(yàn)證的子網(wǎng)絡(luò),每一個(gè)子網(wǎng)絡(luò)都需要獨(dú)立的身份驗(yàn)證,只有通過(guò)身份驗(yàn)證的用戶才可以進(jìn)入相應(yīng)的子網(wǎng)絡(luò),防止未被授權(quán)的用戶進(jìn)入本網(wǎng)絡(luò)。SSID就是WIFI名稱(chēng)。
BSSID: Basic Service SetIdentifier(基本服務(wù)單元標(biāo)識(shí)符),BSSID就是Wifi接入點(diǎn)的Mac地址。
下圖展示靶機(jī)的BSSID和SSID情況:
圖中可以看出,BSSID為24:05:0f:0f:ce:53,SSID為:private
Android環(huán)境下Arp欺騙檢測(cè)原理
用戶在使用手機(jī)連接wifi時(shí),通常是搜索wifi名稱(chēng),輸入密碼,然后連接上網(wǎng),很少有情況會(huì)需要自己再去配置網(wǎng)關(guān),流量也僅僅是和網(wǎng)關(guān)在交換。因此,用戶默認(rèn)的網(wǎng)關(guān)就是wifi接入點(diǎn),于是wifi的BSSID和用戶的網(wǎng)關(guān)mac將是同一個(gè),基于此有了如下arp檢測(cè)原理:
1. 獲取BSSID,也就是網(wǎng)關(guān)的Mac(mac1) 2. 通過(guò)route表信息獲取全網(wǎng)段路由對(duì)應(yīng)的網(wǎng)關(guān)IP 3. 通過(guò)arp表,查詢此網(wǎng)關(guān)IP對(duì)應(yīng)Mac(mac2)如果mac1和mac2相同,則表示沒(méi)有arp攻擊,如果不相同(mac2是arp欺騙引入的),則arp攻擊正在發(fā)生。
衍生:如果用戶配置了網(wǎng)關(guān),也就是route記錄的IP和BSSID將沒(méi)有任何關(guān)系,根據(jù)arp發(fā)生并不會(huì)修改網(wǎng)關(guān)ip,可以不斷監(jiān)聽(tīng)arp緩存表中網(wǎng)關(guān)IP對(duì)應(yīng)的mac是否在變化,變化則表示arp正在發(fā)生或者arp攻擊結(jié)束,可以結(jié)合別的手段,比如長(zhǎng)時(shí)間統(tǒng)計(jì)來(lái)確定正確的網(wǎng)關(guān)IP和Mac,當(dāng)arp表中IP發(fā)生變化,則檢測(cè)arp攻擊發(fā)生。
其他
本文通過(guò)逆向wifi保護(hù)令的原理分析得出,wifi保護(hù)令能準(zhǔn)確檢測(cè)arp發(fā)生,wifi保護(hù)令一些技術(shù)細(xì)節(jié)如下:
1. 5s循環(huán)監(jiān)聽(tīng)路由表和arp的變化,通過(guò)上述的原理來(lái)檢測(cè)arp欺騙
2. Arp發(fā)生后,給予用戶如下提示:
apk截圖:
國(guó)產(chǎn)工具PKAV HTTP Fuzzer滲透測(cè)試助手最新發(fā)布
閱讀FireEye:11.2%的移動(dòng)APP仍存在FREAK漏洞
閱讀惠普漏洞:惠普ArcSight企業(yè)安全系列產(chǎn)品曝高危安全漏洞
閱讀騰訊、360各顯神通,分別秒殺IE、Flash、PDF項(xiàng)目
閱讀蘋(píng)果Mac OS X系統(tǒng)被發(fā)現(xiàn)存在DLL劫持漏洞
閱讀金融行業(yè)平臺(tái)的針對(duì)性防御滲透測(cè)試
閱讀D-Link(友訊)路由器曝遠(yuǎn)程文件上傳及命令注入漏洞(已發(fā)布安全更新)
閱讀Win10將使用P2P進(jìn)行系統(tǒng)更新,引發(fā)安全擔(dān)憂
閱讀美國(guó)最大的無(wú)卡ATM網(wǎng)絡(luò)即將推出,從此告別刷卡!
閱讀谷歌應(yīng)用漏洞泄漏超過(guò)28萬(wàn)條私人WHOIS數(shù)據(jù)
閱讀使命召喚、魔獸世界、英雄聯(lián)盟……專(zhuān)攻游戲的勒索軟件TeslaCrypt
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)