當前位置:
首頁 > 新聞 > 披著羊皮的狼:如何利用漏洞以特定圖標偽裝可執行文件

披著羊皮的狼:如何利用漏洞以特定圖標偽裝可執行文件

這個漏洞背後的圖標顯示bug可以深溯到Windows圖像處理代碼,其允許攻擊者「借來」本地其他常用的圖標並自動將可移植的可執行文件偽裝起來,這樣就更容易誘使用戶打開他們。保守來說,自從Windows 7以來,這個bug就已經出現,而且仍然存在於最新版本的Windows 10中。


我們最近在研究一批惡意PE文件的時候發現了這個bug,在將一個文件從一個目錄拷貝到一個目錄的之後,我們發現了一個奇怪的行為:一些文件的圖標改變了。為了排除出錯的可能性,我們又將文件拷貝到另一個目錄下,不過情況還是一樣,這些文件的圖標變成了其他很常見,卻與其毫不相關的圖標。這引起了我們的興趣,並對這個奇怪的現象展開調查。


視頻演示:


這批2017年4月的惡意文件包含了幾十個Cerber勒索軟體的樣本,而這些勒索軟體都發生了這種異常現象。在資源管理器中,樣本提取的圖標如下圖所示



有些人乍一看可能認為這只是一些勒索軟體使用的人畜無害的圖標(確實,不過左上角那個圖標很奇怪),但是在將這些圖標轉換成不同的內部圖像格式後,這些圖標展示了其真面目。



可以看出,這些圖標有些奇怪的地方:都基於Adobe圖標,且全部是黑白的,不過除此之外就是一個很正常的圖標了。這些文件幾乎都有輕微的像素修改痕迹,表明其是自動生成的,目的是用來躲避基於圖標的簽名。


下圖為Adobe的圖標:



正當許多惡意程序使用一些資源在殺毒軟體和人的眼睛之前隱藏自己時,我們需要知道的是其圖標並不是真正顯示在屏幕上的圖標,除了模仿Adobe的圖標,他們都有一個共同點,它們都是我們所稱的「真單色圖標」(True Monochrome Iron),簡稱TMI。


TMI是具有兩個特定品質的圖標——它們只有兩種顏色(即它們的比特每像素(bpp)為1),這兩種顏色正好是黑色(0x000000)和白色(0xFFFFFF)。值得注意的是,圖標可以是具有其他顏色的單色(就像黑白一樣),但它們並不是單色(bpp高於1),所以說bpp=1這種現象只發生在真單色圖標上。

圖標文件格式的完整文檔請點擊下方鏈接查看



https://msdn.microsoft.com/en-us/library/ms997538.aspx


https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376%28v=vs.85%29.aspx


這是從Ceber樣本中提取的實例:



以往經驗及實驗表明:不需要特別製作,任何TMI圖標都發生了不正常的圖標轉換。為了證明這一點,我們使用了十六進位編輯器做了我們自己的空TMI(任何人都可以嘗試DIY)。



現在我們將這個圖標作為唯一的」HelloWorld「程序圖標,Windows資源管理器顯示如下:


改名之後又變成了這個:



來張動圖感受一下:



這到底是什麼情況???


看起來問題在於圖標渲染和緩存的方式,以及TMI所受到的特殊處理方式,這使得他們不會覆蓋現有的目標。


Windows資源管理器,和其他應用程序中基於資源管理器的框架一樣,使用comctl32.dll(用戶體驗控制庫)中的CImageList類實現圖標緩存。



https://msdn.microsoft.com/en-us/library/9xc4z2c7.aspx


緩存是通過將文件的路徑映射到CImageList中的索引實現的(有多個這樣的緩存,大小不同),因此,在查看一個圖標已經被渲染過的文件時,簡單地將圖標從緩存中取出就好了;而尚未遇到的路徑則需要根據文件類型從頭開始渲染,然後再將其添加到緩存中。這就是為什麼當瀏覽一個有很多圖標文件的目錄,或查看具有嵌入圖標的PE文件時,文件會有延遲地逐漸顯示。另外,當文件被拷貝或重命名時,它們的圖標會被再次渲染,因為它們會被當作新遇到的路徑。

然而這些都只有有限且相對較小的尺寸,當一個新圖標被添加到圖像列表中時,如果它還不是空的,所使用的索引就是-1,並且會附加新圖標。但是當列表滿了的時候,新圖標會覆蓋先前創建的圖標,並將他替換為其索引(可能基於LRU)。


該邏輯在CImageList::_ReplaceIron函數中實現。



添加或替換依賴於所給的索引



經過一些操作之後,該函數將檢查索引處的當前圖像是否具有Alpha通道,如果有(幾乎每次都是這樣),就立一個用於決定以後該如何調用

DrawIronEx

的flag


 

如果這個flag立了,該函數稍後就會使用flag DI_MASK (1)調用DrawIconEx來繪製列表中預先存在的圖標,而不是DI_NORMAL (3)。


 


在內部,圖標和圖像一般可能包含兩個不同的像素圖——「顏色」和「蒙版」,這可以應用於顏色上,如ICONINFO的文檔所示:



