大晚上的當然適合聊點黑客的事,聊一個最近刷到的漏洞的復現,先疊個甲,【夜談漏洞】這個系列裡的漏洞基本都是高危級的,其他平臺其他人都發過發過很多科普和復現,如有類似的文章,純屬巧合。
為什麼把這個漏洞放在最開始講呢?因為我最近復現漏洞的時候才發現,我電腦裡的winrar竟然還有這個漏洞沒有修復(版本在6.23之前的都有這個漏洞)!?這個漏洞從發現收錄到CVE中少說也有一年多了,我竟然一直沒關心。
下面稍微聊一下這個漏洞,然後試著復現一下,就用我這千瘡百孔的筆記本
CVE-2023-38831(Winrar RCE)漏洞,利用的原理是Winrar6.23版本之前,在用戶點擊文件進行文件釋放/執行的過程中釋放了額外的惡意文件。
在釋放結束後,Winrar會調用ShellExecute函數打開該文件,即命令處理函數,其在打開文件的過程中會對文件的文件名/路徑進行處理。
如果文件的末尾為空格” ”,就會在其末尾添加.*通配符,最終導致用戶的點擊的文件沒有正確執行卻錯誤的執行了惡意文件。
簡單來說,就是一個文件名最後加上一個空格,就會被解讀成.bat或.cmd被win的命令行運行。
我們隨便寫一個漏洞生成程序gen.py(其實是我直接從github上copy的),它的作用就是打包攻擊BAT到一個無用的文件(比如PDF或者PNG)裡,集成為一個RAR文件,用戶看到的只是那個圖片或者PDF,但是解壓運行就是BAT(因為win的文件策略,如果以BAT運行一個png文件,那麼就會檢索文件內容中的命令並執行)。
我們拿凡三歲老師很喜歡用的一張表情包作為復現示例“sansui.png”:
把漏洞腳本設置為打開計算器(通過命令行,理論上如果可以利用命令行打開計算器,那麼基本就屬於為所欲為了)
運行腳本構造RAR壓縮包,生成攻擊RAR:“sansui.rar”
打開該RAR,雙擊圖片,發現計算器被調用:
注意的是,WINRAR沒有自動更新,所有大部分人的電腦其實都可以被這個漏洞攻擊(即使這個漏洞這是一年前發現的),很多人可能感覺沒啥用,但是事實上直到現在仍有不少的黑客組織正在積極的利用此漏洞發起網絡釣魚攻擊,能更新還是更新一下吧。
萬一哪天就收到別人發的表情包的壓縮包了呢