Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86384849

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

BlackMatter是一種勒索軟件變體,它使用Salsa20和1024位RSA加密文件,並需要大量加密貨幣進行解密。與許多其他勒索軟件組織一樣,BlackMatter通過洩露數據的威脅來增加獲得支付贖金的機會。 BlackMatter作為一種勒索軟件即服務(RaaS)運行。

2022年6月,LockBit發布了其勒索軟件3.0版。在這篇文章中,我們將詳細討論其攻擊過程,以及其與BlackMatter勒索軟件的相似之處。

2022年3月,也就是LockBit2.0首次出現不到一年後,研究人員發現了即將推出的LockBit勒索軟件新變種。 LockBit3.0,又名“LockBitBlack”,要到6月下旬才會發布,與此同時,該組織推出了新的漏洞洩露網站和漏洞獎勵計劃。此後,一位研究人員分享了LockBit3.0的樣本,以及他對新變體的初步分析。

detect it easy是一款跨平台的PE查殼工具,研究人員使用這個工具發現這個特定的LockBit3.0樣本是一個Win32.exe文件,其中包含多個部分,由未知的加殼器封裝(圖1)。根據樣本的原始來源,惡意軟件使用此參數執行:

{04830965-76E6-6A9A-8EE1-6AF7499C1D08}.exe-kLocalServiceNetworkRestricted-passdb66023ab2abcb9957fb01ed50cdfa6aLockBit3.0示例隨後會刪除一個.ico文件,該文件的文件名與附加到%PROGRAMDATA%文件夾中加密文件的文件名相同(圖2)。

1.png

LockBit3.0的文件屬性

2.png

%PROGRAMDATA%文件夾中的.ico文件

作為其加密過程的一部分,LockBit3.0附加了擴展名HLJkNskOq(圖3),並將加密文件的圖標更改為上述.ico文件的圖標。

3.png

帶有新文件名和擴展名的加密文件,以及LockBit的勒索信

然後,勒索軟件釋放其勒索信,其中提到了“IlonMusk”和歐盟的通用數據保護條例(GDPR)。最後,它會更改受害者計算機的壁紙,以通知他們盡快繳納贖金。

4.jpg

LockBit3.0勒索信的內容

5.png

LockBit3.0的桌面壁紙

與BlackMatter勒索軟件的相似之處研究人員指出,LockBit 3.0的部分代碼似乎借鑒了BlackMatter勒索軟件,因此LockBit 3.0又被稱為LockBit Black。同樣地,我們在調試LockBit3.0示例期間發現了BlackMatter和新的LockBit變體之間存在相似之處。從我們對解壓樣本的檢查和研究員ChuongDong提供的分析中,我們發現LockBit3.0需要一個pass參數來解密其主程序。研究人員已經觀察到其他勒索軟件家族,如Egregor也表現出了相同的行為,其中需要參數才能繼續執行該程序。如果參數不可用,這會使二進製文件更難反轉。

6.png

使用-pass參數解密部分

LockBit 3.0通過哈希DLL的API名稱來執行API收集,然後將其與勒索軟件所需的API列表進行比較。這個程序與BlackMatter相同,因為重命名BlackMatter的API的外部可用腳本也適用於LockBit 3.0。

7.png

LockBit3.0的API收集程序

8.png

BlackMatter的API收集程序

9.png

LockBit3.0用於重命名API的XOR密鑰

10.png

BlackMatter用於重命名API的XOR密鑰

LockBit 3.0沒有直接調用收集到的API的地址,而是實現了一個蹦床指針,該指針指向一個已分配的堆,其中包含一個反彙編代碼,然後該代碼將跳轉到NtTerminateProcess API的API地址。堆中包含的代碼是從這組代碼中隨機選擇的:

隨機數ROR;

隨機數ROL;

異或密鑰;

通過隨機數ROR,然後異或到密鑰;

ROL隨機數,然後異或到密鑰;

11.png

LockBit3.0的蹦床指針代碼

12.png

LockBit3.0對NtTerminateProcessAPI的蹦床調用