https://msdn.microsoft.com/en-us/library/windows/desktop/ms648052.aspx


所以本質上可以這樣解釋:僅僅」蒙版「部分被繪製,且覆蓋了蒙版的DC(Device context) ( [esi+7ch] )而不是顏色的DC ( [esi+78h] ). 。當圖標是TMI時,這種情況導致了沒有像素被覆蓋,且之後會借用CImageList先前佔用者的索引來渲染圖標!


如果要實現這種情況,就需要緩存已滿,這取決於這些函數的調用者。但是這些類似於資源管理器的組件(如」文件打開「對話框)的大小實際上都非常小。


舉個例子表明這可能發生在使用這些組件的任何進程中。該截圖截於在」Outlook 2016「中的」添加附件「窗口中瀏覽滿是TMI的目錄時,


不僅僅是圖標文件會觸發這個bug(不包括嵌入圖標的PE文件),不過條件是這些必須是文件中唯一的圖標類型,因為選擇「最佳擬合」圖標的Windows的演算法往往會根據大小和從高顏色深度到低顏色深度的順序排列嵌入圖標 。


既然是這種情況,我們決定再搜索我們的惡意軟體資料庫中只包含TMI的樣本,所有篩選出的樣本都無一例外地觸發了這個bug,而在良性樣本資料庫中進行的類似搜索沒有得到任何結果。


我們根據他們使用的圖標變化將這些樣本分成以下幾組:





如上所述,第一次檢測到的是從4月17日的Cerber勒索軟體樣本濫用Adobe徽標圖標。 這裡有五個這樣的樣品(以及他們目前在我們的機器上出現的方式):




https://www.virustotal.com/en/file/10b2fd1e06c3ac73d23e67bb59c4294cef8485bdc1b116005c56bfb950f21e44/analysis/


https://www.virustotal.com/en/file/4559b52596deb7a8181df722bebcf08921b97451d944840cf6bdf0c04c1bc364/analysis/

https://www.virustotal.com/en/file/bf66c5ccfa0319fe695d8fe5afcb5492c909aff70748b550259ac20974a18f80/analysis/


https://www.virustotal.com/en/file/f2bf40f15b44a28be2d9ff5c1572a84c6ba5a8942d6c1a01aa44db51aa2d1ccb/analysis/


https://www.virustotal.com/en/file/f7c15cb91ddaebf03f523e4eed412377217b511ee8f37ba99a8d8b7832f227df/analysis/


這些樣本可能只是自動生成的,附帶偽隨機資源來偽裝的PE文件中的一小部分 ,由此我們認為Cerber並未故意利用這個bug(還不能十分確信)。但是,我們同時也在從2014年到2017年的樣本中尋找和我們自己製作TMI圖標差不多的文件。通過尋找,認為有些文件的創建者知道這個bug,並積極地利用它,因為一個本身不試圖模擬任何現有的應用程序的空圖標沒有任何價值。


這個bug雖然不是一個重大的安全漏洞,但足夠提醒您以下幾點:


對網路釣魚活動保持警惕。


耳熟能詳的」不要打開可疑的電子郵件的附件「。


顯示文件的拓展名,因為這可以幫助我們辨別文件。


該錯誤在2017年6月向微軟報告,我們的研究在他們的許可下發布。


*參考來源:Cybereason,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

基於Wi-Fi的HID注射器,利用WHID攻擊實驗
當AI遇到網路安全:四層智能化革命蓄勢待發
科技之殤:端到端加密究竟保護了誰?
Angr:一個具有動態符號執行和靜態分析的二進位分析工具
我們要在任何可能的地方測試XSS漏洞

TAG:FreeBuf |

您可能感興趣

如何繪製功能圖標基礎篇?
如何製作描邊風格的圖標?
如何自定義滑鼠圖標
郵件圖標:用PS鼠繪時尚的郵件圖標
蘋果研發系統新功能:或將允許用戶調整應用圖標尺寸
摩托羅拉可摺疊手機專利曝光:竟然用了蘋果的圖標
曙光守護者背景故事曝光 神秘圖標暗示4款新皮膚!
《刺客:奧德賽》選擇很重要 探索模式沒有指引圖標!
還記得LOL第一個改技能圖標的皮膚嗎 還是一個全特效皮膚
手機狀態欄這些圖標都幹什麼用?不知道損失太大了
逼真立體毛絨圖標案列
搞笑圖片:就算你不識字,能找到這個齒輪狀圖標嗎?
圖標繪製:PS繪製卡通風格的兔子圖標
黑板圖標:用PS繪製小黑板應用圖標
擬物圖標:用PS繪製擬物風格手機圖標
裝逼技能:怎樣優雅地擺放桌面圖標?
海賊王草帽團現實穿衣風格,布魯克真的搖滾王子,娜美圖標亮了!
圖標|實質的含義 現代的裝飾
手機圖標還能扔著玩:這個技能太酷了
U盤小偷神器:能徹底隱藏軟體圖標,並自動複製別人的U盤文件