调戏DHCP协议栈

1.什么是DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被用在大型局域网环境中,主要作用是集中管理、分配IP地址,使网络环境中的主机动态获得IP地址、Gateway(网关)地址、DNS服务器地址等信息,并能够提升地址的使用率。

2.使用端口

UDP:67

功能:用来接收下级客户请求分配IP

UDP:68

功能 :向客户和发请求成功或失败的响应

3.DHCP服务功能

  1. 保证任何IP地址在同一时刻只能由一台DHCP客户机使用
  2. DHCP应当可以给用户分配永久固定的IP地址
  3. DHCP应当可以同用其他方法获得IP地址的主机共存 
  4. DHCP服务器应当向现有的BOOT客户端提供服务

4.DHCP工作过程

5.DHCP攻击方式

DHCP仿冒者攻击:

在内部网络搭建一台仿冒的DHCP服务器,通过这台服务器将用户的流量按照攻击者的意图走

DHCP报文泛洪攻击:

构造大量DHCP报文向DHCP服务器发送

仿冒DHCP报文攻击:

构造仿冒的DHCP报文,比如构造仿冒的DHCP Release 报文,向DHCP服务器发送,造成用户的异常下线

DHCP Server服务拒绝攻击:

构造DHCP Discover报文向DHCP服务器发送,造成DHCP服务器地址池瞬间消耗完毕,无法向正常用户提供服务

6.攻击演示

环境:

VMware workstation 15 PRO

Windows Server 2003

Kali Linux 2019.2.

yersinia 0.8.2

客户机:

①Windows7

②ReaHat 7

网络环境:LAN区段

测试过程

①搭建DHCP服务器

使用Windows Server 2003 搭建DHCP服务器

②开启客户机Windows 7 、RedHat 7 和 渗透测试机 Kali Linux 使用DHCP获取IP

进入Kali Linux 使用 yersinia -G启动软件

④将页签切换至DHCP,可以看到构造DHCP数据报文需要:
Source MAC(源MAC地址)
Destination MAC(目的MAC地址)
SIP(源IP)
DIP(目的IP)
Sport(源端口)
Dport(目的端口)
Op、Htype、HLEN、Hops、Xid、Secs、Flags、CI、YI、SI、GI、CH这些参数

⑤打开右上角的Lunch Attack ,选择DHCP页签,并选择Sending DISCOVER packet 后面勾选上DOS

⑥点击OK后发现由大量DHCP DISCOVER 报文

⑦回到DHCP服务器查看,发现DHCP地址池已被占满,无法向正常用户提供服务

⑧再次使用客户机获取IP,可以看到已经无法正常获取IP地址

7.DHCP攻击的防范

开启设备根据DHCP snooping绑定表生成接口的静态AMC表项功能
使设备对DHCP报文上送DHCP报文处理单元的速率进行检测
防止仿冒DHCP报文攻击
防止DHCP Server 拒绝服务攻击

8.免责声明

本文内容涉及程序/技术原理(包括构造DHCP DISCOVER 报文数据包,DHCP拒绝服务攻击方式/原理)可能带有攻击性,仅用于安全研究和教学使用,务必在模拟环境下进行实验,请勿将其用于其他用途。

因此造成的后果自行承担,如有违反国家法律则自行承担全部法律责任,于NowsSec及分享者无关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值