一、前言

FortiGuard實驗室最近檢測到了新版本的Kraken Cryptor勒索軟件,雖然這款變種配置文件中刪除了beta標(biāo)簽,但依然存在許多bug,并且開發(fā)者仍然在不斷修改該軟件的基本功能。
這款勒索軟件變種相對較新,僅從今年8月份開始傳播。很明顯這款勒索軟件仍處于開發(fā)狀態(tài),開發(fā)者正往其中添加新的函數(shù)來改進其功能。然而,當(dāng)我們分析最近的樣本時,我們發(fā)現(xiàn)新版本的惡意軟件仍然不太穩(wěn)定,無法正常運行。惡意軟件中充斥著代碼錯誤,甚至還存在用于調(diào)試的消息框。在碰到多個不可用的版本后,我們最終找到了能夠正常運行的一個樣本。
在本文中,我們將分析能夠“正常工作”的Kraken Cryptor勒索軟件,這款軟件仍在開發(fā)中,開發(fā)者試圖使其功能上能夠更加穩(wěn)定。如果大家想了解這款勒索軟件基本功能的詳細信息,可以訪問McAfee上個月發(fā)表的一篇分析文章。
二、存在多個bug的2.1版
我們在11月上旬發(fā)現(xiàn)了2.1版,然后我們很快意識到這是一個存在bug的版本,在執(zhí)行完畢后并不會感染我們的測試系統(tǒng)。之所以會發(fā)生這種情況,并不是因為樣本中存在新的反分析功能,而只是因為樣本會檢查其配置文件中并不存在的一個標(biāo)記(tag)。

圖1. Kraken Cryptor Ransomware V2.1中讀取配置字段值的bug
這樣會導(dǎo)致該函數(shù)永遠返回false,強迫惡意軟件調(diào)用一個自清除函數(shù)結(jié)束運行并自行刪除。
找到存在bug的這個樣本后,我們又在幾個小時之后發(fā)現(xiàn)了標(biāo)記為2.1版的另一個樣本,其中刪掉了我們剛剛發(fā)現(xiàn)的bug。然而,這個版本中包含另一個錯誤,在獲取地理位置的函數(shù)中存在一個邏輯異常處理問題,導(dǎo)致離線安裝功能被禁用。這個函數(shù)會連接到ipinfo[.]io/json來獲取系統(tǒng)的地理位置信息。如果無法建立連接,則會捕獲到異常,然后不會為地理位置變量賦任何值,導(dǎo)致讀取配置數(shù)據(jù)失敗。因此,這個版本只能在在線環(huán)境中運行。
另一個有趣的地方在于,樣本中還包含一個異常調(diào)試消息。

圖2. Kraken Cryptor勒索軟件中的調(diào)試消息對話框
有趣的是,我們在之前的v2.07版本中看到過一些MessageBox語句。然而2.1版本中的MessageBox語句數(shù)量更多。在過去的幾天內(nèi),開發(fā)人員多次修改了Kraken Cryptor勒索軟件的源代碼,在傳播過程中沒有刪除這些調(diào)試消息,甚至也沒有刪除無法執(zhí)行的bug。
我們還發(fā)現(xiàn)在同一個版本的配置數(shù)據(jù)中存在不同的電子郵件,因此我們相信這兩個樣本可能由不同的開發(fā)者編譯。在這個樣本中我們只找到了middleeast[@]cock.li這個郵箱,而本文中我們分析的其他樣本中的郵箱都為onionhelp[@]memeware[.]net。

圖3. 同一版本(2.1)不同樣本中存在不同的郵箱
三、帶有HelloWorld!特征的2..2版
分析存在bug的2.1版樣本后,不久我們又發(fā)現(xiàn)了新的版本。更新版雖然離線安裝功能依然處于禁用狀態(tài),但整體功能正常。其他所有功能與先前版本幾乎完全相同,除了一個有趣的功能之外,這個功能可以在main函數(shù)的開頭位置找到。

圖4. 動態(tài)編譯HelloWorld!
現(xiàn)在樣本中添加了經(jīng)過動態(tài)編譯和執(zhí)行的一個HelloWorld!示例源碼。開發(fā)者貌似正在把玩源代碼。
四、2.1版后修改功能
配置修改
這個新版樣本在2.1版的配置文件的基礎(chǔ)上新增了一個標(biāo)簽partner,該標(biāo)簽取代了舊版標(biāo)簽operate。

