備份文件就能防勒索軟件?沒那么簡單

在網(wǎng)絡技術不斷發(fā)展的同時,一系列的網(wǎng)絡惡意軟件也在不斷衍生。勒索軟件是黑客用來劫持用戶資產(chǎn)或資源并以此為條件向用戶勒索錢財?shù)囊环N惡意軟件。最近非?;馃岬腃ryptXXX又有了變種,新版CryptXXX變得更加兇悍了。
暫時無解
新版CryptXXX勒索軟件不僅能夠加密目標用戶電腦和網(wǎng)絡上的所有文件,用戶還還無法用數(shù)據(jù)備份來恢復文件——這是新版CryptXXX的重要功能升級之一。
卡巴斯基實驗室的安全研究人員一直都在與CryptXXX作斗爭:先前研究人員曾發(fā)布過一個解密工具,受害者不需要支付贖金就能恢復自己的文件;要是沒有解密工具的話,受害者至少需要支付500美元才能解密文件。CryptXXX的開發(fā)者發(fā)現(xiàn)卡巴斯基的這一舉動后,也開始調整程序代碼使得破解過程變成更加困難。最近開發(fā)者就發(fā)布了一個新版本的CryptXXX。安全公司SentinelOne本周一的一篇博客中提到,在6月4日-6月21日之間,新版本的贖金總數(shù)已經(jīng)達到45228美元,當然這不包括前面版本的收入。
實際早在5月21日的時候,CryptXXX的開發(fā)者就將該惡意軟件的代碼更新至3.0版本。此次更新的目的就是為了防止卡巴斯基推出的RannohDecryptor解密程序,免費解鎖被加密的文件。
新版本CryptXXX仍舊支持對單個文件進行加密,不過文件尺寸限定在512KB。新版本的主要改進在于破解難度加大了不少。其他改進還包括,相較之前.crypz和.crypt后綴,新版CryptXXX生成加密文件的后綴統(tǒng)一為.crypt1;還有就是前面提到的,針對系統(tǒng)shadow volume卷備份的刪除,防止數(shù)據(jù)可從備份恢復。另外,其傳播是通過垃圾郵件進行的,但SentinelOne表示,黑客可能還用到了其他傳播途經(jīng)。
新版CryptXXX分析
查看惡意DLL文件屬性,發(fā)現(xiàn)它的文件屬性細節(jié)其實來自某個名為_BigBang.dll的合法文件,兩者的細節(jié)信息基本上是一樣的。


其實從這樣的文件細節(jié)信息,根本看不出什么異樣,令其看起來就像一般程序。先前的CryptXXX樣本還會偽裝成微軟的合法DLL文件。從unpacker的imports來看,絕大部分內容也好像問題不大,偶爾有一些跟crypto加密相關的詞匯出現(xiàn)。從imports和exports列表的情況來看,很多函數(shù)是相關圖像處理的(和上面提到合法的_BigBang.dll肯定是完全不一樣了),似乎并沒有什么卵用,這些應該是用來妨礙分析的。

Unpack過程是通過VirtualAlloc為加密payload分配內存,然后復制加密字節(jié)。隨后payload解密,但仍舊是壓縮過的。


根據(jù)上一版本的經(jīng)驗在這里可以尋找“MZ”頭,但卻找到了“M8ZP8”以及一部分可讀的字符串“This ? progr3am…”,其實這對Windows可執(zhí)行文件而言是很正常的。M8ZP8頭與aPLiB壓縮PE文件相符。
點擊這里查看Python腳本,里面有其壓縮具體的算法實施,和運行的技術描述詳情。首先dump包含壓縮payload的內存片段,修剪null字節(jié),用上述Python腳本成功解壓。得到的文件再用IDA進行分析,實際上并不完整,而且也不包含有效的導入表(import table)。
payload解密之后,unpacker創(chuàng)建文件C:/PROGRA~2/Z (c:/ProgramData/Z),該文件會通過kernel32.GetFileType來核查,檢查是否為FILE_TYPE_CHAR。如果是的話,在不執(zhí)行惡意payload的情況下,代碼結束。隨后,當前時間、文件名,外加/r/n,寫入到Z文件中。像下面這樣:

