Ryuk 勒索病毒新變種分析
前言
2020年由于新冠病毒(COVID-19)的持續傳播導致遠程辦公的需求激增,同時網絡攻擊事件也跟著激增,其中勒索病毒最為明顯。整個2020年勒索病毒呈爆發狀態,攻擊規模以及勒索贖金都有了很大的增幅。其中被勒索贖金最高的為富士康勒索事件。2020年12月富士康位于墨西哥工廠的服務器遭到勒索病毒攻擊,攻擊者要求富士康在限期21天內支付1804.0955枚比特幣,約合2.3億元人民幣。
目前最為流行的勒索病毒家族為Maze、REvil、Sodinokibi 、NetWalker、Ryuk等**。**隨著攻防的演進,2020年勒索病毒也增加了新的特點。比如,勒索分成了兩階段勒索。先要求受害者支付贖金換取密鑰以解密文件,然后要求受害者支付另一筆贖金來保證機密信息不被公開。同時,勒索病毒的操縱者們從性價比的角度出發,改變策略,攻擊目標從廣撒網改到精準投放,打擊關鍵的高價值目標,以此換取高額贖金。還有就是從單純勒索行為到與僵尸網絡,挖礦等相互結合。
Ryuk勒索病毒最早在2018年由國外安全公司披露出來,其主要特點是通過垃圾郵件以及漏洞利用工具包進行傳播。阿里云安全中心最近捕獲到一個ryuk新型變種樣本,我們對其橫向傳播技術進行了詳細的分析,以此揭示勒索病毒常見的技術手段。通過分析大家會發現,勒索病毒會想盡一切辦法進行傳播,擴大戰果,造成最大的破壞。最后我們會給出防范建議。
詳細分析
1. 反調試和脫殼
樣本編譯時間為2021.1.22,VT上首次出現的時間為2021.2.2,所以樣本還是很新的。第一件事當然是IDA里做靜態分析。分析發現樣本使用了獨有的加殼程序,這會給靜態分析帶來麻煩。所以我們嘗試讓它自己運行到脫殼解密的狀態,然后我們再做進一步的分析。如下圖,樣本對使用的資源,比如字符串是有加密的。

調試器里運行的時候,發現樣本還具有反調試機制。如下:
這里是一個DebugPort的查詢操作,指針地址給的1,這當然會觸發異常。還有幾個類似的地方需要處理掉。

解決了反調試問題后,樣本的代碼會對自身進行脫殼解密,隨后我們把內存轉儲出來,再修復一下IAT,這樣再分析代碼就會清晰很多了。
2. fileless加密勒索方式
在隨后的分析中我們發現一個有意思的地方,Ryuk勒索病毒在感染遠程機器的時候,并不是將可執行文件傳輸過去,然后拉起再加密。而是通過SMB協議,遠程感染加密了文件。這樣做的好處是,在被攻擊機器上,讀寫文件的上下文都是系統進程。這對于防御引擎來說,將很難決策是否是惡意的勒索行為。
攻擊者使用SMB協議進行遠程登錄和文件訪問,需要先具備登錄權限。在很多企業局域網環境下,服務器的登錄口令都是一樣的,這種情況下,攻擊者通過mimikatz和wce等方式可以拿到賬戶的登錄憑證信息,以此再建立smb會話就很容易了。此處不展開討論。
遠程感染的過程分析如下:
我們在測試環境有兩臺同樣用戶名密碼的測試機:測試機1(192.168.0.28),
測試機2(192.168.0.31),在測試機1運行勒索樣本,在測試機2抓包分析。

在測試機1運行樣本后,測試機2的誘餌文件顯示已被加密,并寫入勒索通知文件。
通過在測試機2抓包發現,測試機1通過SMB遠程登錄到測試機2,然后遠程對測試機2的誘餌文件進行了加密。
樣本在拿到本地憑證的前提下,通過SMB協議登錄局域網內同密碼的機器,然后通過SMB加密遠程機器內的文件實現勒索的目的。
通過SMB協議登錄的前提是有明文密碼或者NTLM hash,明文密碼通過爆破可以拿到,困難度較高,但密碼NTLM hash比較容易獲得,目前公開的工具
1)mimikatz
2)wce(Windows Credentials Editor)
都能拿到NTLM hash,所以病毒也能用同樣都方式獲得NTLM hash。

樣本先是連接445端口,然后通過SMB協議使用NTLM認證登錄遠程機器。

Response包顯示登錄成功。同時遠程機器上的日志也記錄了登錄成功的過程。(192.168.0.28為攻擊者IP)

此處可見登錄成功后去遍歷磁盤分區。

此處可見遠程加密重命名誘餌文件。

以上過程通過SMB協議在不投放病毒的情況下,實現了對目標機的文件加密勒索。對于防守方,這給檢測防御帶來了一定的困難。
3. 持久化和蠕蟲化
此處可見勒索病毒通過SMB拷貝了病毒自身過來,放到了 C:\User\Public\目錄下。

傳播病毒后,后面的流程自然是建立啟動項和進程拉起。通過PronMon監控發現,Ryuk這個勒索病毒是通過schtasks給遠端的受害者機器建立了一個計劃任務。計劃任務建立后,馬上發送了Run的命令來進行拉起。通過這個過程實現了病毒自身的傳播和傳導,勒索病毒實現了持久化和蠕蟲化。


IDA里找到創建計劃任務這部分的邏輯對應的代碼如下。



總結下來,傳播的過程是這樣的:

總結
Ryuk這款勒索樣本,有加殼加密,有本地勒索,也實現了橫向傳播和遠程勒索,技術相對全面。另外一個有意思的地方,我們發現這個勒索病毒會通過打印機打印自己的勒索聲明,可以說是很囂張了。
Ryuk這個勒索病毒還在持續演進,防守方需要一直關注樣本演化的趨勢,并提出新的防御,檢測和修復方案。
防護建議
1、除非明確需要,Windows服務器強烈建議封禁445端口。
2、局域網內機器不要使用弱口令,也不要使用統一的口令。
3、操作系統要及時安裝補丁,安全軟件也要保持更新。
4、重要文件定期備份,防患于未然。
阿里云安全中心解決方案
通用防勒索解決方案為您提供逐層遞進的縱深式防御體系:
實時防御已知勒索病毒借助云上全方位的威脅情報,云安全中心實現了對大量已知勒索病毒的實時防御。在服務器被病毒感染的第一時間攔截勒索病毒,避免發生文件被病毒加密而進行勒索的情況。
誘捕、攔截新型未知勒索病毒通過放置誘餌的方式,云安全中心實時捕捉可能存在的勒索病毒行為。針對新型未知的勒索病毒,一旦識別到有異常加密行為發生,會立刻攔截病毒,同時通知您進行排查清理。
支持恢復被病毒感染文件在對勒索病毒進行防御的同時,云安全中心還支持文件備份服務,能定期對指定文件進行備份,支持按時間或文件版本恢復服務器數據。在發生極端情況導致文件被加密時,能夠通過文件恢復的方式找回數據,確保服務器數據的安全。
原創:阿里安全響應中心
原文鏈接:https://mp.weixin.qq.com/s/18v_Y8gG-owLehC...