DarkBit勒索軟件分析
樣本來源:https://www.microsoft.com/en-us/security/blog/2023/04/07/mercury-and-dev-1084-destructive-attack-on-hybrid-environment/
"DEV-1084"的勒索載荷為8thCurse.exe,實際上是 DarkBit 勒索軟件,由 Go 語言編寫
基本信息
MD5:9880fae6551d1e9ee921f39751a6f3c0

分析
包含命令行參數

含義:
-all:在沒有超時計數器的情況下運行 -domain string:定義域 -force:強制列入黑名單上 -list string:列表 -nomutex:強制不檢查互斥體 -noransom:只傳播/不加密 -password string:密碼 -path string:路徑 -t int:線程數(默認為-1) -username string:用戶名
文件中包含一個 json 配置文件
{
"limits": [
{
"limitMB": 25,
"parts": 1,
"eachPart": -1
},
{
"limitMB": 1000,
"parts": 2,
"eachPart": 12000
},
{
"limitMB": 4000,
"parts": 3,
"eachPart": 10000
},
{
"limitMB": 7000,
"parts": 2,
"eachPart": 20000
},
{
"limitMB": 11000,
"parts": 3,
"eachPart": 30000
},
{
"limitMB": 51000,
"parts": 5,
"eachPart": 30000
},
{
"limitMB": 1000000,
"parts": 3,
"eachPart": 1000000
},
{
"limitMB": 5000000,
"parts": 5,
"eachPart": 1000000
},
{
"limitMB": 6000000,
"parts": 20,
"eachPart": 10000000
}
],
"extensions": {
"msilog": 1,
"log": 1,
"ldf": 1,
"lock": 1,
"theme": 1,
"msi": 1,
"sys": 1,
"wpx": 1,
"cpl": 1,
"adv": 1,
"msc": 1,
"scr": 1,
"key": 1,
"ico": 1,
"dll": 1,
"hta": 1,
"deskthemepack": 1,
"nomedia": 1,
"msu": 1,
"rtp": 1,
"msp": 1,
"idx": 1,
"ani": 1,
"386": 1,
"diagcfg": 1,
"bin": 1,
"mod": 1,
"ics": 1,
"com": 1,
"hlp": 1,
"spl": 1,
"nls": 1,
"cab": 1,
"diagpkg": 1,
"icl": 1,
"ocx": 1,
"rom": 1,
"prf": 1,
"themepack": 1,
"msstyles": 1,
"icns": 1,
"mpa": 1,
"drv": 1,
"cur": 1,
"diagcab": 1,
"exe": 1,
"cmd": 1,
"shs": 1,
"Darkbit": 1
}
,
"names": {
"thumbs.db": 1,
"desktop.ini": 1,
"darkbit.jpg": 1,
"recovery_darkbit.txt": 1,
"system volume information": 1
},
"processes": [],
"hostnames": [
//Technion - Israel Institute of Technology的主機名列表
]
}
json內容包括:文件大小限制:最小為25MB,最大為6GB,不同大小的文件被分成不同的部分,每個部分的大小也不相同。如 1000MB 到 4000MB 的大小的文件,被分為3部分,每部分大小不超過 10000 字節。DarkBit 會單獨加密這些較小的部分中的每一個,而不是一次加密整個文件。文件擴展名限制:排除特定的文件擴展名。文件名和目錄:排除特定的文件名和目錄,如thumbs.db、recovery_darkbit.txt、system volume information等。進程限制:該json中未列出。主機名列表:其中包含 Technion - Israel Institute of Technology 不同學院和部門的主機。
利用 Go_Parser 解析 runtime 庫,把生成map文件導入到 x64dbg 檢測處理器是否為 intel 處理器

在 runtime_osinit 中, runtime_loadOptionalSyscalls 函數主要用于加載dll,如 advapi32.dll、rpcrt4.dll、cryptbase.dll 等,還通過 runtime_windowsFindfunc 函數來調用 GetProcAddress 函數加載動態 API

動態加載 SystemFunction036(與RtlGenRandom相同) 函數 用于生成隨機密鑰

動態加載 wine_get_version () 函數來檢測當前環境是否是 Wine 模擬器環境

刪除卷影所有的卷影副本

vssadmin.exe delete shadows /all /Quiet /all 參數表示要刪除所有的卷影副本,而不是僅刪除某個特定的副本。 /Quiet 參數表示刪除過程不需要用戶進行任何交互操作,且不會顯示任何提示信息。
遍歷磁盤文件并加密

加密時,窗口會有一個倒計時

加密后的文件擴展名為.Darkbit,文件末尾存在密鑰,同時在相應的文件中存在一個 RECOVERY_DARKBIT.txt 的勒索信

參考
https://www.microsoft.com/en-us/security/blog/2023/04/07/mercury-and-dev-1084-destructive-attack-on-hybrid-environment/ https://labs.k7computing.com/index.php/muddywater-back-with-darkbit/ https://securityaffairs.com/142160/hacking/israeli-technion-suffered-ransomware-attack.html) https://blog.cyble.com/2023/02/15/uncovering-the-dark-side-of-darkbit-ransomware/ https://evasions.checkpoint.com/techniques/processes.html https://www.yuque.com/p1ut0/qtmgyx/zmn5tp#In9F2