蔣永叢 王晉晉
摘要:作為一名網(wǎng)絡(luò)人員,捕獲和解析網(wǎng)絡(luò)上在線傳輸數(shù)據(jù)的過程,可以更好地了解網(wǎng)絡(luò)上正在發(fā)生的事情。在共享式網(wǎng)絡(luò)環(huán)境下,將網(wǎng)卡設(shè)置為混雜模式,可以接收到全網(wǎng)數(shù)據(jù)。而復(fù)雜網(wǎng)絡(luò)環(huán)境下,嗅探只能獲得所在路徑的流量。本文從網(wǎng)絡(luò)管理和滲透測試兩大視角,全面探索交換式網(wǎng)絡(luò)、路由網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)嗅探的途徑。
關(guān)鍵詞:網(wǎng)絡(luò)管理;滲透;嗅探
0 前言
在日常網(wǎng)絡(luò)運(yùn)維中,我們通過嗅探為我們提供該計(jì)算機(jī)或者網(wǎng)絡(luò)所發(fā)送的數(shù)據(jù)的全拓?fù)?、IP地址等信息,幫助我們實(shí)時(shí)了解網(wǎng)絡(luò)狀況,查找不安全和濫用網(wǎng)絡(luò)的應(yīng)用,及時(shí)處理各種網(wǎng)絡(luò)故障。但在交換式網(wǎng)絡(luò)等復(fù)雜網(wǎng)絡(luò)由于沖突域的限制,嗅探難以進(jìn)行。通過對相關(guān)協(xié)議分析,探索復(fù)雜網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)嗅探的各種途徑,對網(wǎng)絡(luò)管理和滲透測試從業(yè)人員有一定參考意義。
1 嗅探的原理及關(guān)鍵
當(dāng)網(wǎng)卡設(shè)置為混雜模式后,網(wǎng)卡將接收所有的流量。安裝嗅探工具后,將復(fù)制一份網(wǎng)卡收到的流量并提交給嗅探軟件處理,所有流經(jīng)本地計(jì)算機(jī)的數(shù)據(jù)包將被嗅探。由于嗅探器的隱蔽性好,只是被動(dòng)接收數(shù)據(jù),而不向外發(fā)送數(shù)據(jù),所以在傳輸數(shù)據(jù)的過程中,難以覺察到有人監(jiān)聽。嗅探的關(guān)鍵一是網(wǎng)卡設(shè)置為混雜模式,接收所有流量,二是嗅探軟件必須部署在流量必經(jīng)之地。
2 網(wǎng)絡(luò)管理視角下的嗅探途徑
2.1增加相關(guān)硬件。
根據(jù)以太網(wǎng)工作原理,共享式以太網(wǎng)通信為廣播方式,所有節(jié)點(diǎn)均能收到所有流量,根據(jù)此原理,可以在關(guān)鍵節(jié)點(diǎn)處增加集線器或分流器。
2.2啟用端口鏡像技術(shù)。
現(xiàn)在的園區(qū)網(wǎng)及企業(yè)網(wǎng)智能交換機(jī)均支持端口鏡像技術(shù)。端口鏡像技術(shù)可以將相關(guān)VLAN流量從被監(jiān)聽端口復(fù)制到監(jiān)聽端口。將監(jiān)聽主機(jī)部署到鏡像端口上,將捕獲所有目標(biāo)端口流量。如果將端口鏡像技術(shù)應(yīng)用核心設(shè)備出口處,即可監(jiān)聽全網(wǎng)的對外流量,極大方便網(wǎng)絡(luò)管理與流量分析。
3 滲透測試視角下的途徑
滲透測試情況,我們無法隨意增加硬件,也不能隨便改變現(xiàn)有網(wǎng)絡(luò)配置。所有需要另外尋找途徑,誘導(dǎo)流量經(jīng)過監(jiān)聽節(jié)點(diǎn),經(jīng)過分析整理,有如下途徑:
3.1 基于ARP協(xié)議缺陷
ARP(Address Resolution Protocol)地址解析協(xié)議,是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議。ARP工作機(jī)制有如下特點(diǎn):高速緩存機(jī)制、定時(shí)刷新機(jī)制、無條件接受ARP包機(jī)制。因?yàn)樯鲜龉ぷ鳈C(jī)制,ARP獲取MAC地址過程中,ARP請求并不安全,因?yàn)檫@個(gè)協(xié)議是建立在局域網(wǎng)中主機(jī)相互信任的基礎(chǔ)之上的。局域網(wǎng)中的主機(jī)可以自主發(fā)送ARP應(yīng)答消息,其他的主機(jī)收到應(yīng)答報(bào)文時(shí),不會檢測該報(bào)文的真實(shí)性,并將其直接記入本機(jī)ARP緩存中。因此攻擊者就可以向目標(biāo)主機(jī)發(fā)送偽ARP應(yīng)答報(bào)文,從而篡改本地的MAC地址表,這就是所謂的ARP欺騙。ARP欺騙原理如圖1所示:
攻擊者PC2向網(wǎng)關(guān)發(fā)送一個(gè)應(yīng)答包,包括受害者PC1的IP地址、攻擊者的mac地址。同時(shí),向受害者PC1發(fā)送一個(gè)應(yīng)答包,包括網(wǎng)關(guān)的IP地址,攻擊者的mac地址。這個(gè)時(shí)候,網(wǎng)關(guān)就會將緩存表里PC1的mac地址換成PC2的mac地址,而PC1就會將緩存表里網(wǎng)關(guān)的mac地址換成PC2的mac地址。所以,網(wǎng)關(guān)發(fā)送給PC1的消息全被PC2接收,主機(jī)PC1發(fā)送給網(wǎng)關(guān)的消息也全被主機(jī)PC2接收,PC2就成為PC1和網(wǎng)關(guān)通信的中間人。
網(wǎng)絡(luò)中有很多ARP欺騙工具,這里以arpspoof為例。假設(shè)本機(jī)地址為172.16.51.130,要欺騙的主機(jī)為172.16.51.133,網(wǎng)關(guān)為172.16.51.251,所有對外通信要經(jīng)過網(wǎng)關(guān),現(xiàn)在要想嗅探172.16.51.133的流量,可以這樣使用arpspoof -i eth0 -t 172.16.51.133 172.16.51.254。那么我們會發(fā)現(xiàn),主機(jī)172.16.51.133會將172.16.51.130當(dāng)做網(wǎng)關(guān),從而把所有數(shù)據(jù)發(fā)送給主機(jī)130。這時(shí)在主機(jī)172.16.51.130安裝wireshark等嗅探軟件,即可實(shí)現(xiàn)嗅探受害者到網(wǎng)關(guān)的通信。
防范基于ARP嗅探的措施:
1)MAC地址綁定。由于ARP欺騙攻擊是通過虛構(gòu)IP地址和MAC地址欺騙目標(biāo)主機(jī),從而更改ARP緩存中的路由表進(jìn)行攻擊的,因此,只要將局域網(wǎng)中每一臺計(jì)算機(jī)的IP地址與MAC地址綁定,就能有效地防御ARP欺騙攻擊。
2)使用靜態(tài)ARP緩存來綁定關(guān)系,如果需要更新ARP緩存表,使用手工進(jìn)行更新,以保障黑客無法進(jìn)行ARP欺騙攻擊。
3)在確保ARP服務(wù)器不被攻擊者所控制的情況下,使用ARP服務(wù)器來搜索自己的ARP轉(zhuǎn)換表來響應(yīng)其他客戶端的ARP廣播。
4)使用ARP防火墻等防護(hù)ARP欺騙的工具來進(jìn)行ARP欺騙攻擊的保護(hù)。
3.2基于DHCP協(xié)議的嗅探
在DHCP網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)嗅探需要兩步,耗盡正常的地址,仿冒DHCP服務(wù)器。
第一步,將正常DHCP地址耗盡。攻擊者持續(xù)大量地向DHCP服務(wù)器申請IP地址,直到耗盡DHCP服務(wù)器地址池的IP地址,使DHCP服務(wù)器無法再給正常的主機(jī)分配IP地址。
第二步,仿冒DHCP Server攻擊。
由于DHCP Server和DHCP Client之間沒有認(rèn)證機(jī)制,所以如果在網(wǎng)絡(luò)上隨意添加一臺DHCP服務(wù)器,它就可以為客戶端分配IP地址以及其他網(wǎng)絡(luò)參數(shù)。如果該DHCP服務(wù)器為用戶分配錯(cuò)誤的IP地址和其他網(wǎng)絡(luò)參數(shù),將會對網(wǎng)絡(luò)造成非常大的危害。
當(dāng)攻擊者私自安裝并運(yùn)行DHCP Server程序后,可以將自己偽裝成DHCP Server,這就是仿冒DHCP Server攻擊。它的工作原理與正常的DHCP Server一模一樣,所以當(dāng)PC機(jī)接收到來自DHCP Server的DHCP報(bào)文時(shí),無法區(qū)分是哪個(gè)DHCP Server發(fā)送過來的,如果PC機(jī)第一個(gè)接收到的是來自仿冒DHCP Server發(fā)送的DHCP報(bào)文,那么仿冒DHCP Server則會給PC機(jī)分配錯(cuò)誤的IP地址參數(shù),導(dǎo)致PC客戶端無法訪問網(wǎng)絡(luò)或服務(wù)器。
在圖2中,PC1正常從DHCP sever獲取ip地址信息并聯(lián)網(wǎng)。在滲透測試時(shí),攻擊者PC2可以使用yersinia發(fā)送DHCP DISCOVER包,快速耗盡DHCP server地址池。然后,攻擊者PC2安裝DHCP SEVER 軟件包,仿冒DHCP Server,設(shè)置地址池,并將網(wǎng)關(guān)參數(shù)指向自己。如此一來,PC1到外網(wǎng)的流量都會流向dhcp服務(wù)器,開啟wireshark即可捕獲相關(guān)信息。
DHCP攻擊的防御措施如下:
1)服務(wù)器端:設(shè)置信任端口
將DHCP服務(wù)器所在交換機(jī)的端口分為兩種類型,信任端口(Trusted端口)和非信任端口(Untrusted端口),交換機(jī)所有端口默認(rèn)都是Untrusted端口,我們將與合法DHCP Server 相連的端口配置為Trusted端口,這樣交換機(jī)從Trusted端口接收到的DHCP 報(bào)文后,會正常轉(zhuǎn)發(fā),從而保證合法的DHCP Server能正常分配IP地址及其他網(wǎng)絡(luò)參數(shù);而其他從Untrusted端口接收到的DHCP Server 的報(bào)文,交換機(jī)會直接丟棄,不再轉(zhuǎn)發(fā),這樣可以有效地阻止仿冒的DHCP Server 分配假的IP地址及其他網(wǎng)絡(luò)參數(shù)。
2)服務(wù)器端:配置DHCP Snooping技術(shù)
在DHCP服務(wù)器所在交換機(jī)配置DHCP Snooping,防御DHCP耗盡攻擊。對DHCP Request報(bào)文的源MAC地址與CHADDR的字段進(jìn)行檢查,如果一致則轉(zhuǎn)發(fā)報(bào)文,如果不一致則丟棄報(bào)文。
同樣,運(yùn)行DHCP Snooping的交換機(jī)會偵聽(Snooping)往來于用戶與DHCP Server之間的信息,并從中收集用戶的MAC地址(DHCP消息中的CHADDR字段中的值)、用戶的IP地址(DHCP Server分配給相應(yīng)的CHADDR的IP地址)、IP地址租用期等信息,將它們集中存放在DHCP Snooping 綁定表中,交換機(jī)會動(dòng)態(tài)維護(hù)DHCP Snooping綁定表。交換機(jī)接收到ARP報(bào)文后,會檢查它的源IP地址和源MAC地址,發(fā)現(xiàn)與DHCP Snooping綁定表中的條目不匹配,就丟棄該報(bào)文,這樣可以有效地防止Spoofing IP/MAC攻擊。
3.3 基于交換機(jī)mac洪泛攻擊
交換機(jī)基于MAC地址去轉(zhuǎn)發(fā)數(shù)據(jù)幀的,在轉(zhuǎn)發(fā)過程中依靠對MAC地址的表的查詢來確定正確的轉(zhuǎn)發(fā)接口。為了完成數(shù)據(jù)的快速轉(zhuǎn)發(fā),該表具有自動(dòng)學(xué)習(xí)機(jī)制,交換機(jī)會將學(xué)習(xí)到的MAC地址存儲在該表里,但是CAM表的容量是有限的,只能儲存不多的條目,并且MAC地址存在老化時(shí)間(一般為300s)。當(dāng)CAM表記錄的MAC地址達(dá)到上限后,新的條目將不會添加到CAM表中,一旦在查詢過程中無法找到相關(guān)目的MAC地址對應(yīng)的條目,此數(shù)據(jù)幀將作為廣播幀來處理,廣播到所有接口。
MAC地址泛洪攻擊正是利用這一特性,不斷地生成不同的虛擬MAC地址發(fā)送給交換機(jī),使得交換機(jī)進(jìn)行大量學(xué)習(xí),導(dǎo)致交換機(jī)MAC地址表緩存溢出,讓其無法學(xué)習(xí)新的正確的MAC地址。如果這時(shí)交換機(jī)需要轉(zhuǎn)發(fā)一個(gè)正常的數(shù)據(jù)幀,因?yàn)槠銫AM表已經(jīng)被虛假M(fèi)AC填滿,所以交換機(jī)會廣播數(shù)據(jù)幀到所有接口,攻擊者利用這個(gè)機(jī)制就可以獲取該正常數(shù)據(jù)幀的信息,達(dá)到MAC地址泛洪攻擊的目的。
當(dāng)攻擊者PC 2利用攻擊工具,如macof工具向交換機(jī)發(fā)送大量非法不同源MAC地址的數(shù)據(jù)幀時(shí),如圖3所示,交換機(jī)會把所有這些MAC地址記錄到自己的CAM表中,當(dāng)這些記錄超過CAM的上限時(shí),MAC地址泛洪的效果就達(dá)成了。之后交換機(jī)會對所有消息進(jìn)行無定向廣播,那么PC 1發(fā)送給PC 3的消息也會被PC 2所獲取到,這時(shí)候PC 2就可以捕獲消息數(shù)據(jù)進(jìn)行非法操作。
MAC地址泛洪攻擊的防御措施和具體配置如下:
1)設(shè)置交換機(jī)端口最大可通過的MAC地址數(shù)量
給交換機(jī)的每個(gè)端口限制MAC地址學(xué)習(xí)的最大數(shù)量,假如為50個(gè),當(dāng)一個(gè)端口學(xué)習(xí)的MAC數(shù)量超過這個(gè)限制數(shù)值時(shí),將超出的MAC地址舍棄。
2)靜態(tài)MAC地址寫入
在交換機(jī)端口上做MAC地址綁定,指定只能是某些MAC地址學(xué)習(xí)或通過該端口。
3)對超過一定數(shù)量的MAC地址進(jìn)行違背規(guī)則處理
3.4 基于ICMP協(xié)議的嗅探
ICMP重定向信息是路由器向主機(jī)提供實(shí)時(shí)的路由信息,當(dāng)一個(gè)主機(jī)收到ICMP重定向信息時(shí),它就會根據(jù)這個(gè)信息來 更新自己的路由表。由于缺乏必要的合法性檢查,如果一個(gè)黑客想要被攻擊的主機(jī)修改它的路由表,黑客就會發(fā)送 ICMP重定向信息給被攻擊的主機(jī),讓該主機(jī)按照黑客的要求來修改路由表。
如圖4所示,AR1和AR2在同一以太網(wǎng)段,PC1的默認(rèn)同關(guān)配置為使用路由AR1的地址,
現(xiàn)在PC1要和PC3通信,主機(jī)PC1將數(shù)據(jù)包發(fā)進(jìn)到路由器AR1,AR1經(jīng)過查詢路由表,下一跳為AR2,AR1將把收到的數(shù)據(jù)從同一個(gè)以太網(wǎng)接口上轉(zhuǎn)發(fā)出去。根據(jù)路由工作原理,此時(shí)AR1將會向向主機(jī)PC1發(fā)送了一條ICMP重定向消息,告訴PC1下次發(fā)往PC3的消息,請發(fā)AR2轉(zhuǎn)發(fā)。
通過這個(gè)思路,PC2可為攻擊者偽裝成路由器,使用netwox的第86號工具,向pc1發(fā)送虛假的ICMP路由重定向信息,控制報(bào)文的流向,攻擊節(jié)點(diǎn)PC2可以開啟路由轉(zhuǎn)發(fā),充當(dāng)中間人,實(shí)現(xiàn)全程監(jiān)聽。PC1的ip地址192.168.1.10,PC1的ip地址192.168.1.20,AR1地址為192.168.1.1情況下,運(yùn)行如下命令發(fā)送報(bào)文,讓PC1的相應(yīng)流量指向攻擊者PC2。
netwox 86 -f “host 192.168.1.10” ?-g ?192.168.1.1 ?-i ?192.168.1.254
ICMP路由重定向的防御思路。
在網(wǎng)關(guān)端可以關(guān)閉ICMP重定向(no ip redirects),使用變長子網(wǎng)掩碼劃分網(wǎng)段,使用使用網(wǎng)絡(luò)控制列表(ACL)和代理過濾。
在主機(jī)端,使用防火墻等過濾掉ICMP報(bào)文,使用反間諜軟件監(jiān)控,也可以結(jié)合防ARP、IP欺騙等進(jìn)行綜合防御。
4 總結(jié)
嗅探是進(jìn)行信息收集重要的方法,文章從管理者和攻擊者兩種視角,對復(fù)雜網(wǎng)絡(luò)環(huán)境如何進(jìn)行嗅探進(jìn)行研究。復(fù)雜網(wǎng)絡(luò)環(huán)境,基于相關(guān)協(xié)議的原理漏洞,借助于arp欺騙工具、dhcp資源耗盡工具、mac泛洪工具、netwox工具等工具,可以實(shí)現(xiàn)交換式網(wǎng)絡(luò)環(huán)境、路由環(huán)境下的嗅探,與wireshark嗅探工具結(jié)合使用,經(jīng)過搭建模擬場景測試,能獲取第三方敏感信息,實(shí)現(xiàn)嗅探。
參考文獻(xiàn):
[1]張蕾.網(wǎng)絡(luò)攻擊之嗅探攻擊的原理及仿真實(shí)現(xiàn)[J].無線互聯(lián)科技,2020,17(18):25-27.
[2]段曉東. 網(wǎng)絡(luò)攻擊之嗅探攻擊的原理及仿真實(shí)現(xiàn)[J]. ?網(wǎng)絡(luò)安全技術(shù)與應(yīng)用. 2019(10)
[3]張傳浩,谷學(xué)匯,孟彩霞.基于軟件定義網(wǎng)絡(luò)的反嗅探攻擊方法[J]. ? 計(jì)算機(jī)應(yīng)用. 2018(11)
[4]翟溪林,張圓周,鄧芙蓉,朱詩琳.網(wǎng)絡(luò)嗅探技術(shù)在信息安全中的應(yīng)用探究[J].
基金項(xiàng)目:河南省高等職業(yè)學(xué)校青年骨干教師培養(yǎng)項(xiàng)目(編號:2019GZGG023),洛陽市社會科學(xué)研究規(guī)劃項(xiàng)目(編號:2021B244)河南省林業(yè)職業(yè)學(xué)院校內(nèi)教育教學(xué)改革項(xiàng)目(編號:JG2021008)