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)。
LockBit3.0的文件屬性
%PROGRAMDATA%文件夾中的.ico文件
作為其加密過程的一部分,LockBit3.0附加了擴展名HLJkNskOq(圖3),並將加密文件的圖標更改為上述.ico文件的圖標。
帶有新文件名和擴展名的加密文件,以及LockBit的勒索信
然後,勒索軟件釋放其勒索信,其中提到了“IlonMusk”和歐盟的通用數據保護條例(GDPR)。最後,它會更改受害者計算機的壁紙,以通知他們盡快繳納贖金。
LockBit3.0勒索信的內容
LockBit3.0的桌面壁紙
與BlackMatter勒索軟件的相似之處研究人員指出,LockBit 3.0的部分代碼似乎借鑒了BlackMatter勒索軟件,因此LockBit 3.0又被稱為LockBit Black。同樣地,我們在調試LockBit3.0示例期間發現了BlackMatter和新的LockBit變體之間存在相似之處。從我們對解壓樣本的檢查和研究員ChuongDong提供的分析中,我們發現LockBit3.0需要一個pass參數來解密其主程序。研究人員已經觀察到其他勒索軟件家族,如Egregor也表現出了相同的行為,其中需要參數才能繼續執行該程序。如果參數不可用,這會使二進製文件更難反轉。
使用-pass參數解密部分
LockBit 3.0通過哈希DLL的API名稱來執行API收集,然後將其與勒索軟件所需的API列表進行比較。這個程序與BlackMatter相同,因為重命名BlackMatter的API的外部可用腳本也適用於LockBit 3.0。
LockBit3.0的API收集程序
BlackMatter的API收集程序
LockBit3.0用於重命名API的XOR密鑰
BlackMatter用於重命名API的XOR密鑰
LockBit 3.0沒有直接調用收集到的API的地址,而是實現了一個蹦床指針,該指針指向一個已分配的堆,其中包含一個反彙編代碼,然後該代碼將跳轉到NtTerminateProcess API的API地址。堆中包含的代碼是從這組代碼中隨機選擇的:
隨機數ROR;
隨機數ROL;
異或密鑰;
通過隨機數ROR,然後異或到密鑰;
ROL隨機數,然後異或到密鑰;
LockBit3.0的蹦床指針代碼
LockBit3.0對NtTerminateProcessAPI的蹦床調用
LockBit3.0和BlackMatter也實現了相同的反調試技術:兩者都通過NtSetThreadInformationAPI將線程信息設置為ThreadHideFromDebugger(0x11),以導致任何調試器在這個線程上設置斷點時崩潰。
通過NtSetThreatInformation的ThreadHideFromDebugger
與BlackMatter一樣,LockBit3.0在使用API時使用線程而不是直接調用API,這可能是為了讓研究人員更難分析。它使用的字符串使用簡單的按位XOR程序、按位XOR和NOT程序或涉及線性同餘生成器(LCG)算法以生成偽隨機密鑰的解密程序。除了添加了按位XOR和NOT程序,其他都類似於BlackMatter的操作方式。
LockBit3.0用於字符串解密的按位異或程序
LockBit3.0的按位XOR和NOT用於字符串解密
LockBit的3.0字符串解密使用LCG算法
LockBit3.0的配置使用相同的XOR程序和從LCG偽隨機數生成器獲得的密鑰進行解密,然後使用稱為APLib的壓縮庫進行解壓縮。
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私鑰對。
BlackMatter(左)和LockBit3.0(右)的字符串生成
與BlackMatter一樣,LockBit3.0也執行以下程序:
嘗試使用其配置列表中的憑據登錄,以確定受感染的系統是否是將用於以後程序的域管理員的一部分;
一個類似於BlackMatter的程序會終止並從其配置列表中刪除進程和服務;
擦除每個驅動器的回收站文件夾;
檢查計算機名哈希列表,以避免從其配置列表中刪除;
如果設置了標誌,則從其配置列表連接到CC服務器;
如果在其配置標誌中設置,則加密網絡共享和Exchange郵箱;
從其配置列表中獲取要避免使用的文件、文件夾和擴展名列表;
加密.lnk文件時使用指向文件;
在任何可用的打印機上打印勒索信並修改桌面壁紙;
使用與BlackMatter相同的加密算法;
LockBit3.0對卷影副本的刪除顯然是從BlackMatter的代碼中刪除的,因為這是使用WindowsManagementInstrumentation(WMI)通過COM對象執行的,而不是LockBit2.0使用vssadmin.exe。
LockBit3.0通過WMI刪除卷影副本
這個最新的LockBit迭代只在提供特定參數時才會執行一些程序。 LockBit 3.0只接受表2中列出的參數,而BlackMatter只接受-safe、-wall和-path參數。
LockBit3.0接受的參數列表
新的LockBit變體使用哈希和基於代碼檢查參數,它被設計為只執行一個來自參數的例程,除了-pass,它需要在檢查其他參數之前執行。如果提供了-wall參數,則打印勒索信和更改受害計算機牆紙的程序也類似於BlackMatter的程序。像BlackMatter一樣,只要提供了-safe參數,LockBit3.0也可以在安全模式下重新啟動並通過RunOnce註冊表執行。
然而,它們的配置標誌之間有一個關鍵的區別:BlackMatter只有9個標誌,而LockBit3.0有24個,詳見表3。
可以在LockBit 3.0的配置中設置的標誌
第三個LockBit版本的一個值得注意的行為是它的文件刪除技術:它不使用cmd.exe執行將執行刪除的批處理文件或命令,而是刪除並執行從二進製文件中解密的.tmp文件。但是,只要提供了-gspd參數,它就會保留LockBit2.0的一些功能,例如早期版本通過組策略更新進行橫向移動的能力。
執行的.tmp文件會覆蓋勒索軟件二進製文件的內容,然後使用基於原始文件名長度的新文件名多次重命名該二進製文件,例如,一個名為1.exe的文件,它有五個字符(包括文件擴展名),被重命名為AAAAA,然後是BBBBB,直到ZZZZZ。重命名文件後,LockBit3.0最終將其刪除。該程序可能是LockBit勒索軟件組織試圖避免通過取證工具進行恢復,並通過完全刪除任何勒索軟件的痕跡來掩蓋他們的踪跡。
LockBit3.0多次重命名勒索軟件文件
LockBit3.0在反復重命名後刪除勒索軟件文件
VirusTotal上的LockBit3.0最近,一位研究人員在VirusTotal上發現了另一個LockBit 3.0示例,在撰寫本文時,在撰寫本文時檢測到了19個。這個特定的示例是一個包含兩層模糊代碼的PowerShell腳本。在對腳本進行去混淆之後,我們發現LockBit 3.0能夠通過反射加載將DLL注入內存,使用的代碼與BlackMatter自己的PowerShell代碼相同。
截至2022年7月21日在VirusTotal上發現的LockBit3.0樣本
LockBit3.0的第一層混淆代碼
LockBit3.0的第二層混淆代碼
LockBit3.0的反混淆PowerShell腳本
LockBit3.0的主要功能
BlackMatter的主要功能
此特定示例具有通過Base64壓縮和加密的有效負載。為了訪問它,我們修改了腳本以轉儲有效負載而不是執行它。通過轉儲有效載荷,我們能夠獲得LockBit3.0的主要二進製文件。
執行時,該腳本表現出與之前發現的LockBit3.0示例相同的行為。此特定示例將19MqZqZ0附加到加密文件的文件名。
LockBit3.0的有效載荷
轉儲LockBit3.0的有效負載
LockBit3.0的主要二進製文件
LockBit3.0的加密文件,其名稱後附有19MqZqZ0
這個特定的LockBit 3.0示例的有效負載只檢查3個哈希參數,而之前的LockBit3.0示例檢查了8個。它的DLL有效負載是反射式加載的,其通過管理共享和組策略傳播程序的代碼是為PE(便攜式可執行文件)二進製文件設計的,而不是為PowerShell腳本設計的,這可能解釋了為什麼某些程序不起作用。另一種可能性是,LockBit3.0的勒索軟件構建器可能會選擇禁用某些程序。即使檢查了-pass
Recommended Comments