Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86397057

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.

0.jpg

博文摘要基於2021年洩露的Babuk源代碼,SentinelLabs發現了10個勒索軟件團伙使用VMware ESXi加密器(locker)。

這些變體出現在2022年下半年和2023年上半年,表明了Babuk源代碼採用率與日俱增的趨勢。

洩露的源代碼使威脅分子能夠攻擊Linux系統,他們原本缺乏構建切實可行的程序的專長。

隨著更多的威脅分子採用工具,源代碼洩露進一步加大了追根溯源的複雜性。

背景介紹在2023年初,SentinelLabs觀察到基於Babuk(又名Babak或Babyk)的VMware ESXi勒索軟件有所增加。 2021年9月的Babuk洩露事件為我們深入了解有組織的勒索軟件團伙的開發活動提供了大好機會。

由於ESXi在本地和混合企業網絡中很普遍,這種虛擬機管理程序是勒索軟件的重要目標。在過去的兩年裡,多個有組織的勒索軟件團伙採用了Linux加密器,包括ALPHV、Black Basta、Conti、Lockbit和REvil。相比其他Linux變體,這些團伙更關注ESXi,利用ESXi虛擬機管理程序的內置工具來終結訪客系統,然後加密關鍵的虛擬機管理程序文件。

我們發現洩露的Babuk源代碼和歸因於Conti和REvil的ESXi加密器之間存在重疊,後者的迭代版本彼此非常相似。我們還將它們與洩露的Conti Windows加密器源代碼進行了比較,發現了共同的定制函數名和功能特性。

除了這些臭名昭著的團伙外,我們還發現了使用Babuk源代碼生成更出名的ESXi加密器的小型勒索軟件團伙。從Babuk衍生而來的ESXi加密器陣營越來越龐大,包括Ransom House團伙的Mario和之前未記錄的ESXi版本的Play勒索軟件。

Babuk背景Babuk是ESXi勒索軟件領域的早期團伙之一。該團伙的壽命在2021年受到影響,當時Babuk的開發人員洩露了Babuk基於C++的Linux可執行和可鏈接格式(ELF)ESXi、基於Golang的網絡附加存儲(NAS)和基於C++的Windows勒索軟件工具的構建器源代碼。

直到2022年初,沒有太多跡象表明威脅分子改動了洩露的Babuk源代碼,除了曇花一現的“Babuk 2.0”變體和偶爾死灰復燃的新的Windows勒索軟件外。由於網絡犯罪研究常針對Windows,Linux領域的動向悄然出現。

SentinelLabs通過源代碼/6а6ак/esxi/enc/main.cpp中的字符串Doesn 't encrypted files: %d\n,發現了由Babuk派生而來的勒索軟件。

1.jpg

圖1. Babuk源代碼main.cpp中的獨特字符串

Babuk構建器為新生成的二進製文件指定文件名e_esxi.out。我們發現的幾個樣本都有類似的命名約定:

2.png

圖2

在加密方面,ESXi Babuk使用Sosemanuk流密碼的實現對目標文件進行加密,而Windows版本的Babuk使用HC-128加密。 ESXi和Windows Babuk都使用Curve25519-Donna來生成加密密鑰。

數代Babuk家族比較方法SentinelLabs整理出了未精簡的Babuk二進製文件,為Babuk的外觀和行為確立基準,此後稱之為“基準Babuk”(Baseline Babuk)。為了解我們發現的變體是否與Babuk有關,我們將每個變體與這個基準Babuk樣本進行了比較,凸顯了顯著的相似和差異之處。

Babuk 2023(.XVGV)SHA1:e8bb26f62983055cfb602aa39a89998e8f512466

XVGV又名Babuk 2023,於2023年3月出現在Bleeping Computer的論壇上。基準Babuk和XVGV共享了由main.cpp派生而來的代碼、來自args.cpp的參數處理函數和加密實現。

與Babuk一樣,XVGV要求勒索軟件團伙提供要加密的目錄作為參數。在動態分析過程中,我們提供了測試系統的用戶目錄。在第一次運行時,樣本在所有子目錄中生成了勒索信HowToRestore.txt。

然而只有6個文件被加密,每個文件的擴展名為.log或.gz。查看包含的文件擴展名可以發現為什麼破壞很有限:XVGV針對以VMware為中心的文件,排除那些與指定列表不匹配的文件。這是基準Babuk共有的行為,不過XVGV開發者添加了更多的文件擴展名。

3.jpg

