無(wú)ARP欺騙的嗅探技術(shù)
ARP欺騙的攻擊和防御技術(shù)都比較成熟了,這里也不再闡述。此次重點(diǎn)講解如何不用ARP欺騙進(jìn)行嗅探以及會(huì)話劫持的技術(shù)原理,實(shí)際的攻擊方法是進(jìn)行MAC欺騙。
一、原理:
在開始之前我們先簡(jiǎn)單了解一下交換機(jī)轉(zhuǎn)發(fā)過(guò)程:交換機(jī)的一個(gè)端口收到一個(gè)數(shù)據(jù)幀時(shí),首先檢查改數(shù)據(jù)幀的目的MAC地址在MAC地址表(CAM)對(duì)應(yīng)的端口,如果目的端口與源端口不為同一個(gè)端口,則把幀從目的端口轉(zhuǎn)發(fā)出去,同時(shí)更新MAC地址表中源端口與源MAC的對(duì)應(yīng)關(guān)系;如果目的端口與源端口相同,則丟棄該幀。
有如下的工作場(chǎng)景:
一個(gè)4口的switch,端口分別為Port.A、Port.B、Port.C、Port.D對(duì)應(yīng)主機(jī) A,B,C,D,其中D為網(wǎng)關(guān)。
當(dāng)主機(jī)A向B發(fā)送數(shù)據(jù)時(shí),A主機(jī)按照OSI往下封裝數(shù)據(jù)幀,過(guò)程中,會(huì)根據(jù)IP地址查找到B主機(jī)的MAC地址,填充到數(shù)據(jù)幀中的目的MAC地址。發(fā)送之前網(wǎng)卡的MAC層協(xié)議控制電路也會(huì)先做個(gè)判斷,如果目的MAC相同于本網(wǎng)卡的MAC,則不會(huì)發(fā)送,反之網(wǎng)卡將這份數(shù)據(jù)發(fā)送出去。Port.A接收到數(shù)據(jù)幀,交換機(jī)按照上述的檢查過(guò)程,在MAC地址表發(fā)現(xiàn)B的MAC地址(數(shù)據(jù)幀目的MAC)所在端口號(hào)為Port.B,而數(shù)據(jù)來(lái)源的端口號(hào)為Port.A,則交換機(jī)將數(shù)據(jù)幀從端口Port.B轉(zhuǎn)發(fā)出去。B主機(jī)就收到這個(gè)數(shù)據(jù)幀了。
這個(gè)尋址過(guò)程也可以概括為IP->MAC->PORT,ARP欺騙是欺騙了IP/MAC的應(yīng)關(guān)系,而MAC欺騙則是欺騙了MAC/PORT的對(duì)應(yīng)關(guān)系。比較早的攻擊方法是泛洪交換機(jī)的MAC地址,這樣確實(shí)會(huì)使交換機(jī)以廣播模式工作從而達(dá)到嗅探的目的,但是會(huì)造成交換機(jī)負(fù)載過(guò)大,網(wǎng)絡(luò)緩慢和丟包甚至癱瘓,我們不采用這種方法。
二、實(shí)戰(zhàn)
工作環(huán)境為上述的4口swith,軟件以cncert的httphijack 為例,應(yīng)用為A主機(jī)劫持C主機(jī)的數(shù)據(jù)。
以下是劫持過(guò)程(da為目的MAC,sa為源MAC)
1.A發(fā)送任意da=網(wǎng)關(guān).mac、sa=B.mac的數(shù)據(jù)包到網(wǎng)關(guān)。
這樣就表明b.mac 對(duì)應(yīng)的是port.a,在一段時(shí)間內(nèi),交換機(jī)會(huì)把發(fā)往b.mac 的數(shù)據(jù)幀全部發(fā)到a主機(jī)。這個(gè)時(shí)間一直持續(xù)到b主機(jī)發(fā)送一個(gè)數(shù)據(jù)包,或者另外一個(gè)da=網(wǎng)關(guān).mac、sa=b.mac的數(shù)據(jù)包產(chǎn)生前。
2.A 主機(jī)收到網(wǎng)關(guān)發(fā)給B的數(shù)據(jù),記錄或修改之后要轉(zhuǎn)發(fā)給B,在轉(zhuǎn)發(fā)前要
發(fā)送一個(gè)請(qǐng)求B.MAC的廣播,這個(gè)包是正常的
MAC信息為:da=FFFFFFFFFF、sa=a.mac。
這個(gè)數(shù)據(jù)幀表明了a.mac對(duì)應(yīng)port.a,同時(shí)會(huì)激發(fā)b主機(jī)響應(yīng)一個(gè)應(yīng)答包
MAC信息為:da=a.mac、sa=b.mac
這個(gè)數(shù)據(jù)幀表明了 b.mac對(duì)應(yīng)port.b
至此,對(duì)應(yīng)關(guān)系已經(jīng)恢復(fù),A主機(jī)將劫持到的數(shù)據(jù)可順利轉(zhuǎn)發(fā)至B
3. 轉(zhuǎn)發(fā)劫持到的數(shù)據(jù)到B,完成一次劫持
三、攻擊特點(diǎn)
1.由于這種攻擊方法具有時(shí)間分段特性,所以對(duì)方的流量越大,劫持頻率也越低,網(wǎng)絡(luò)越穩(wěn)定。
2.隱蔽性強(qiáng),基于1的特殊性和工作本質(zhì),可以在ARP防火墻和雙向綁定的環(huán)境中工作。
四、如何防護(hù)
高級(jí)的交換機(jī)可以采用ip+mac+port 綁定,控制CAM表的自動(dòng)學(xué)習(xí)。目前尚無(wú)軟件可以防護(hù)此類攻擊
五、利用工具
1.httphijack beta 2 說(shuō)明:http會(huì)話劫持
2.ssclone 說(shuō)明:交換環(huán)境下的會(huì)話復(fù)制軟件(gmail,qqmail,sohumail…..)
3.skiller 說(shuō)明:流量控制
【編輯推薦】