LockBit3.0和BlackMatter也實現了相同的反調試技術:兩者都通過NtSetThreadInformationAPI將線程信息設置為ThreadHideFromDebugger(0x11),以導致任何調試器在這個線程上設置斷點時崩潰。

13.png

通過NtSetThreatInformation的ThreadHideFromDebugger

與BlackMatter一樣,LockBit3.0在使用API時使用線程而不是直接調用API,這可能是為了讓研究人員更難分析。它使用的字符串使用簡單的按位XOR程序、按位XOR和NOT程序或涉及線性同餘生成器(LCG)算法以生成偽隨機密鑰的解密程序。除了添加了按位XOR和NOT程序,其他都類似於BlackMatter的操作方式。

14.png

LockBit3.0用於字符串解密的按位異或程序

15.png

LockBit3.0的按位XOR和NOT用於字符串解密

16.png

LockBit的3.0字符串解密使用LCG算法

LockBit3.0的配置使用相同的XOR程序和從LCG偽隨機數生成器獲得的密鑰進行解密,然後使用稱為APLib的壓縮庫進行解壓縮。

17.png

LockBit3.0的配置列表

LockBit3.0還會檢查受害計算機的UI語言,以避免用這些語言攻擊計算機:

阿拉伯語(敘利亞);

亞美尼亞語(亞美尼亞);

阿塞拜疆語(西里爾語阿塞拜疆);

阿塞拜疆語(拉丁語阿塞拜疆);

白俄羅斯語(白俄羅斯);

格魯吉亞語(格魯吉亞);

哈薩克語(哈薩克斯坦);

吉爾吉斯(吉爾吉斯斯坦);

羅馬尼亞語(摩爾多瓦);

俄語(摩爾多瓦);

俄語(俄羅斯);

塔吉克語(西里爾塔吉克斯坦);

土庫曼(土庫曼斯坦);

韃靼語(俄羅斯);

烏克蘭語(烏克蘭);

烏茲別克語(西里爾文烏茲別克斯坦);

烏茲別克語(拉丁烏茲別克斯坦);

LockBit3.0還保留了這些BlackMatter程序,以用於提權升級:

使用UACMe的方法繞過用戶帳戶控制(UAC),這是在dllhost.exe下使用ICMLuaUtil COM接口;

複製Explorer.exe令牌以供自己使用;

執行32位或64位shellcode注入以提升其令牌。

LockBit3.0和BlackMatter都用作加密文件擴展名、勒索信名稱以及壁紙和圖標名稱的字符串是Base64編碼的哈希。然而,這兩種勒索軟件之間的一個關關鍵區別在於,LockBit3.0選擇使用嵌入在其配置中的RSA公鑰,並使用MD5對其進行哈希處理,而BlackMatter使用具有相同算法對API進行哈希處理的MachineGUID。這使得被同一樣本感染的所有計算機的字符串看起來都相似,這可能是LockBit的操作人員的一種嘗試,以便他們更容易識別加密文件所需的RSA私鑰對。

18.png

BlackMatter(左)和LockBit3.0(右)的字符串生成

與BlackMatter一樣,LockBit3.0也執行以下程序:

嘗試使用其配置列表中的憑據登錄,以確定受感染的系統是否是將用於以後程序的域管理員的一部分;

一個類似於BlackMatter的程序會終止並從其配置列表中刪除進程和服務;

擦除每個驅動器的回收站文件夾;

檢查計算機名哈希列表,以避免從其配置列表中刪除;

如果設置了標誌,則從其配置列表連接到CC服務器;

如果在其配置標誌中設置,則加密網絡共享和Exchange郵箱;

從其配置列表中獲取要避免使用的文件、文件夾和擴展名列表;

加密.lnk文件時使用指向文件;

在任何可用的打印機上打印勒索信並修改桌面壁紙;

使用與BlackMatter相同的加密算法;

LockBit3.0對卷影副本的刪除顯然是從BlackMatter的代碼中刪除的,因為這是使用WindowsManagementInstrumentation(WMI)通過COM對象執行的,而不是LockBit2.0使用vssadmin.exe。

