1. DHCP概念
DHCP作用:自动分配IP地址。
DHCP地址池:比如一个地址池中有多个IP地址,可以分配给使用的用户。
DHCP作用域:IP、子网掩码、网关、DNS、租期。
DHCP协议端口:67、68端口(UDP协议)
DHCP优点:减少工作量,避免地址冲突,提高地址利用率。
2. DHCP原理
四个步骤
步骤一:客户机发送 dhcp discovery 广播包,客户机广播请求ip地址(包含客户机的mac地址)。
步骤二:服务器响应 dhcp offer 广播包,服务器提供ip地址,但是不提供子网掩码、网关等参数。(谁先给offer包,就先给谁提供ip地址)。
步骤三:客户机发 dhcp request 广播包,我准备使用这个ip地址,请把这个地址的子网掩码和网关发给我。客户机选择ip。
步骤四:服务器发送 dhcp ack 广播包,ack表示确认的意思,服务器确定租约,并提供网卡详细参数ip、子网掩码、dns、网关、租期等。
3. DHCP续约
概念:当ip的租期过了50%后,客户机再次发送dhcp request请求包,然后进行续约,如果服务器无响应,则继续使用。并在87.5%的时候再次发送dhcp request请求包进行续约,如果仍然无响应,并释放ip地址及重新发送dhcp discovery 广播包来获取ip地址。当无任何服务器响应,则自动给自己分配一个169.254.x.x /16,这个ip地址属于全球统一无效地址,用于临时内网通信。
4. DHCP搭建
准备一台server 2008和一台Win7,对两台虚拟机的网卡进行修改,改为LAN模式。
LAN区域:纯净的网络状态没有其他网络干扰。
给server 2008配置静态IP,点击电脑右下角->网络和共享中心->本地连接->属性。
配置完后打开服务管理器——角色——添加角色。
选择DHCP服务器
这里的IP地址就是在win2008上设置的静态IP。
现在还没有搭建dns服务器,先使用114.114.114.114。
父域:DNS服务器设置的父域是指在域名系统中,一个域名的上一级域名。父域包含了当前域的所有子域。例如,对于域名example.com来说,.com就是它的父域。在DNS服务器的配置中,需要指定父域的DNS服务器地址,以便进行域名解析和查询。
起始地址与结束地址就是地址池,就是DHCP服务器从其抽出分配给主机的IP地址。在下面就是IP地址租约,这里设置的是8天。使用本机的IP地址做网关。
打开DHCP服务器。
打开IPv4——作用域——地址池,可以看到设置的IP地址范围。
说明:设置10.1.1.20 ~ 10.1.1.254 范围,不设置10.1.1.1是因为要保留一部分可能有其他固定服务器设置的ip地址。
开启win7虚拟机,查看是否分配到ip地址
那么如果现在Kali也要分配到server 2008的地址,但是现在需要分配固定IP地址10.1.1.88.操作如下。
先将Kali的网卡设置为LAN网段。
kali的mac地址
注意:这里kali的mac地址直接使用
-
来分割。
成功分配固定的ip地址
5. DHCP服务器删除
删除步骤如下:
6. DHCP地址池耗尽攻击
DHCP是自动分配IP地址的,只要有人向它发送DHCP discover广播包,它就会从地址池中取出一个IP地址而不加验证给发送者,这就会使得黑客利用这一漏洞,不停的伪造MAC地址发送给DHCP服务器请求IP地址,直到地址池里的IP地址耗光,使得有的主机断网。
- 防止这种攻击手段,可以在交换机端口绑定MAC地址。
还有就是攻击者可以在自己的电脑中搭建DHCP服务器,只要有人发出请求DHCP discover广播包获取IP地址,如果攻击者的DHCP服务器抢先收到客户端发出的请求,攻击者的DHCP服务器就会把自己设置的IP地址发送给客户端,那么客户端就会优先接受这个IP地址。可以让DHCP服务端的端口发送offer广播包,其它主机的端口不允许发送此包。
实验
环境准备server 2008(DHCP服务器) 、win7(客户机)、kali(攻击机)。
在Kali中安装软件
apt-get install yersinia
如果安装失败使用如下命令
apt-get update # 更新软件源
说明:
- apt-get简介、安装、使用方法。
- apt-get,是一条linux命令,它是Advanced Package Tool(高级软件包工具)的一部分,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
然后将Win7的ip地址进行释放,然后先不去获取,先将网卡禁用
ipconfig /release # 释放IP地址
然后启动攻击
yersinia -G
然后将Win7的网卡启动,输入命令ipconfig
发现获取不到ip,最后分配了全球统一无效地址。
7. 防御措施
第一种攻击方式:攻击DHCP服务器,频繁发送DHCP求,直到将DHCP地址池中的资源耗尽。
防御:在管理型交换机上的端口做动态MAC地址的绑定。
解决方式:
在管理型交换机上面做端口与mac地址的绑定,管理型交换机管理哪些mac地址是可以通过这个端口的,哪些是不可以通过。因为在请求discovery包的时候要携带客户机的mac 地址。如果做端口与Kali虚拟机mac地址的绑定,只有对应的mac地址才可以向端口发送数据。
第二种攻击方式:伪装DHCP服务器攻击,攻击者通过将自己部署的DHCP服务器,为客户提供非法的IP地址。
防御:在管理型交换机上,除了合法的DHCP服务器所在的接口外,全部设置为禁止发送dhcp offer包。
如果攻击者也搭建DHCP服务器,win7获取的不一定是server 2008分配的ip地址和网关,又可能是Kali分配的。
解决方式:只能在管理型交换机上面的接口发送offer包,其他非DHCP服务器禁止发送offer包。
版权归原作者 来日可期x 所有, 如有侵权,请联系我们删除。