本文由奧義智慧 (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 在功能上與 2.0 大致相同,最初的投放路徑通常是透過 Cobalt Strike 來達成。LockBit 勒索軟體的執行檔必須用管理員權限開啟,如果沒有管理員權限的話,攻擊者就會嘗試以 UAC Bypass 來取得必要權限。
除此之外,LockBit 3.0 會把自己安裝成多個服務,持久性地潛入系統。它所使用的服務名稱如下:
除了安裝服務,LockBit 3.0 也會嘗試關閉一些指定的服務,如下:
LockBit 3.0 的加密過程非常快速,通常在一分鐘以內就可以將整台電腦加密。此外值得注意的是,新版的勒索訊息有些改動,並且會更換受害者的桌面背景。
LockBit 3.0 用了許多的反分析手法,包括加殼、混淆、動態解析函式位址、防止除錯等手法。以下針對幾個 LockBit 3.0 使用到的手法進行說明。
首先,LockBit 3.0 執行檔在執行的時候需要加上密碼的參數才能啟動,如果分析人員在調查的時候沒有找到這個參數,就沒辦法進行分析。
執行檔的 .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 還用到了 NtSetInformationThread,並指定參數 ThreadHideFromDebugger (0x11),這可以阻止例外事件傳給除錯器,導致除錯器無法除錯。
由於除錯器可以附加到程式上進行除錯,LockBit 3.0 也做了一些應對。待 LockBit 執行起來之後,它會去把 DbgUiRemoteBreakin 這個函式的主體改成可以寫入的權限,再直接破壞該記憶區塊。
下列兩張圖可以明顯看出區別,圖一是原本的 DbgUiRemoteBreakin,圖二則是被破壞過的 DbgUiRemoteBreakin。被破壞過後,該函式會無法使用或甚至是 Crash。
面對勒索軟體的來勢洶洶,使用者遇到來路不明的執行檔、壓縮檔、文件等,一定要再三確認,不要隨意執行。平時也需要做好備份,最佳情況是擁有三個以上的異地備份。
Writer: CyCraft
奧義智慧科技(CyCraft Technology)是一家專注於 AI 自動化技術的資安科技公司,成立於2017年。總部設於台灣,在日本和新加坡均設有子公司。為亞太地區的政府機關、警政國防、銀行和高科技製造產業提供專業資安服務。獲得華威國際集團(The CID Group)和淡馬錫控股旗下蘭亭投資(Pavilion Capital)的強力支持,並獲得國際頂尖研究機構 Gartner、IDC、Frost & Sullivan 的多項認可,以及海內外大獎的多次肯定。同時也是多個跨國資安組織和台灣資安社群的成員和合作夥伴,長年致力於資安產業的發展。