交換機網(wǎng)絡(luò)嗅探方法之欺騙交換機緩存
嗅探(sniff),就是竊聽網(wǎng)絡(luò)上流經(jīng)的數(shù)據(jù)包,而數(shù)據(jù)包里面一般會包含很多重要的私隱信息,如:你正在訪問什么網(wǎng)站,你的郵箱密碼是多少,你在和哪個MM聊QQ等等......而很多攻擊方式(如著名的會話劫持)都是建立在嗅探的基礎(chǔ)上的。下面讓我們看一下交換機網(wǎng)絡(luò)嗅探方法中的欺騙交換機緩存的方式:
cncert的一個很出名的會話劫持工具SSCLONE就是采用這種方法進行嗅探的,它的網(wǎng)站上也有專門的文章說明“欺騙交換機緩存”的嗅探方法(見參考資料)。我在這里大概說一下原理吧。
交換機里面有一張CAM表,記錄了Mac-Port信息(這個端口對應(yīng)的機器的MAC地址是什么),MAC信息的獲取是:交換機從轉(zhuǎn)發(fā)的數(shù)據(jù)包中提取。所謂欺騙交換機緩存,就是修改這張CAM表以達到欺騙交換機的目的!比如現(xiàn)在有一個4端口的交換機,它的CAM表如下:
- port1 -- 11-11-11-11-11-11
- port2 -- 22-22-22-22-22-22
- port3 -- 33-33-33-33-33-33
- port4 -- 44-44-44-44-44-44
現(xiàn)在port1的機器A(IP是192.168.1.11,MAC地址為11-11-11-11-11-11)想要嗅探port2的機器B(IP是192.168.1.22,MAC地址為22-22-22-22-22-22),怎么辦呢?呵呵~流程如下:
機器A對外發(fā)送一個數(shù)據(jù)包,如下:
SrcIP:192.168.1.11 ScrMac:22-22-22-22-22-22
DstIP:xxx.xxx.xxx.xxx(隨便寫),DstMac:xx-xx-xx-xx-xx-xx(隨便寫)
此時,交換機收到這個包,發(fā)現(xiàn)在原來CAM里面,port1對應(yīng)的機器MAC地址是11-11-11-11-11-11,怎么現(xiàn)在變?yōu)椋?2-22-22-22-22-22了呢??哦,應(yīng)該是這臺機器的MAC地址變了吧~好!那我更新CAM表!
更新后的交換機CAM表如下:
- port1 -- 22-22-22-22-22-22
- port2 -- 22-22-22-22-22-22
- port3 -- 33-33-33-33-33-33
- port4 -- 44-44-44-44-44-44
現(xiàn)在有port1和port2對應(yīng)的MAC地址是一樣的。如果現(xiàn)在網(wǎng)關(guān)(假設(shè)現(xiàn)在port4連接的是網(wǎng)關(guān))來了一個數(shù)據(jù)包是給機器B(IP是192.168.1.22,MAC地址為22-22-22-22-22-22),交換機會順序查詢此刻的CAM表來確定該數(shù)據(jù)包轉(zhuǎn)發(fā)去哪個端口!
在查詢port1時,發(fā)現(xiàn)此端口對應(yīng)MAC地址和數(shù)據(jù)包里的MAC地址相同,交換機直接就把包轉(zhuǎn)發(fā)到port1的機器A了,由于該包已轉(zhuǎn)發(fā)完畢,交換機繼續(xù)處理下一個數(shù)據(jù)包......就這樣,數(shù)據(jù)包又再次落入充滿窺探欲望的人手中!
這里也需要注意幾個問題:
1).A收到包后,還是需要轉(zhuǎn)發(fā)給B的,不然B和外面的對話就中斷了。
2).當A把包轉(zhuǎn)發(fā)給B時,需要修復交換機的CAM表。
當你看完以上這兩點注意時,可能會發(fā)現(xiàn)利用這種的一些缺陷:
1).A在轉(zhuǎn)發(fā)包給B時需要恢復CAM表,轉(zhuǎn)發(fā)后又要再次欺騙。如果在轉(zhuǎn)發(fā)包時,網(wǎng)關(guān)來了一個數(shù)據(jù)給B,此時的CAM表是正確的,交換機會把這個數(shù)據(jù)會直接發(fā)給B,A無法監(jiān)聽到這個包,由于每次轉(zhuǎn)發(fā)都需要完成以上操作,導致CAM表刷新相當頻繁,最后的結(jié)果是,A監(jiān)聽到的數(shù)據(jù)很不完整。
2).你接的交換機的端口號決定著你的命運!
如果B接的port1端口,A接的是port2端口,那么,用這種方式,A將永遠也嗅探不到B的信息,更悲觀的想一下,如果你連接的是這個交換機最后一個端口呢??!:<
3).跨交換機進行嗅探丟包非常多!
看下圖:
現(xiàn)在交換機A連接交換機B的port1,機器C連接port2,如果沒有機器B的話,機器A還是能比較順利監(jiān)聽機器到C的信息的,但是有了機器B就不同了,交換機的CAM表里port1這條記錄,會因為機器A和機器B的發(fā)包而經(jīng)常改變。導致的問題大家也可以想到了。
防止欺騙交換機緩存的方法只有在交換機處綁定port-mac這對信息,但由于這和交換機原先設(shè)計的理念有矛盾,故這個是無法實現(xiàn)的,也就是說,沒有辦法防止,值得一說的是,現(xiàn)在無線網(wǎng)已經(jīng)興起了,和集線器時代一樣,在無線網(wǎng)絡(luò)監(jiān)聽別人的信息是不費吹灰之力的事情,無線網(wǎng)的安全也值深思!
交換機網(wǎng)絡(luò)嗅探方法中欺騙交換機緩存的方式就為大家敘述完了,如果讀者想了解其他的方法請閱讀:
交換機網(wǎng)絡(luò)嗅探方法之用ARP欺騙輔助嗅探
【編輯推薦】