【精選威脅情資】分析 LockBit 3.0 勒索軟體的最新反分析與逃逸技術

分析 LockBit 3.0 勒索軟體的最新反分析與逃逸技術

本文由奧義智慧 (CyCraft)資安卓越中心規劃建置計畫 (CCoE) 共同發布。

危害與影響

LockBit 早已是遠負盛名、規模龐大的勒索軟體組織,曾犯下多起金額龐大、危害嚴重的勒索案件。如今隨著 LockBit 3.0 版本的推出,勢必會有越來越多的目擊報告和攻擊案例出現,值得所有研究單位與機構嚴加防備。


分析師觀點

LockBit 是目前十分活躍的勒索軟體服務商,其商業模型十分完整且開發快速。目前新推出的 3.0 版本已經在野外散播,而且該版本實作了許多機制,防止分析師做逆向分析以及動態分析,增加了調查難度,因此成為相當值得注意的研究目標。


描述

LockBit 3.0,或稱作 LockBit Black 是提供勒索軟體服務 (Ransomware-as-a-Service) 的 LockBit 家族的最新版本。自從 2022 年 3 月 LockBit 2.0 被發現漏洞之後,作者就著手開始開發新版本,並在 2022 年 6 月發布他們的 Bug Bounty 計畫,引發大眾的關注。

實際上,在新的 LockBit 3.0 洩漏網站上,已經可以看到許多受害者資料被公諸於世。

LockBit 3.0 洩漏網站上可看到受害者資料被公開

技術分析

新版的 LockBit 3.0 在功能上與 2.0 大致相同,最初的投放路徑通常是透過 Cobalt Strike 來達成。LockBit 勒索軟體的執行檔必須用管理員權限開啟,如果沒有管理員權限的話,攻擊者就會嘗試以 UAC Bypass 來取得必要權限。

除此之外,LockBit 3.0 會把自己安裝成多個服務,持久性地潛入系統。它所使用的服務名稱如下:

LockBit 3.0所使用的服務名稱,如:Sense, sppsvc, WdBoot, Wdfilter, WdNisDrv, WdNisSvc, WinDefend, WSCSVC, mmicvss, VmvSS, VSS, EventLog

除了安裝服務,LockBit 3.0 也會嘗試關閉一些指定的服務,如下:

LockBit 3.0 嘗試關閉特定的服務,如:GxB1r, GxCIMgr, GxCVD, GxFWD, GxVss, memtas, mepocs, msexchange, sophos, sql, svc$, veeam, vss

LockBit 3.0 的加密過程非常快速,通常在一分鐘以內就可以將整台電腦加密。此外值得注意的是,新版的勒索訊息有些改動,並且會更換受害者的桌面背景。

LockBit的勒索訊息: LockBit Black All your important files are stolen and encrypted! You must find futRjC7nx.README.txt file and follow the instruction!
LockBit的勒索訊息

LockBit 3.0 用了許多的反分析手法,包括加殼、混淆、動態解析函式位址、防止除錯等手法。以下針對幾個 LockBit 3.0 使用到的手法進行說明。

首先,LockBit 3.0 執行檔在執行的時候需要加上密碼的參數才能啟動,如果分析人員在調查的時候沒有找到這個參數,就沒辦法進行分析。

LockBit 3.0 執行檔需加上密碼的參數才能啟動

執行檔的 .text 區段是被加密過的,而該密碼就是用來解密該區段,裡面包含了程式主要的邏輯,所以沒有密碼,基本上就無法做進一步的分析。下列兩張圖顯示了 .text 區段的程式碼在解密前和解密後的差別。在還沒解密前,整個區段其實是無法正常執行的。

執行檔的 .text 區段被加密過,而該密碼就是用來解密該區段,包含了程式主要的邏輯

另外,在防除錯的手法上,LockBit 3.0 會透過檢查 Heap Flags 的方式判斷自己是不是正在被除錯。在程式被除錯的時候 HEAP_TAIL_CHECKING_ENABLED 和HEAP_VALIDATE_PARAMETERS_ENABLED 這兩個值會有所不同,而 HEAP_VALIDATE_PARAMETERS_ENABLED 的值可以從 PEB 中的 ForceFlags 取得,而 HEAP_TAIL_CHECKING_ENABLED 可以檢查 0xABABABAB 特徵值是不是存在於 Heap 的最後。

LockBit 3.0檢查 Heap Flags 的方式判斷自己是不是正在被除錯

除此之外,LockBit 3.0 還用到了 NtSetInformationThread,並指定參數 ThreadHideFromDebugger (0x11),這可以阻止例外事件傳給除錯器,導致除錯器無法除錯。

LockBit 3.0 使用 NtSetInformationThread,並指定參數 ThreadHideFromDebugger (0x11),可以阻止例外事件傳給除錯器,導致除錯器無法除錯。

由於除錯器可以附加到程式上進行除錯,LockBit 3.0 也做了一些應對。待 LockBit 執行起來之後,它會去把 DbgUiRemoteBreakin 這個函式的主體改成可以寫入的權限,再直接破壞該記憶區塊。

下列兩張圖可以明顯看出區別,圖一是原本的 DbgUiRemoteBreakin,圖二則是被破壞過的 DbgUiRemoteBreakin。被破壞過後,該函式會無法使用或甚至是 Crash。

原始DbgUiRemoteBreakin

被破壞過的 DbgUiRemoteBreakin


緩解措施

面對勒索軟體的來勢洶洶,使用者遇到來路不明的執行檔、壓縮檔、文件等,一定要再三確認,不要隨意執行。平時也需要做好備份,最佳情況是擁有三個以上的異地備份。


參考資料
  1. CYBLE. “Luca Stealer Source Code Leaked on A Cybercrime Forum.” Accessed August 9, 2022.

Writer: CyCraft

關於 CyCraft

奧義智慧科技(CyCraft Technology)是一家專注於 AI 自動化技術的資安科技公司,成立於2017年。總部設於台灣,在日本和新加坡均設有子公司。為亞太地區的政府機關、警政國防、銀行和高科技製造產業提供專業資安服務。獲得華威國際集團(The CID Group)和淡馬錫控股旗下蘭亭投資(Pavilion Capital)的強力支持,並獲得國際頂尖研究機構 Gartner、IDC、Frost & Sullivan 的多項認可,以及海內外大獎的多次肯定。同時也是多個跨國資安組織和台灣資安社群的成員和合作夥伴,長年致力於資安產業的發展。

訂閱奧義智慧電子報

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
點擊此按鈕,即表示您同意奧義智慧的隱私權政策,並同意奧義智慧使用您所提供的資訊並寄送資訊給您。您隨時可以取消訂閱。