DHCP

作者: 语文小子 | 来源:发表于2016-11-02 12:09 被阅读0次

    DHCP工作原理

    DHCP 使用客户端/服务器模型。网络管理员建立一个或多个维护 TCP/IP 配置信息并将其提供给客户端的 DHCP 服务器。DHCP 服务器以地址租约的形式将该配置提供给发出请求的客户端

    ①发现阶段:DHCP客户机以广播方式发送DHCP discover报文来寻找DHCP服务器

    ②提供阶段:DHCP服务器在网络中接收到DHCP discover报文后会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer报文

    ③选择阶段:如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供报文,则DHCP客户机只接受第一个收到的DHCP offer提供报文,然后它就以广播方式回答一个DHCP request请求报文,该报文中包含向它所选定的DHCP服务器请求IP地址的内容

    ④确认阶段:DHCP服务器收到DHCP客户机回答的DHCP request请求报文之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认报文,告诉DHCP客户机可以使用它所提供的IP地址

    ⑤重新登录:以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现报文了, 而是直接发送包含前一次所分配的IP地址的DHCP request请求报文

    ⑥更新租约:DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限 ,期满后DHCP服务器便会收回出租的IP地址

    DHCP包分析

    下面着重来分析这4个数据包,它们代表了客户机和DHCP服务器的交互过程,也是IP动态分配的过程


    1,DHCP Discover数据包
    (1)Client端使用IP地址0.0.0.0发送了一个广播包,可以看到此时的目的IP为255.255.255.255。Client想通过这个数据包发现可以给它提供服务的DHCP服务器
    (2)从下图可以看出,DHCP属于应用层协议,它在传输层使用UDP协议,目的端口是67


    2,DHCP Offer包
    当DHCP服务器收到一条DHCP Discover数据包时,用一个DHCP Offerr包给予客户端响应

    (1)DHCP服务器仍然使用广播地址作为目的地址,因为此时请求分配IP的Client并没有自己ip,而可能有多个Client在使用0.0.0.0这个IP作为源IP向DHCP服务器发出IP分配请求,DHCP也不能使用0.0.0.0这个IP作为目的IP地址,于是依然采用广播的方式,告诉正在请求的Client们,这是一台可以使用的DHCP服务器

    (2)DHCP服务器提供了一个可用的IP,在数据包的Your (client) IP Address字段可以看到DHCP服务器提供的可用IP

    (3)除此之外,如图中红色矩形框的内容所示,服务器还发送了子网掩码,路由器,DNS,域名,IP地址租用期等信息

    3,DHCP Request包
    当Client收到了DHCP Offer包以后(如果有多个可用的DHCP服务器,那么可能会收到多个DHCP Offer包),确认有可以和它交互的DHCP服务器存在,于是Client发送Request数据包,请求分配IP。 此时的源IP和目的IP依然是0.0.0.0和255.255.255.255

    4,DHCP ACK包
    服务器用DHCP ACK包对DHCP请求进行响应

    在数据包中包含以下信息,表示将这些资源信息分配给Client. Your(client) IP address:分配给Client的可用IP

    后面有许多项option信息,前两项是DHCP服务器发送的消息类型(ACK)和服务器的身份标识,后面几项是: Subnet Mask:Client端分配到的IP的子网掩码; Router:路由器 Domain Name Server:DNS,域名服务器 Domain Name:域名 IP Address Lease Time:IP租用期

    DHCP starvation attack
    有许多中攻击DHCP的技术,这里介绍其中一种,有点类似于SYN 洪范攻击。 DHCP starvation attack,中文即DHCP饥饿攻击,可以顾名思义一下,饥饿攻击,就是大量地进食,把可以吃的食物全部吃完,然后让其他人没得吃,最后给其他人提供一些毒药,把人家毒死,姑且可以这样浅显地认为

    下面来说这种攻击是如何实现的。一些不法分子,伪造合法的MAC地址,不断地向DHCP服务器发出DHCP Request包,最后耗尽服务器的可用IP,于是原有的这台DHCP服务器便不能够给客户端分配IP了,此时不法分子再伪造一台DHCP服务器,给客户端分配IP,将客户端的默认网关和DNS都设置成自己的机器,于是便可以对客户端进行中间人攻击

    1.开启操作系统的路由转发
    echo "1" >/proc/sys/net/ipv4/ip_forward

    2.攻击正常的dhcp服务器,耗光ip资源
    dhcpstarv -i eth0 -e 192.168.177.128

    Kali默认没有安装dhcpstarv,也可以用yersinia代替

    3.安装dhcp服务器udhcpd

    apt-get install udhcpd
    然后修改一下配置文件
    vim /etc/udhcpd.conf

    4.启动DHCP服务器
    service udhcpd start

    然后启动另一台Kali机当作目标靶机,由于正常的DHCP服务器已经没有可分配的IP资源,新的内网主机就会使用攻击者DHCP服务器分配的IP

    5.抓取目标靶机的图片

    在攻击主机上开启driftnet
    driftnet -i eth0

    相关文章

      网友评论

          本文标题:DHCP

          本文链接:https://www.haomeiwen.com/subject/ysuvuttx.html