针对
CDP
协议攻击分析及安全防护
熟悉
Cisco
的朋友都知道
CDP
协议是思科公司独特的发现协议,在思科公司出产的所有路由器和交换机里面都能运行此协议,一台运行
C D P
的路由器或交换机能够得知与它直接相连的邻居端口和主机名信息。也可以得知一些附加信息如:邻居的硬件模式号码及其性能。这样通过
CDP
的我们能得到相关联的路由器名、路由器端口信息、
IOS
版本信息、
IOS
平台信息、硬件版本信息,以及相关的链路信息从而描述出整个网络的拓扑情况。这时候黑客就会利用
CDP
欺骗攻击会让网络管理员措手不及。有下面给大家说明两种目标可能遭到
CDP
欺骗攻击,及应对办法。
一、两种
CDP
欺骗类型
(
1
)针对中央管理软件,各种高端网管软件
Cisco works
、
IBM Tivoli
、
HP open view,
都依赖
CDP
完成
Cisco
主机发现。如果发送伪造的
CDP
帧,声称在网络上新出现了一台
Cisco
设备,那么管理软件将试图通过
SNMP
与其联系,此时就有机会捕获所使用的SNMP
Community
name
string ,
这样很可能是网络中其他
Cisco
设备所使用的名称,而且很可能会导致这些设备遭到攻击。此外,
CDP
欺骗还可用于恶作剧,分散网络管理员的注意力。
(
2
)第二个目标就是
Cisco IP
电话
Cisco ip
电话打开后,就会和相连的交换机开始交换
CDP
数据,,相互识别,交换机利用
CDP
通知电话,让它知道语音流量将使用那个
VLAN
,不难发现,这里有机会实施欺骗攻击,例如注入
CDP
帧。这样会为电话分配一个错误的
VLAN
。这些手动伪造的CDP帧是如何制造出来的呢?主要有两种工具可定制伪造CDP帧。下面让我们先看看Linux平台下的CDP工具程序。
1 .Yersinia
工具
Yersinia
是执行第二层攻击的一个工具,帮助黑箱测试者在他的日常工作中检查
2
层协议配置的可靠性。
Yersinia
能够操作第二层网络协议和允许攻击者阻挡交换机通过注入伪生成树协议,
DHCP, VLAN
中继协议和其他信息到网络中。
1.
安装:
tar zxvf yersinia-0.7.tar.gz
./configure;make;make install
以GUI界面启动Yersinia输入“Yersinia –G”;以字符界面启动输入“Yersinia –I”
二、
防御措施
运行CDP的交换机/路由器定时广播带有CDP更新数据的报文,用cdp timer命令决定CDP更新数据间隔,缺省值为60秒,而且CDP默认已启用。
我们在一台
Cisco Catalyst 2924
交换机上对
CDP
数据包的诊断输出信息。可以看到,交换机在每个活动接口发送
CDP
数据包。
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
我们如何关闭
CDP
协议呢?
需要在交换机
/
路由器的
全局模式下用
no cdp enable
如果是
Cisco CatOS
则使用
set cdp disable
来禁用
CDP
。