圖5. 配置中的partner字段及api字符串中的beta字段(于2.1版中刪除)
我們還發(fā)現(xiàn)2.1版已從配置數(shù)據(jù)中刪除了beta標(biāo)簽。在2.07版中,這個標(biāo)簽在配置數(shù)據(jù)中的值為1,表明當(dāng)時樣本仍處于beta版中。然而在2.1版中,樣本在API查詢字符串中會將這個字段的值設(shè)置為0,這意味著該樣本與beta版有所不同。
配置數(shù)據(jù)中還存在另一個改動:help_voice。

圖6. 配置數(shù)據(jù)中的help_voice
通過這個配置文件,惡意軟件會使用CScript來執(zhí)行生成的Visual Basic腳本文件(.vbs),腳本文件的內(nèi)容位于API標(biāo)志中。運行腳本文件后,惡意樣本會語音念出配置數(shù)據(jù)中預(yù)置的文本內(nèi)容。

圖7. 執(zhí)行CScript處理新創(chuàng)建的.vbs
最后一處改動就是skip_directories標(biāo)簽。惡意樣本嘗試跳過某些目錄,以便加快加密過程。
在下圖中,我們展示了2.07、2.1以及2.2版本間的不同的配置數(shù)據(jù)。紅色方框高亮部分表示2.1版中跳過的某些目錄。

圖8. 2.07、2.1以及2.2版之間的配置更改
在2.2版中,我們還發(fā)現(xiàn)配置中的price以及price_unit采用USD來結(jié)算,并沒有采用BTC,這與之前的版本有所不同。
刪除anti-smb及anti-rdp
module標(biāo)簽內(nèi)容與2.04版存在較大不同,如下圖所示。開發(fā)者從2.07版開始刪除了反分析模塊中關(guān)于smb及rdp方面的配置。這些配置最早源自于2.04版,惡意軟件使用smb以及rdp標(biāo)簽來阻止被感染環(huán)境使用smb及rdp連接。然而,我們沒有在2.1及2.2版中找到這些功能。

圖9. 2.04版中的模塊配置
可疑的SelfKill檢查
我們還在這兩個新版本中找到了另一個有趣的檢查過程。Kraken現(xiàn)在會檢查特定的用戶名、特定的文件甚至特定的IP或者國家代碼。如果滿足這些條件,惡意軟件會停止感染系統(tǒng),執(zhí)行自刪除操作。

圖10. 可疑的SelfKill檢查
比如,樣本中出現(xiàn)的104.207.76[.]103這個IP地址隸屬于意大利的那不勒斯地區(qū)。

圖11. 使用IPINFO api檢查地理位置
五、總結(jié)
Fortiguard實驗室發(fā)現(xiàn)了Kraken Cryptor勒索軟件的最新版本,該版本從8月份以來一直處于開發(fā)狀態(tài)中。在這個新版樣本中,有些bug會導(dǎo)致惡意軟件無法運行,或者會禁用老版樣本中的一些功能。比如,離線文件加密模塊現(xiàn)在會處于禁用狀態(tài)。我們還發(fā)現(xiàn)雖然配置文件經(jīng)過修改,但主要的功能并沒有被大量修改。此外,我們發(fā)現(xiàn)雖然這個程序?qū)嶋H上仍處于“beta”狀態(tài)(因為其中存在許多明顯的錯誤),但開發(fā)者依然移除了程序的beta標(biāo)簽。
FortiGuard實驗室會繼續(xù)跟蹤這個惡意軟件家族。
六、解決方案
有以下解決方案能夠保護Fortinet用戶免受此類威脅:
FortiGuard反病毒產(chǎn)品能夠檢測相關(guān)文件
FortiGuard Web過濾服務(wù)能夠阻止惡意URL及釣魚URL
七、IoC
樣本:
f1334e51705ba874bf61e50e57288228c2f1d8334c4c385f3b454cc6c07c982a - MSIL/Filecoder.PI!tr
d57d0689c2600b47faab6ac43e22daab1f76b4dfef35e7752a671b6bbe484b37 - MSIL/Filecoder.PI!tr
f7358b103185458619e7203c3de6ed503374914318fc2aee52ed1d704b0cb0a8 - MSIL/Filecoder.PI!tr
c915d380cc548876754f9c9f0c7ecb8ec6923f150cd77822ede330a2a9283d21 - MSIL/Filecoder.PI!tr
6fc366dbc035226190c72d93962d2ad3c1c1f9c93fa1f63a9b31eb969d3f57d7 - MSIL/Filecoder.PI!tr
30147aefa2a24c6c5efeef4b6f6980cfc04aa6cd7c85aff9a3cb8316a14bd2e7 - MSIL/Filecoder.PI!tr
0857d5f714e88a2347affff4a440d9c76e6ddd18265e1c9a7d1c9966b0bfe61a - MSIL/Filecoder.PI!tr
信息收集所使用的URL:
hxxps://2no[.]co/2FtQu5 - Malicious
|