這些字符串寫入文件后不久,這個文件就會被刪除。不清楚為什么要這么做,可能是用來干擾分析過程的。
然后unpaker通過查詢注冊表來確認Startup的位置:
SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders/Startup
C:/Users/
這個位置的作用其實很明確,Unpack代碼會在里面放入HTML勒索信,這也算是勒索過程的重點嘛。
從分析的樣本來看,是從某個.Ink快捷方式執(zhí)行,該快捷方式指向rundll32.exe F0F3.tmp.dll,MSX3。此處,后面的,MSX3是個附加參數(shù),這句命令就是加載F0F3.tmp.dll,隨后執(zhí)行MSX3函數(shù)。實際上unpacker里面并不存在MSX3函數(shù),所以應該是payload的一部分。
所以也就很有可能是通過調用VirtualProtect來轉儲unpack過后的payload。既然需要確認MSX3函數(shù)的地址,我就在GetProcAddress建立一個斷點。

取回MSX3的地址之后,執(zhí)行跳往該地址,文件加密、勒索行為也就開始了。
似乎payload使用Delphi編譯的,通過如下信息可知。從下面這個列表來看,部分imports似乎還用到了DNS、POP3以及SMTP協(xié)議。不過這些函數(shù)相較MSX3,應該是通過不同的入口點來調用的。

最終,被勒索軟件鎖定的文件使用RSA和RC4混合加密,加密之后的文件擴展名為.cryp1,之前版本的擴展名為.crypt。如前面提到的,前一版本可以通過解密工具進行解密,但是新版本就無法實現(xiàn)了。
被加密過的文件所在的每個文件夾里面都會有勒索信。其中一封是文本文件,另一封就是HTML格式了。文本形式的勒索信是下面這樣的:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""All your files are encrypted."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""ID: RANDOM-ID-123"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""http://hn5fbbc4pyz77xfa.onion.tohttp://hn5fbbc4pyz77xfa.onion.cabhttp://hn5fbbc4pyz77xfa.onion.city"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Download and install tor-browser https://torproject.org/projects/torbrowser.html.en"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""TorURL: http://hn5fbbc4pyz77xfa.onion"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""Write down the information to notebook (exercise book) and reboot the computer."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
如前文提到的新版CryptXXX加入的新特性:文件完成加密后,磁盤上所有的備份文件都會被刪除,防止用戶用文件恢復這一招。

顯示在屏幕上的勒索信息是這個樣子的:

為了進一步警告用戶問題的嚴重性,CryptXXX還會在
C:/Users/
路徑下,創(chuàng)建

點擊進入支付頁面,頁面會讓受害者填寫相應信息,就是勒索軟件分配的ID:

用這個ID登錄之后,就會顯示如下頁面:

如果受害者都沒聽過比特幣,或者不會用比特幣支付,那么也不要緊,下面這個頁面會教你怎么做的。

為了證明他們的確能夠提供解密服務,下面這個頁面主要是供受害者進行解密服務的試用(服務很貼心),但這個所謂的試用服務,解密文件的大小限定在512KB之內。

防止惡意勒索軟件建議
其實要避免勒索軟件感染,就如同避免其他惡意軟件一樣。保持Windows 和瀏覽器相關的組件(Java, Adobe等)獲得最新的更新。此外,也要保持瀏覽器干凈,注意預防能導致惡意感染的廣告軟件的侵入,還有不輕易打開來源不明的郵件附件。這次新版的CryptXXX具備刪除磁盤shadow volume備份文件的能力,那么其實也可以考慮將重要的文件備份到其他位置。