Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86385690

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.

今年,各種勒索軟件即服務組織相繼在Rust中開發了他們的勒索軟件版本,這其中就包括Agenda。 Agenda的Rust變體瞄準了一些重要行業。我們將在本文中介紹Rust變體的工作原理。今年,BlackCat、Hive和RansomExx等勒索軟件即服務(RaaS)組織開發了Rust版本的勒索軟件,Rust是一種跨平台語言,可以更容易地為Windows和Linux等不同的操作系統定制惡意軟件。在這篇文章中,我們介紹了另一個已經開始使用這種語言的勒索軟件組織Agenda(也稱為Qilin)。

根據我們在過去一個月的觀察,Agenda勒索軟件的活動包括在其洩露網站上發布許多公司的信息。攻擊者不僅聲稱他們能夠侵入這些公司的服務器,還威脅要公佈他們的文件。勒索軟件組織在其洩漏網站上發布的公司位於不同的國家,主要屬於製造業和IT行業,總收入超過5.5億美元。

最近,我們發現了一個用Rust語言編寫的Agenda勒索軟件樣本,檢測結果為Ransom.Win32.Agenda.THIAFBB。值得注意的是,同樣的勒索軟件最初是用Go語言編寫的,以針對泰國和印度尼西亞等國家的醫療和教育部門而聞名。攻擊者通過使用洩露的賬戶和唯一的公司ID等機密信息作為附加的文件擴展名,為目標受害者自定義了之前的勒索軟件二進製文件。 Rust變體還使用了間歇性加密,這是當今攻擊者用於更快加密和逃避檢測的新興策略之一。

1.png

VirusTotal中二進製文件的提交詳細信息,包括提交日期和上傳地區

2.png

BinText上顯示二進製文件使用的Rust模塊/函數的字符串

技術分析執行時,Rust二進製文件會提示以下錯誤,要求將密碼作為參數傳遞。這個命令行特性類似於用Golang編寫的Agenda勒索軟件二進製文件。

3.png

執行示例時的錯誤提示

在以“-password”作為參數並結合虛擬密碼“agenda apass”執行示例時,勒索軟件示例將從終止各種進程和服務開始運行其惡意例程。

4.png

終止應用程序和服務

針對我們分析的樣本,勒索軟件將擴展名“MmXReVIxLV”附加到加密文件中。它還在命令提示符上顯示活動日誌,包括已加密的文件和運行時間。

5.png

加密文件示例

6.png

加密文件中的日誌

然後,勒索軟件將繼續在其加密的每個目錄上釋放其勒索通知。正如其勒索說明中所觀察到的,用於執行勒索軟件的密碼也將用作登錄勒索軟件組支持聊天網站的密碼。

7.png

勒索通知

勒索軟件分析不同於Agenda的Golang變體,它接受10個參數,Rust變體只接受3個參數:

8.png

Agenda勒索軟件Rust變體使用的參數

Rust變體在二進製文件中也包含硬編碼配置,就像以前在Golang中編譯的示例一樣。

9.png

包含配置的二進製文件內的函數

10.png

包含配置的字符串

它還在其配置中添加了-n、-p、fast、skip和step標誌,這些標誌在Golang變體配置中不存在,僅通過命令行參數使用。經過進一步分析,我們了解到這些標誌用於間歇性加密。這種策略使勒索軟件能夠根據標誌的值對文件進行部分加密,從而更快地加密受害者的文件。這種策略在勒索軟件攻擊者中越來越流行,因為它可以讓他們更快地加密,並避免嚴重依賴於讀/寫文件操作的檢測。

11.png

用於間歇加密的標誌

12.png

用於間歇加密的標誌

13.png

Agenda勒索軟件Golang變體接受的命令行參數

我們試圖使用其配置中的一些標誌來模擬其加密行為。對於這個模擬,我們使用一個填充“a”作為內容的虛擬文件。

對於快速模式:

值:1

14.png

快速標誌設置為1

加密字節:1*0x200000h,其中1是快速標誌中設置的值

15.png

0x200000h字節加密

對於N-P模式:

16.png

標誌設置為n=1; p=1

總大小=88082336字節,加密的字節數=1 *0x200000,h,其中1是n標誌中設置的值,跳過的字節數=880818字節(整個文件的1%),其中1是p標誌中設置的值。

17.png

加密字節的0x200000h

18.png

880818字節(相當於文件的1%)加密

除了用於不同加密模式的附加標誌之外,Rust變體還將AppInfo包括在要終止的服務列表中。它禁用了用戶帳戶控制(UAC),這是一項Windows功能,有助於防止惡意軟件以管理權限執行,從而導致無法以管理權限運行其他應用程序。

19.png

使用與service_CONTROL_stop等效的參數0x01停止服務的函數

20.png

用於使用等同於SERVICE_DISABLED的參數0x04禁用服務的函數

21.png

禁用AppInfo服務後,無法運行具有管理權限的應用程序

眾所周知,Agenda勒索軟件還可以為每個受害者部署自定義的勒索軟件,我們已經看到,它的Rust變體有一個分配的空間,用於在其配置中添加帳戶,主要用於權限升級。

22.png

在Agenda勒索軟件的Rust變體配置中分配的帳戶

要附加在加密文件上的文件擴展名在其配置中是硬編碼的。

23.png

要附加的文件擴展名

然而,與之前的Golang變體不同,攻擊者在Rust變體的配置中不包括受害者的憑據。後者的這一特性不僅可以阻止其他研究人員訪問勒索軟件的聊天支持網站,還可以在外部提供樣本時訪問攻擊者的對話。它還可以防止來自受害者之外的其他人的主動信息。

24.png

Agenda勒索軟件聊天支持網站

總結Agenda是一個新興的勒索軟件家族,最近一直針對醫療保健和教育行業等關鍵部門。目前,它的攻擊者似乎正在將他們的勒索軟件代碼遷移到Rust,因為最近的樣本仍然缺乏在用Golang變體編寫的原始二進製文件中看到的一些特徵。 Rust語言在攻擊者中越來越受歡迎,因為它更難分析,而且反病毒引擎的檢測率較低。