Bluesky勒索軟體深度技術分析

01.

01.

背景介紹

勒索軟體作為一種流行的木馬,近年來已成為最為常見的安全威脅之一。與其他威脅不同,勒索軟體先向受害者表明自己的身份,再通過加密的方式使使用者資料資產或計算資源無法正常使用,而恢復資料資產的方法通常只能是支付高昂的費用。。

BlueSky作為近期發現的一種勒索軟體變種,在今年3月份首次出現,在6月末開始爆發。它的一些勒索軟體樣本以「MarketShere.exe」和「SecurityUpdate.exe」的形式線上分發,在入侵目標之後,BlueSky會加密受感染機器上的檔案,然後添加「.bluesky」檔案副檔名。同時它還會生成兩個檔案,分別是:

#DECRYPT FILES BLUESKY#.txt

#DECRYPT FILES BLUESKY#.html

要求受害者訪問BlueSky TOR的網站,並按照提供的說明進行操作。

02.

病毒分析

BlueSky的執行流程如下:動態載入 API、混淆字串、採用反調試技術、進行許可權提升、生成受害者 ID、對檔案進行加密、生成贖金通知書。

1. 動態載入 API

所有的API都通過動態載入的方式獲取,首先通過遍歷

PEB_LDR_DATA中的InLoadOrderModuleList連結串列

列舉其中包含的模組。

其中用到了許多反分析技術,包括字串加密和反調試機制,使其能夠混淆Windows API 函數名稱並使用間接調用來解析API。此外,BlueSky使用DJB雜湊函式對API名稱進行計算,並將它們與程式碼中的模糊哈希值進行比較,以便正確匯入所需的模組。

2. 混淆字串

所有的字串都進行了混淆,使用時通過動態解密的方式獲取字串。

3. 反調試技術

除了以上提到的字串加密、API 混淆等反調試機制外

程序還調用NtSetInformationThread並使用ThreadHideFromDebugger API隱藏執行緒,執行緒對偵錯程式隱藏後,它將繼續運行,但偵錯程式不會收到與該執行緒相關的事件。該執行緒可以執行反調試檢查,例如程式碼校驗、調試標誌驗證等。但是,如果隱藏執行緒中有斷點,或者對偵錯程式隱藏了主執行緒,那麼進程就會崩潰,偵錯程式就會卡住。

用 nop 填充函數調用地址處來過反調試。

4. 許可權提升

COM提升名稱(COM Elevation Moniker)技術允許運行在使用者賬戶控制(UAC)下的應用程序使用提升許可權的方法來激活 COM 類,以此來提升 COM 接口許可權。該方法的目標接口是 ICMLuaUtil,該接口存在於 CMSTPLUA 元件中,使用 OleViewDotNet 工具查看系統中的 COM 接口屬性資訊,找到 CMSTPLUA 元件:

BlueSky 使用了這種方法來繞過UAC。

此外,BlueSky 還會調用 RtlAdjustPrivilege 來獲取每個檔案和進程的許可權。

5. 生成受害者 ID

BlueSky 通過計算機卷資訊、機器GUID、數字產品ID和安裝日期值的MD5哈希,來生成唯一的使用者ID:

A11F9CA342F6AF8414D5516688381DD5

並且使用該ID來生成互斥鎖:

Global\A11F9CA342F6AF8414D5516688381DD5

解密字串
解密字串

解密字串:

「x25519_public」

「RECOVERYBLOB」

「completed」

用來生成註冊表項,保存BlueSky的加密運算元據。

BlueSky 將與加密相關的資訊儲存在註冊表項:

HKCU\Software\A11F9CA342F6AF8414D5516688381DD5

用來恢復資訊RECOVERYBLOB

使用ChaCha20+Curve25519+RC4演算法進行計算

通過ChaCha20+Curve25519演算法對RECOVERYBLOB進行加密。

6. 檔案加密過程

與其他勒索軟體通常包含檔案副檔名列表以識別符合條件的加密檔案不同,BlueSky會創建一個在檔案加密過程中排除檔案的副檔名列表,具體的清單如下:

副檔名:ldf、scr、icl、386、cmd、ani、adv、theme、msi、rtp、diagcfg、msstyles、bin、hlp、shs、drv、wpx、bat、rom、msc、 lnk、cab、spl、ps1、msu、ics、key、msp、com、sys、diagpkg、nls、diagcab、ico、lock、ocx、mpa、cur、cpl、mod、hta、exe、ini、icns、prf、dll、bluesky、nomedia、idx

目錄:$recycle.bin、$windows.~bt、$windows.~ws、boot、windows、windows.old、system volume information、perflogs、programdata、program files、program files (x86)、all users, appdata, tor browser

檔案名:#decrypt files bluesky #.txt、#decrypt files bluesky #.html、ntuser.dat、iconcache.db、ntuser.dat.log、bootsect.bak、autorun.inf、bootmgr、ntldr、thumbs.db

如下圖所示,BlueSky 使用多執行緒隊列進行加密。啟動的其中一個負責檔案加密,另一個負責列舉本地檔案系統上的檔案,並將掛載的網路共享添加到隊列中。這種多執行緒架構與 Conti (Ransomware) v3 的程式碼相似,特別是網路搜尋模組是 Conti v3 的精確複製品。但是檔案加密例程存在某些差異。例如,Conti v3 使用基於 RSA 和 AES 的檔案加密,而BlueSky 使用基於 Curve25519 和 ChaCha20 的檔案加密。

BlueSky 的檔案加密與 Babuk Ransomware 類似——都使用Curve25519(非對稱加密) 為主機生成公鑰,並與攻擊者的公鑰生成共享金鑰。生成橢圓曲線金鑰對後,BlueSky 計算出共享金鑰的哈希值,並使用它為 ChaCha20 演算法生成檔案加密金鑰。最後,它讀取檔案緩衝區,使用 ChaCha20(對稱加密) 對其進行加密並替換原始檔案的內容,如下圖所示。

7. 贖金通知書

加密完成之後會生成贖金通知的文件和網頁,其中恢復 ID 就是保存在註冊表項 RECOVERYBLOB 中的值。

03.

03.

防範建議

使用者針對勒索軟體的防護需做到以下幾點:

1、規範上網行為,不下載安裝未知的軟體,不點開來歷不明的文件、圖片、音訊視訊等;

2、定期更換域控、資料庫、伺服器上的管理員密碼;

3、定期更新病毒庫,定時組織內網進行全盤掃描;

4、定期更新補丁,修復漏洞;

5、定期檢查防火牆及安全軟體的防護日誌,及時發現異常並解決;

6、定期離線備份或異地備份重要資料;

7、修改資料庫默認埠,防止被掃描器爆破。

8、進行嚴格的隔離,有關係統、服務儘量不開放到網際網路上,內網中的系統也要通過防火牆、VLAN或網閘等進行隔離。