分析“正式版”的Kraken Cryptor勒索軟體
一、前言
FortiGuard實驗室最近檢測到了新版本的Kraken Cryptor勒索軟體,雖然這款變種配置檔案中刪除了beta標籤,但依然存在許多bug,並且開發者仍然在不斷修改該軟體的基本功能。
這款勒索軟體變種相對較新,僅從今年8月份開始傳播。很明顯這款勒索軟體仍處於開發狀態,開發者正往其中新增新的函式來改進其功能。然而,當我們分析最近的樣本時,我們發現新版本的惡意軟體仍然不太穩定,無法正常執行。惡意軟體中充斥著程式碼錯誤,甚至還存在用於除錯的訊息框。在碰到多個不可用的版本後,我們最終找到了能夠正常執行的一個樣本。
在本文中,我們將分析能夠“正常工作”的Kraken Cryptor勒索軟體,這款軟體仍在開發中,開發者試圖使其功能上能夠更加穩定。如果大家想了解這款勒索軟體基本功能的詳細資訊,可以訪問McAfee上個月發表的一篇 ofollow,noindex" target="_blank">分析文章 。
二、存在多個bug的2.1版
我們在11月上旬發現了2.1版,然後我們很快意識到這是一個存在bug的版本,在執行完畢後並不會感染我們的測試系統。之所以會發生這種情況,並不是因為樣本中存在新的反分析功能,而只是因為樣本會檢查其配置檔案中並不存在的一個標記(tag)。
圖1. Kraken Cryptor Ransomware V2.1中讀取配置欄位值的bug
這樣會導致該函式永遠返回false,強迫惡意軟體呼叫一個自清除函式結束執行並自行刪除。
找到存在bug的這個樣本後,我們又在幾個小時之後發現了標記為2.1版的另一個樣本,其中刪掉了我們剛剛發現的bug。然而,這個版本中包含另一個錯誤,在獲取地理位置的函式中存在一個邏輯異常處理問題,導致離線安裝功能被禁用。這個函式會連線到ipinfo[.]io/json來獲取系統的地理位置資訊。如果無法建立連線,則會捕獲到異常,然後不會為地理位置變數賦任何值,導致讀取配置資料失敗。因此,這個版本只能在線上環境中執行。
另一個有趣的地方在於,樣本中還包含一個異常除錯訊息。
圖2. Kraken Cryptor勒索軟體中的除錯訊息對話方塊
有趣的是,我們在之前的v2.07版本中看到過一些MessageBox語句。然而2.1版本中的MessageBox語句數量更多。在過去的幾天內,開發人員多次修改了Kraken Cryptor勒索軟體的原始碼,在傳播過程中沒有刪除這些除錯訊息,甚至也沒有刪除無法執行的bug。
我們還發現在同一個版本的配置資料中存在不同的電子郵件,因此我們相信這兩個樣本可能由不同的開發者編譯。在這個樣本中我們只找到了middleeast[@]cock.li這個郵箱,而本文中我們分析的其他樣本中的郵箱都為onionhelp[@]memeware[.]net。
圖3. 同一版本(2.1)不同樣本中存在不同的郵箱
三、帶有HelloWorld!特徵的2..2版
分析存在bug的2.1版樣本後,不久我們又發現了新的版本。更新版雖然離線安裝功能依然處於禁用狀態,但整體功能正常。其他所有功能與先前版本幾乎完全相同,除了一個有趣的功能之外,這個功能可以在main函式的開頭位置找到。
圖4. 動態編譯HelloWorld!
現在樣本中添加了經過動態編譯和執行的一個HelloWorld!示例原始碼。開發者貌似正在把玩原始碼。
四、2.1版後修改功能
配置修改
這個新版樣本在2.1版的配置檔案的基礎上新增了一個標籤partner,該標籤取代了舊版標籤operate。
圖5. 配置中的partner欄位及api字串中的beta欄位(於2.1版中刪除)
我們還發現2.1版已從配置資料中刪除了beta標籤。在2.07版中,這個標籤在配置資料中的值為1,表明當時樣本仍處於beta版中。然而在2.1版中,樣本在API查詢字串中會將這個欄位的值設定為0,這意味著該樣本與beta版有所不同。
配置資料中還存在另一個改動:help_voice。
圖6. 配置資料中的help_voice
通過這個配置檔案,惡意軟體會使用CScript來執行生成的Visual Basic指令碼檔案(.vbs),指令碼檔案的內容位於API標誌中。執行指令碼檔案後,惡意樣本會語音念出配置資料中預置的文字內容。
圖7. 執行CScript處理新建立的.vbs
最後一處改動就是skip_directories標籤。惡意樣本嘗試跳過某些目錄,以便加快加密過程。
在下圖中,我們展示了2.07、2.1以及2.2版本間的不同的配置資料。紅色方框高亮部分表示2.1版中跳過的某些目錄。
圖8. 2.07、2.1以及2.2版之間的配置更改
在2.2版中,我們還發現配置中的price以及price_unit採用USD來結算,並沒有採用BTC,這與之前的版本有所不同。
刪除anti-smb及anti-rdp
module標籤內容與2.04版存在較大不同,如下圖所示。開發者從2.07版開始刪除了反分析模組中關於smb及rdp方面的配置。這些配置最早源自於2.04版,惡意軟體使用smb以及rdp標籤來阻止被感染環境使用smb及rdp連線。然而,我們沒有在2.1及2.2版中找到這些功能。
圖9. 2.04版中的模組配置
可疑的SelfKill檢查
我們還在這兩個新版本中找到了另一個有趣的檢查過程。Kraken現在會檢查特定的使用者名稱、特定的檔案甚至特定的IP或者國家程式碼。如果滿足這些條件,惡意軟體會停止感染系統,執行自刪除操作。
圖10. 可疑的SelfKill檢查
比如,樣本中出現的104.207.76[.]103這個IP地址隸屬於義大利的那不勒斯地區。
圖11. 使用IPINFO api檢查地理位置
五、總結
Fortiguard實驗室發現了Kraken Cryptor勒索軟體的最新版本,該版本從8月份以來一直處於開發狀態中。在這個新版樣本中,有些bug會導致惡意軟體無法執行,或者會禁用老版樣本中的一些功能。比如,離線檔案加密模組現在會處於禁用狀態。我們還發現雖然配置檔案經過修改,但主要的功能並沒有被大量修改。此外,我們發現雖然這個程式實際上仍處於“beta”狀態(因為其中存在許多明顯的錯誤),但開發者依然移除了程式的beta標籤。
FortiGuard實驗室會繼續跟蹤這個惡意軟體家族。
六、解決方案
有以下解決方案能夠保護Fortinet使用者免受此類威脅:
七、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