原理
如果需要进行DHCP饿死攻击,必须不断发送伪造不同的chaddr地址的dhcp discover消息来获取地址
漏洞分析
DHCP服务器向申请者分配IP地址时,无法区分正常的申请者与恶意的申请者
实现工具
- kaili: Dhcpstarv工具
- 攻击命令
- dhcpstarv -i [interface-name]
- 例子:dhcpstarv -i eth0
防御方式
- dhcp snooping
开启dhcp snooping监听dhcp recover报文
[Huawei]dhcp enable
[Huawei]dhcp snooping enable
[Huawei]int vlan10
[Huawei-Vlanif10]dhcp snooping enable
- check-chadder
检查二层封装的源mac地址与dhcp报文中的chaddr是否相同,如果不相同认为是伪造的消息,会丢弃消息
[Huawei]port-group 1
[Huawei-port-group-1]
[Huawei-port-group-1]group-member Ethernet 0/0/1 to Ethernet 0/0/20
[Huawei-port-group-1]dhcp snooping check dhcp-chaddr enable
补充
源mac地址变化的dhcp饿死攻击(下图这种,会让交换机端口学习到大量的mac地址),无法通过check-chaddr实现,需要通过端口安全方式实现。
防御:在一个交换机的一个access口下,只允许一个mac学习。如果学习到多个,那么则对端口进行惩罚,惩罚方式-关闭接口
[Huawei]port-group 1
[Huawei-port-group-1]port-security enable
[Huawei-port-group-1]port-security max-mac-num 1
[Huawei-port-group-1]port-security protect-action shutdown