CDP協(xié)議的攻擊的類型以及應(yīng)該怎樣防御?

CDP協(xié)議是一個發(fā)現(xiàn)協(xié)議,一臺運行C D P的路由器或交換機能夠得知與它直接相連的鄰居端口和主機名信息。這樣通過CDP的我們能得到相關(guān)聯(lián)的路由器名、路由器端口信息、IOS版本信息、IOS平臺信息、硬件版本信息,以及相關(guān)的鏈路信息從而描述出整個網(wǎng)絡(luò)的拓撲情況。這時候黑客就會利用CDP欺騙攻擊。

CDP協(xié)議的攻擊的類型以及應(yīng)該怎樣防御?

針對中央管理軟件,各種高端網(wǎng)管軟件Cisco works 、IBM Tivoli 、HP open view,都依賴CDP完成Cisco主機發(fā)現(xiàn)。如果發(fā)送偽造的CDP幀,聲稱在網(wǎng)絡(luò)上新出現(xiàn)了一臺Cisco設(shè)備,那么管理軟件將試圖通過SNMP與其聯(lián)系,此時就有機會捕獲所使用的SNMPCommunity name string ,這樣很可能是網(wǎng)絡(luò)中其他Cisco設(shè)備所使用的名稱,而且很可能會導(dǎo)致這些設(shè)備遭到攻擊。此外,CDP欺騙還可用于惡作劇,分散網(wǎng)絡(luò)管理員的注意力。

第二個目標就是Cisco IP 電話Cisco ip電話打開后,就會和相連的交換機開始交換CDP數(shù)據(jù),相互識別,交換機利用CDP通知電話,讓它知道語音流量將使用那個VLAN,不難發(fā)現(xiàn),這里有機會實施欺騙攻擊,例如注入CDP幀。這樣會為電話分配一個錯誤的VLAN。

這些手動偽造的CDP幀是如何制造出來的呢?主要有兩種工具可定制偽造CDP幀。下面讓我們先看看Linux平臺下的CDP工具程序——Yersinia。

Yersinia 是執(zhí)行第二層攻擊的一個工具,幫助黑箱測試者在他的日常工作中檢查2層協(xié)議配置的可靠性。Yersinia 能夠操作第二層網(wǎng)絡(luò)協(xié)議和允許攻擊者阻擋交換機通過注入偽生成樹協(xié)議,DHCP, VLAN 中繼協(xié)議和其他信息到網(wǎng)絡(luò)中。

CDP協(xié)議的攻擊的類型以及應(yīng)該怎樣防御?

針對這些攻擊的防御措施

運行CDP的交換機/路由器定時廣播帶有CDP更新數(shù)據(jù)的報文,用cdp timer命令決定CDP更新數(shù)據(jù)間隔,缺省值為60秒,而且CDP默認已啟用。

我們在一臺Cisco Catalyst 2924交換機上對CDP數(shù)據(jù)包的診斷輸出信息。可以看到,交換機在每個活動接口發(fā)送CDP數(shù)據(jù)包。

SW#debug cdp packet

03:36:26 CDP-PA Packet received form R1 on interface FastEthernet0/5

03:36:26 **Entry found in cache**

03:36:30 CDP-PA version 2packet sent out on FastEthernet 0/1

03:36:30 CDP-PA version 2packet sent out on FastEthernet 0/2

03:36:30 CDP-PA version 2packet sent out on FastEthernet 0/3

03:36:30 CDP-PA version 2packet sent out on FastEthernet 0/4