0
在網(wǎng)絡(luò)技術(shù)不斷發(fā)展的同時(shí),一系列的網(wǎng)絡(luò)惡意軟件也在不斷衍生。勒索軟件是黑客用來(lái)劫持用戶資產(chǎn)或資源并以此為條件向用戶勒索錢財(cái)?shù)囊环N惡意軟件。最近非常火熱的CryptXXX又有了變種,新版CryptXXX變得更加兇悍了。
新版CryptXXX勒索軟件不僅能夠加密目標(biāo)用戶電腦和網(wǎng)絡(luò)上的所有文件,用戶還還無(wú)法用數(shù)據(jù)備份來(lái)恢復(fù)文件——這是新版CryptXXX的重要功能升級(jí)之一。
卡巴斯基實(shí)驗(yàn)室的安全研究人員一直都在與CryptXXX作斗爭(zhēng):先前研究人員曾發(fā)布過(guò)一個(gè)解密工具,受害者不需要支付贖金就能恢復(fù)自己的文件;要是沒有解密工具的話,受害者至少需要支付500美元才能解密文件。CryptXXX的開發(fā)者發(fā)現(xiàn)卡巴斯基的這一舉動(dòng)后,也開始調(diào)整程序代碼使得破解過(guò)程變成更加困難。最近開發(fā)者就發(fā)布了一個(gè)新版本的CryptXXX。安全公司SentinelOne本周一的一篇博客中提到,在6月4日-6月21日之間,新版本的贖金總數(shù)已經(jīng)達(dá)到45228美元,當(dāng)然這不包括前面版本的收入。
實(shí)際早在5月21日的時(shí)候,CryptXXX的開發(fā)者就將該惡意軟件的代碼更新至3.0版本。此次更新的目的就是為了防止卡巴斯基推出的RannohDecryptor解密程序,免費(fèi)解鎖被加密的文件。
新版本CryptXXX仍舊支持對(duì)單個(gè)文件進(jìn)行加密,不過(guò)文件尺寸限定在512KB。新版本的主要改進(jìn)在于破解難度加大了不少。其他改進(jìn)還包括,相較之前.crypz和.crypt后綴,新版CryptXXX生成加密文件的后綴統(tǒng)一為.crypt1;還有就是前面提到的,針對(duì)系統(tǒng)shadow volume卷備份的刪除,防止數(shù)據(jù)可從備份恢復(fù)。另外,其傳播是通過(guò)垃圾郵件進(jìn)行的,但SentinelOne表示,黑客可能還用到了其他傳播途經(jīng)。
查看惡意DLL文件屬性,發(fā)現(xiàn)它的文件屬性細(xì)節(jié)其實(shí)來(lái)自某個(gè)名為_BigBang.dll的合法文件,兩者的細(xì)節(jié)信息基本上是一樣的。
其實(shí)從這樣的文件細(xì)節(jié)信息,根本看不出什么異樣,令其看起來(lái)就像一般程序。先前的CryptXXX樣本還會(huì)偽裝成微軟的合法DLL文件。從unpacker的imports來(lái)看,絕大部分內(nèi)容也好像問(wèn)題不大,偶爾有一些跟crypto加密相關(guān)的詞匯出現(xiàn)。從imports和exports列表的情況來(lái)看,很多函數(shù)是相關(guān)圖像處理的(和上面提到合法的_BigBang.dll肯定是完全不一樣了),似乎并沒有什么卵用,這些應(yīng)該是用來(lái)妨礙分析的。
Unpack過(guò)程是通過(guò)VirtualAlloc為加密payload分配內(nèi)存,然后復(fù)制加密字節(jié)。隨后payload解密,但仍舊是壓縮過(guò)的。
根據(jù)上一版本的經(jīng)驗(yàn)在這里可以尋找“MZ”頭,但卻找到了“M8ZP8”以及一部分可讀的字符串“This ? progr3am…”,其實(shí)這對(duì)Windows可執(zhí)行文件而言是很正常的。M8ZP8頭與aPLiB壓縮PE文件相符。
點(diǎn)擊這里查看Python腳本,里面有其壓縮具體的算法實(shí)施,和運(yùn)行的技術(shù)描述詳情。首先dump包含壓縮payload的內(nèi)存片段,修剪null字節(jié),用上述Python腳本成功解壓。得到的文件再用IDA進(jìn)行分析,實(shí)際上并不完整,而且也不包含有效的導(dǎo)入表(import table)。
payload解密之后,unpacker創(chuàng)建文件C:\PROGRA~2\Z (c:\ProgramData\Z),該文件會(huì)通過(guò)kernel32.GetFileType來(lái)核查,檢查是否為FILE_TYPE_CHAR。如果是的話,在不執(zhí)行惡意payload的情況下,代碼結(jié)束。隨后,當(dāng)前時(shí)間、文件名,外加\r\n,寫入到Z文件中。像下面這樣:
這些字符串寫入文件后不久,這個(gè)文件就會(huì)被刪除。不清楚為什么要這么做,可能是用來(lái)干擾分析過(guò)程的。
然后unpaker通過(guò)查詢注冊(cè)表來(lái)確認(rèn)Startup的位置:
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Startup
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup(Win7環(huán)境下的路徑)
這個(gè)位置的作用其實(shí)很明確,Unpack代碼會(huì)在里面放入HTML勒索信,這也算是勒索過(guò)程的重點(diǎn)嘛。
從分析的樣本來(lái)看,是從某個(gè).Ink快捷方式執(zhí)行,該快捷方式指向rundll32.exe F0F3.tmp.dll,MSX3。此處,后面的,MSX3是個(gè)附加參數(shù),這句命令就是加載F0F3.tmp.dll,隨后執(zhí)行MSX3函數(shù)。實(shí)際上unpacker里面并不存在MSX3函數(shù),所以應(yīng)該是payload的一部分。
所以也就很有可能是通過(guò)調(diào)用VirtualProtect來(lái)轉(zhuǎn)儲(chǔ)unpack過(guò)后的payload。既然需要確認(rèn)MSX3函數(shù)的地址,我就在GetProcAddress建立一個(gè)斷點(diǎn)。
取回MSX3的地址之后,執(zhí)行跳往該地址,文件加密、勒索行為也就開始了。
似乎payload使用Delphi編譯的,通過(guò)如下信息可知。從下面這個(gè)列表來(lái)看,部分imports似乎還用到了DNS、POP3以及SMTP協(xié)議。不過(guò)這些函數(shù)相較MSX3,應(yīng)該是通過(guò)不同的入口點(diǎn)來(lái)調(diào)用的。
最終,被勒索軟件鎖定的文件使用RSA和RC4混合加密,加密之后的文件擴(kuò)展名為.cryp1,之前版本的擴(kuò)展名為.crypt。如前面提到的,前一版本可以通過(guò)解密工具進(jìn)行解密,但是新版本就無(wú)法實(shí)現(xiàn)了。
被加密過(guò)的文件所在的每個(gè)文件夾里面都會(huì)有勒索信。其中一封是文本文件,另一封就是HTML格式了。文本形式的勒索信是下面這樣的:
如前文提到的新版CryptXXX加入的新特性:文件完成加密后,磁盤上所有的備份文件都會(huì)被刪除,防止用戶用文件恢復(fù)這一招。
顯示在屏幕上的勒索信息是這個(gè)樣子的:
為了進(jìn)一步警告用戶問(wèn)題的嚴(yán)重性,CryptXXX還會(huì)在
路徑下,創(chuàng)建<RANSOM ID>.html以及<RANSOM ID>.bmp兩個(gè)文件。其實(shí)也是勒索信,不過(guò)跟前面提到的略有不同,重啟計(jì)算機(jī)之后就會(huì)出現(xiàn):
點(diǎn)擊進(jìn)入支付頁(yè)面,頁(yè)面會(huì)讓受害者填寫相應(yīng)信息,就是勒索軟件分配的ID:
用這個(gè)ID登錄之后,就會(huì)顯示如下頁(yè)面:
如果受害者都沒聽過(guò)比特幣,或者不會(huì)用比特幣支付,那么也不要緊,下面這個(gè)頁(yè)面會(huì)教你怎么做的。
為了證明他們的確能夠提供解密服務(wù),下面這個(gè)頁(yè)面主要是供受害者進(jìn)行解密服務(wù)的試用(服務(wù)很貼心),但這個(gè)所謂的試用服務(wù),解密文件的大小限定在512KB之內(nèi)。
其實(shí)要避免勒索軟件感染,就如同避免其他惡意軟件一樣。保持Windows 和瀏覽器相關(guān)的組件(Java, Adobe等)獲得最新的更新。此外,也要保持瀏覽器干凈,注意預(yù)防能導(dǎo)致惡意感染的廣告軟件的侵入,還有不輕易打開來(lái)源不明的郵件附件。這次新版的CryptXXX具備刪除磁盤shadow volume備份文件的能力,那么其實(shí)也可以考慮將重要的文件備份到其他位置。
雷鋒網(wǎng)注:本文參考來(lái)源:arstechnica、sentinelone,由飯團(tuán)君編譯,F(xiàn)reeBuf獨(dú)家文章授權(quán)雷鋒網(wǎng)發(fā)布,轉(zhuǎn)載請(qǐng)注明出處(FreeBuf黑客與極客FreeBuf.COM)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。