圖3. XVGV.rodata部分引用文件擴展名(左)和Babuk源代碼對應部分

Play(.FinDom)SHA1:dc8b9bc46f1d23779d3835f2b3648c21f4cf6151

該文件引用文件擴展名.FinDom以及勒索電子郵件地址findomswitch@fastmail.pw,這些是與Play勒索軟件相關的工件。這是針對Linux系統構建的第一個已知版本的Play,這與勒索軟件團伙日益攻擊Linux的趨勢保持一致。 Play包含與基準Babuk相同的文件搜索功能;它還使用Sosemanuk實現加密。

4.jpg

圖4. 基準Babuk(左)和Play反彙編勒索信構造函數

Play二進製文件作為壓縮包(SHA1: 9290478cda302b9535702af3a1dada25818ad9ce)的一部分被提交到VirusTotal,壓縮包裡有多種黑客工具和實用程序,包括AnyDesk、NetCat、特權升級批處理文件和編碼的PowerShell Empire腳本,在獲得初始訪問權後它們與勒索軟件團伙採用的技術相關聯。

Mario(.emario)SHA1:048 b3942c715c6bff15c94cdc0bb4414dbab9e07

Mario勒索軟件由Ransom House運營,該團伙於2021年浮出水面。 Ransom House最初聲稱,他們以易受攻擊的網絡為目標,竊取數據,並不加密文件。然而該團伙此後採用了加密器。

樣本同樣有一個很相似的find_files_recursive函數,包括默認的勒索信文件名How To Restore Your Files.txt。加密函數也一樣。

冗長的勒索信內容是Mario ESXi加密器最獨特的部分。 Ransom House威脅分子向受害者提供了非常明確的指示,解釋應該做什麼、如何與他們聯繫。

5.jpg

圖5. Mario字符串顯示默認的Babuk日誌信息和勒索信

Conti POC(.conti)Conti POC—SHA1:091f4bddea8bf443bc8703730f15b21f7ccf00e9

Conti ESXi加密器SHA1:ee827023780964574f28c6ba333d800b73eae5c4

令我們驚訝的是,搜尋Babuk過程中發現了幾個內部名為“Conti POC”的二進製文件,POC的全稱可能是“概念驗證”,這些二進製文件出現在2022年9月針對墨西哥實體的一起活動中。

Conti是一個臭名昭著的勒索軟件團伙,組織嚴密、冷酷無情。洩露的信息顯示,Conti的組織體系更像許多合法公司,而不是犯罪團伙:該團伙僱傭了中層管理和人力資源部門。大約在2021年初,洩露的聊天記錄顯示,Conti在讓其ESXi加密器發揮功效時遇到了麻煩。

我們比較了Conti和Babuk的幾個迭代版本,以評估兩者的聯繫。 Conti ESXi於2022年4月問世,這可能意味著Conti在2021年9月Babuk代碼洩露後實現了該代碼,最終使加密器發揮功效。

Conti POC和Conti ESXi加密器:Conti POC不太成熟,這與“概念驗證”的名稱倒是一致。 Conti POC和Conti ESXi有許多相同的函數名和行為,包括相同的參數處理函數和條件。我們得出結論,這些樣本是相關的;Conti POC可能是Conti ESXi加密器的前身。

6.jpg

圖6. Conti ESXi(左)和Conti POC Babuk派生參數處理的橫向比較視圖

Conti POC 基準Babuk:Conti POC SearchFiles和基準Babuk find_files_recursive函數非常相似,含有相同的文件狀態變量名。 Conti將此函數的某些部分移植到了其他本地模塊,表明比基準Babuk更成熟。這兩個家族還有相似的主函數,表明兩者也有聯繫,Conti POC是更成熟的基準Babuk進化版。

7.jpg

圖7. 基準Babuk(左)中的find_files_recursive和Conti POC中的SearchFiles

對比Conti Windows洩露代碼:在Linux版本的Conti(POC和ESXi)與洩露的Windows Conti代碼之間,實用程序和函數名稱存在相當大的重疊。兩個版本都使用相同的開源ChaCha加密實現。洩露的Conti Windows代碼含有註釋掉的對HandleCommandLine的引用——這是我們分析的其他Conti變體中看到的一個函數,以及幾個需要解析的共享參數,比如prockiller。開發人員可能會在Windows版本與ESXi加密器之間對齊了函數名,以實現功能同等。

8.jpg

圖8. Conti ESXi(左)和Windows main.cpp HandleCommandLine函數

