01概述
年初Pwn2Own Austin 2021曝出了多個Cisco RV系列路由器漏洞,在對應版本的Cisco RV340路由器上,博智非攻研究院對其中幾個漏洞進行研究復現,相關漏洞詳情如下所示:
漏洞存在于固件版本低于V1.0.03.24及其以前的RV340系列路由器中,當前最新版本V1.0.03.26已修復了此漏洞。手頭的RV340路由器固件版本為V1.0.03.22,剛好為存在漏洞、適合分析的對象。
02漏洞復現
從官網分別下載了V1.0.03.22固件并file命令查看:
$ fileRV34X-v1.0.03.22-2021-06-14-02-33-28-AM.img
RV34X-v1.0.03.22-2021-06-14-02-33-28-AM.img:u-boot legacy uImage, RV340 Firmware Package, Linux/ARM, Firmware Image (gzip),74777418 bytes, Sun Jun 13 21:03:33 2021, Load Address: 00000000, Entry Point:00000000, Header CRC: 0XA2BA8A, Data CRC: 0XFFE70AEC
顯示固件為IoT設備通用的鏡像格式“Das U-Boot”,系統架構為Linux/ARM。
Cisco RV340路由器的web服務器使用了Nginx,其系統配置位于文件系統的/etc/nginx,所有的二進制CGI文件位于/www/cgi-bin/,web UI功能交互使用到的幾個CGI文件主要為:blockpage.cgi, jsonrpc.cgi 和upload.cgi。由于所有的用戶交互始于Web UI操作,因此可以從web服務器的配置著手分析:
從web.upload.conf文件中可以看出,為了確保所有請求都是經過了認證的,變量$deny被設置為0,代表了/tmp/websession/token/路徑下存在一個session ID,由此說明當前用戶已經經過登錄認證,否則session ID文件將不會生成。所有未認證的請求將直接被拒絕并返回HTTP 403。
然而,此處的認證可被輕松繞過:通過使用../../將sessionid指向為任何當前系統存在一個文件,通過curl測試如下:
通過測試可以看出,當指向系統中不存在的文件,系統返回HTTP 403,而指向一個存在的文件將返回HTTP 400,由此完成了CVE-2022-20705的復現。
通過認證之后,將進入一些列的參數合法性檢查,通過逆向upload.cgi可分析其詳細過程:
同時將對cookie的合法性做二次檢查:
因此只有合法的認證才能通過檢查。因此,我們第一步的繞過認證的登錄session id將無法通過二次檢查。但是,由于在cookie分析的邏輯過程中多次調用了strstr()和strtok_r()函數,此處可使用cookie混淆的手法,構造另一個符合認證格式的cookie來繞過此處的認證檢查,同時通過構造正確的pathparam、fileparam、file.path、destination等參數,通過函數的邏輯檢查,最終使函數的執行邏輯來到popen參數,用戶注入參數將被引入執行,達到RCE的目的:
使用構造好的參數封裝POST請求,發送至路由器可實現命令注入:
至此完成了CVE-2022-20707漏洞的復現,獲取的權限為www-data,接下來是如何提權至root了。
由于當前已經實現了命令注入,因此可以考慮創建用戶登錄到web,然后開啟ssh服務獲取一個系統shell,經過查證發現RV340直接禁用了SSH服務:
嘗試nc反彈也失敗了,猜測系統對nc命令進行了閹割,進而只能先生成ARM的payload上傳至系統執行,反彈msf的shell了。有了www-data權限的shell之后,首先嘗試調用系統級的服務如confd達到提權目的,剛好可以在用戶模式執行confd_cli調用confd達到最終的提權:
03總結
通過分析與實踐復現了Cisco的三個漏洞:CVE-2022-20701、CVE-2022-20705、CVE-2022-20707,漏洞發現使用了認證繞過、Cookie混淆和系統服務調用提權,整個思路非常經典精妙,值得學習探討。
參考資料:
[1]https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-smb-mult-vuln-KA9PK6D
[2]https://www.zerodayinitiative.com/advisories/ZDI-22-412/
[3]https://www.zerodayinitiative.com/blog/2021/8/11/pwn2own-austin-2021-phones-printers-nas-and-more
博智安全提供專業的網絡安全服務,包括漏洞挖掘、風險評估、滲透測試、安全培訓、安全競賽、應急響應、安全加固及代碼審計等。
01.經驗豐富的安全服務團隊團隊
成員均來自業內知名網絡安全公司,有多年網絡安全服務經驗,多人擁有CISP、CISSP、CISO、CISP-PTE等證書。
02.最前沿的非攻研究院技術
支撐擁有博智安全最前沿的非攻研究院提供前沿技術支撐,包括最新最全的漏洞、先進智能的安全服務工具。
03.豐富的自研安全產品
保障擁有豐富的自研安全產品保障,網絡安全、工控安全、保密安全相關檢測與防護類產品,為安全服務提供最全面的產品工具支持。
04.貼合政府政策和國際標準的服務流程
取得行業內較權威的資質認證,包括工業控制系統應急響應服務支撐單位證書等,服務符合國際化的標準服務流程。
、
“博智非攻研究院”為博智安全旗下技術創新、安全研究的重要部門,部門擁有一支能力突出、技術過硬、業務精通、勇于創新的技術隊伍,當前主要專注于應用安全、攻防滲透、工業互聯網安全、物聯網安全、電信安全和人工智能安全等方向。自成立以來,博智非攻研究院獲得多家客戶的認可,收到來自西門子、施耐德、ICS-CERT、組態王等客戶的官方感謝信。博智非攻研究院在憑借強大的漏洞挖掘和響應處置能力入選第九屆CNCERT網絡安全應急服務支撐單位、CITIVD信創政務產品安全漏洞專業庫技術支撐單位、國家信息安全漏洞庫技術支撐二級單位、工業信息安全應急服務支撐單位、國家工業信息安全漏洞庫優秀成員單位、南京市網絡安全應急技術支撐單位。未來,團隊將繼續以專業的服務,幫助工業企業構建安全可靠的工業網絡環境,為我國關鍵信息基礎設施保駕護航!