19.png

LockBit3.0通過WMI刪除卷影副本

這個最新的LockBit迭代只在提供特定參數時才會執行一些程序。 LockBit 3.0只接受表2中列出的參數,而BlackMatter只接受-safe、-wall和-path參數。

20.png

LockBit3.0接受的參數列表

新的LockBit變體使用哈希和基於代碼檢查參數,它被設計為只執行一個來自參數的例程,除了-pass,它需要在檢查其他參數之前執行。如果提供了-wall參數,則打印勒索信和更改受害計算機牆紙的程序也類似於BlackMatter的程序。像BlackMatter一樣,只要提供了-safe參數,LockBit3.0也可以在安全模式下重新啟動並通過RunOnce註冊表執行。

然而,它們的配置標誌之間有一個關鍵的區別:BlackMatter只有9個標誌,而LockBit3.0有24個,詳見表3。

21.1.png

21.2.png

21.3.png

21.4.png

可以在LockBit 3.0的配置中設置的標誌

第三個LockBit版本的一個值得注意的行為是它的文件刪除技術:它不使用cmd.exe執行將執行刪除的批處理文件或命令,而是刪除並執行從二進製文件中解密的.tmp文件。但是,只要提供了-gspd參數,它就會保留LockBit2.0的一些功能,例如早期版本通過組策略更新進行橫向移動的能力。

執行的.tmp文件會覆蓋勒索軟件二進製文件的內容,然後使用基於原始文件名長度的新文件名多次重命名該二進製文件,例如,一個名為1.exe的文件,它有五個字符(包括文件擴展名),被重命名為AAAAA,然後是BBBBB,直到ZZZZZ。重命名文件後,LockBit3.0最終將其刪除。該程序可能是LockBit勒索軟件組織試圖避免通過取證工具進行恢復,並通過完全刪除任何勒索軟件的痕跡來掩蓋他們的踪跡。

22.png

LockBit3.0多次重命名勒索軟件文件

23.png

LockBit3.0在反復重命名後刪除勒索軟件文件

VirusTotal上的LockBit3.0最近,一位研究人員在VirusTotal上發現了另一個LockBit 3.0示例,在撰寫本文時,在撰寫本文時檢測到了19個。這個特定的示例是一個包含兩層模糊代碼的PowerShell腳本。在對腳本進行去混淆之後,我們發現LockBit 3.0能夠通過反射加載將DLL注入內存,使用的代碼與BlackMatter自己的PowerShell代碼相同。

24.png

截至2022年7月21日在VirusTotal上發現的LockBit3.0樣本

25.png

LockBit3.0的第一層混淆代碼

26.png

LockBit3.0的第二層混淆代碼

27.png

LockBit3.0的反混淆PowerShell腳本

28.png

LockBit3.0的主要功能

29.png

BlackMatter的主要功能

此特定示例具有通過Base64壓縮和加密的有效負載。為了訪問它,我們修改了腳本以轉儲有效負載而不是執行它。通過轉儲有效載荷,我們能夠獲得LockBit3.0的主要二進製文件。

執行時,該腳本表現出與之前發現的LockBit3.0示例相同的行為。此特定示例將19MqZqZ0附加到加密文件的文件名。

30.png

LockBit3.0的有效載荷

31.png

轉儲LockBit3.0的有效負載

32.png

LockBit3.0的主要二進製文件

33.png

LockBit3.0的加密文件,其名稱後附有19MqZqZ0

這個特定的LockBit 3.0示例的有效負載只檢查3個哈希參數,而之前的LockBit3.0示例檢查了8個。它的DLL有效負載是反射式加載的,其通過管理共享和組策略傳播程序的代碼是為PE(便攜式可執行文件)二進製文件設計的,而不是為PowerShell腳本設計的,這可能解釋了為什麼某些程序不起作用。另一種可能性是,LockBit3.0的勒索軟件構建器可能會選擇禁用某些程序。即使檢查了-pass