REvil,又名Revix(.rhkrc)RHKRC— SHA1:74e4b2f7abf9dbd376372c9b05b26b02c2872e4b

2021年6月Revix—SHA1:29f16c046a344e0d0adfea80d5d7958d6b6b8cfa

我們發現了一個內部名為RHKRC的類似Babuk的樣本,它將.rhkrc擴展名附加到文件名的末尾,這個行為與REvil團伙的“Revix”ESXi加密器相關聯。有意思的是,關於外頭Revix的報告可以追溯到2021年6月,早於2021年9月的Babuk源代碼洩露。

為了明白這在發展時間表中所在的位置,我們比較了相關活動的幾個迭代版本:

RHKRC和Conti POC:這兩個版本異常相似,都通過上述的ChaCha20實現了加密。它們有一個幾乎相同的InitializeEncryptor函數。這些樣品是相關的。

9.jpg

圖9.來自RHKRC(左)和Conti POC的InitializeEncryptor函數

10.jpg

圖10.來自RHKRC(左)和Conti POC的EncryptFull函數

RHKRC和基準Babuk:這些樣本有許多相同的函數名,包括Babuk的原生線程池。然而,RHKRC實現加密的方式有所不同,它有更定制的ESXi CLI活動。我們認為這些樣本是相關的,不過RHKRC更成熟,儘管同樣處於“概念驗證”階段。

RHKRC和2021年6月Revix:我們比較了RHKRC和2021年6月活躍的Revix。 Revix要成熟得多,包含在分析的其他變體中未看到的動態代碼去混淆措施。 RHKRC和Revix都有相同的內部文件名(elf.exe)、勒索信名稱和附加的文件擴展名。然而,這些相似之處主要是表面上的,我們無法得出是否明確存在關聯的結論。關於這些巧合的任何說法都只是猜測。

榮譽提名SentinelLabs特別指出,還有另外幾個已知的家族由Babuk ESXi源代碼派生而來,包括:

Cylance勒索軟件(與同名安全公司無關)

Dataf加密器

Rorschach,又名BabLock

Lock4

RTM加密器

雖然毫無疑問有更多的Babuk衍生變體未引起注意,但還有其他獨特的ESXi勒索軟件家族。粗略看一下ALPHV、BlackBasta、Hive和Lockbit的ESXi加密器,發現它們與Babuk沒有明顯的相似之處。

Babuk偶爾也會背黑鍋。坊間報導的2月份ESXiArgs活動曾短暫摧毀了一些未打補丁的雲服務,聲稱同名加密器由Babuk派生而來。然而我們分析後發現,ESXiArgs(SHA1: f25846f8cda8b0460e1db02ba6d3836ad3721f62)與Babuk幾乎沒有相似之處。唯一值得注意的相似之處是,使用相同的開源Sosemanuk加密實現。主函數完全不同,如下所示。 ESXiArgs還使用外部shell腳本來搜索文件,向esxcli提供參數,因此沒有原生的find_files_recursive函數可供比較。

11.jpg

圖11. ESXiArgs主函數

結論SentinelLabs的分析發現了ESXi勒索軟件家族之間的意外聯繫,揭示了Babuk與Conti和REvil等更出名的團伙之間可能存在的關係。雖然與REvil的關係仍是暫時的,但這些團伙(Babuk、Conti和REvil)有可能將ESXi加密器項目外包給了同一家開發商。在勒索軟件開髮圈,Linux惡意軟件開發商面臨的人才庫肯定要小得多,而勒索軟件開髮圈在開發高明的Windows惡意軟件方面一直擁有可圈可點的專長。勒索軟件團伙遭遇過無數次洩密,所以這些圈子中出現小規模洩露也在情理之中。此外,威脅分子可能共享代碼進行協作,類似開放開發項目的源代碼。

一個明顯的趨勢是,威脅分子日益使用Babuk構建器來開發ESXi和Linux勒索軟件。當由資源較少的威脅分子使用時,這一點尤為明顯,因為這些威脅分子不太可能大幅修改Babuk源代碼。

從Babuk的ESXi加密器代碼的流行程度來看,威脅分子也可能轉向該團伙基於Go的NAS加密器。對於許多威脅分子來說,Gang仍然是小眾的選擇,但其人氣在不斷提升。被盯上的NAS系統也基於Linux。雖然NAS加密器不那麼複雜,但代碼清晰易讀,這可能使熟悉Go或類似編程語言的開發人員更容易訪問勒索軟件。

攻陷指標12.png

圖12