寫在前面的話


近期,Unit 42的研究人員在分析Medusa(美杜莎)勒索軟件活動時,發現該活動的升級和勒索策略發生了很大變化。


Medusa勒索軟件活動在2023年初上線了一個名為“Medusa Blog”的專用數據泄露網站,而該活動背后的威脅行為者會利用該網站來披露不愿意交數據贖金的目標用戶的敏感數據。


作為其多重勒索策略的一部分,當目標用戶的數據被發布在該網站之后,該組織會向目標用戶提供多種選擇,比如說延長時間、刪除數據或下載所有數據。所有的這些選項都會帶有一個價格標簽,具體價格取決于目標用戶群體的具體情況。


除了使用Onion網站進行數據勒索的策略之外,Medusa活動還利用了名為“Information Support”的一個公共Telegram頻道,并在其中公開共享目標組織的文件,而這個頻道比起Onion網站相比,訪問會更加容易。


本文將針對2023 年以來公開已知的 Medusa 勒索軟件執行詳細的技術分析,其中包括其初始訪問策略和復雜的攻擊技術。



Medusa勒索軟件即服務


Medusa 于 2022 年底作為勒索軟件即服務 (RaaS) 平臺出現,并于 2023 年“聲名大噪”,當時該活動主要針對的是Windows系統環境。


Medusa 勒索軟件組織主要通過利用易受攻擊的服務(例如面向公眾的資產或具有已知未修復漏洞的應用程序)和劫持合法帳戶來傳播其勒索軟件,通常他們會利用初始訪問代理進行滲透。研究人員還發現,Medusa 勒索軟件還通過使用合法軟件來實現惡意目的,并將惡意流量與合法流量混合在一起,從而使標記此類活動變得更加困難。


根據研究人員的發現,Medusa 勒索軟件活動有了明顯的升級,其特點之一就是他們在2023 年初發布的.onion網站上推出了新的“Medusa Blog”,并可通過TOR訪問。新版的“Medusa Blog”界面截圖如下圖所示,該平臺目前仍會披露不愿意支付數據贖金的目標用戶敏感數據:



作為一個多重勒索活動,Medusa勒索軟件活動的公告包括以下幾點信息以督促目標用戶支付數據贖金:


1、價格標簽:顯示的金額是受影響的組織需要向該組織支付的費用,以便他們從網站上刪除數據。研究人員發現,Medusa勒索軟件的威脅行為者跟其他勒索軟件團伙一樣,愿意與目標用戶協商談判,因此實際的支付費用可能與網站上顯示的價格不一致;
2、倒計時:受影響的組織在被盜數據公開發布并可供下載之前的剩余時間;
3、訪客數量:帖子訪客數量,用于談判策略中以迫使目標用戶付費;
4、目標用戶的姓名和相關描述:目標用戶的身份信息;


同時,帖子中還會包含他們攻擊成功的成局,除了支付數據贖金之外,他們還會給目標用戶提供各種“選項”:


1、延長時間選項:為防止數據在網站上發布而延長時間的標準費用為 10,000 美元;
2、數據刪除選項;
3、數據下載選項;


后兩項服務的價格可能會因人而異:



他們還在近期發布于“Medusa Blog”的一篇文章中分享了一段視頻,其中顯示了受感染組織的文件。該視頻的標題為“Medusa Media Team”,我們懷疑該團隊是Medusa勒索軟件組織的一個分支,類似于企業中的“公共關系部門”。當然了,像Medusa這樣的勒索軟件組織其目標是建立品牌和聲譽,制作此類視頻有助于強化他們可怕的威脅形象并提高他們的可信度。



該組織不僅僅是為了勒索目的而搭建泄露數據的博客網站,他們還在“Medusa Blog”上集成了Telegram和X(Twitter)的鏈接,并且使用了名為“Information Support”的Telegram頻道,用于公開和發布該組織竊取的數據。另一方面,指向X的鏈接則指向“Medusa勒索軟件”的搜索結果頁面。

這個Telegram 頻道創建于2021年7月,其中還包含了該組織之前出現的一些內容。但是,該頻道并沒有打上跟Medusa勒索軟件相關的標簽。盡管如此,我們還是觀察到了該頻道中出現了與Medusa勒索軟件相關的內容:



2023年2月20日,該Telegram頻道發布了Medusa官方數據泄露網站,并附帶了一張Medusa的Logo:



Medusa的目標用戶


在我們的分析過程中,我們一直將主要的注意力放在了2023年觀察到的Medusa勒索軟件樣本。


根據“Medusa Blog”上的數據,Medusa勒索軟件在2023年大約影響了全球74個組織,受影響最嚴重的行業包括高科技、教育和制造業:



揭開Medusa勒索軟件的神秘面紗


在這一部分中,我們將對一次安全事件應急響應中發現的Medusa勒索軟件所使用的工具和技術進行分析。


初始訪問


Unit 42的研究人員觀察到,Medusa勒索軟件的威脅行為者首先會將webshell上傳到已被滲透的Microsoft Exchange Server上,這個webshell跟之前報告過的login.aspx和cmd.aspx功能類似,下面給出的是cmd.aspx文件【點我獲取】部分代碼示例:



接下來,威脅行為者將使用PowerShell從filemail[.]com文件托管網站上執行一次bitsadmin傳輸。從該網站下載的文件為 ZIP壓縮文檔,文件名為baby.zip。解壓并執行之后,便會在目標設備上安裝遠程監控和管理軟件ConnectWise。


防御規避


Unit 42的研究人員發現Medusa勒索軟件威脅行為者會針對不同的安全產品集投放兩個不同的內核驅動程序,每個內核驅動程序都使用了名為Safengine Shielden的軟件保護程序進行保護。驅動程序上使用的Safengine Shielden保護器可以通過各種代碼變異和隨機化代碼來混淆代碼流,然后利用嵌入式虛擬機解釋器來執行代碼。


每個驅動程序都會有配對的加載器,每一個加載器都會使用名為ASM Guard的封裝器進行封裝。


封裝的加載器使用了偽造的UPX Header,下圖所示為驅動程序加載器的Header使用ASM Guard封裝后的字節數據:




下圖顯示的是驅動程序的入口點,其受Safengine Shielden的保護:



這兩個驅動程序的主要目標是包含要終止或刪除的安全端點產品列表。下圖所示的安全產品字符串名稱的硬編碼列表用于與系統上主動運行的進程進行比較操作:



如果系統具有與硬編碼安全工具進程名稱匹配的進程名稱,則使用未記錄的IOCTL 代碼( 0x222094 ) 來終止進程:



兩個驅動程序之間的主要區別在于文件路徑和IOCTL(0x222184)的使用方法,并根據提供的文件路徑刪除文件。


發現與網絡偵查


威脅行為者使用了VBScript和JScript作為遠程腳本來擴展其工具的功能。


遠程腳本使用了Cyrillic字符集,翻譯過來如下圖所示:




這個界面提供了配置創建和首選語言相關的內容。


下圖顯示了“list of files”腳本的代碼庫樣例以及與Windows目錄下枚舉文件返回的相關內容:



下圖顯示的是“login time”腳本的代碼庫樣例和找到的特定登錄類型及其返回的字段相關的登錄時間:



完成網絡掃描后,威脅行為者可以右鍵單擊結果中列出的設備,并在遠程系統上提供許多自定義的點擊選項:



上圖顯示的以Gaze 結尾的菜單顯示了Medusa勒索軟件使用的與勒索軟件二進制文件相關的命名約定,能夠幫助我們更好地了解了Medusa勒索軟件的部署技術:


Copy_Gaze (Ctrl+G)

Deploy Gaze (Ctrl+T)

Copy_Run_Gaze (Ctrl+W)


深入分析Medusa勒索軟件的“Gaze”


“神話描述,Medusa只要凝望誰,那個人就會變成石頭。”

Medusa勒索軟件同樣也使用了“Gaze”-“凝望”這個詞。下圖顯示的是Gaze代碼中的PDB字符串:



Medusa勒索軟件的Windows變種可以使用11個可能的參數運行,如下表所示:


參數

功能

V

檢查勒索軟件二進制文件的版本

n

使用網絡驅動器(使用字節標志)

排除系統驅動器(使用字節標志)

d

不刪除自身

f

排除系統文件夾

p

不使用預處理(使用字節標志)

k

從文件加載 RSA 公鑰

t

從文件加載勒索信息

w

PowerShell -execution policy bypass -File %s

v

顯示控制臺窗口

i

加密指定文件夾


當使用-V參數運行2023年11月發現的Windows可執行樣本(v1.20)時,可以看到該版本控制系統表明該勒索軟件具有某種開發周期:



Medusa勒索軟件二進制文件會對以下功能采用字符串加密:


1、目標服務;
2、目標進程;
3、文件擴展名白名單;
4、文件夾路徑白名單;


下圖顯示了Gaze.exe勒索軟件樣本中的字符串解密函數,每一個字符串解密函數都包含了兩個函數,第一個函數(u42pushstring_medusa)負責將字符串移動到內存中,第二個函數(u42_string_decrypt_7characters)則使用0x23密鑰執行XOR加密:



在下圖中,十六進制的字符串會被移動并分配到函數堆棧幀上,然后十六進制字符串被移動到內存的一部分并使用取消引用的指針進行檢索:



當u42pushstring_medusa函數完成并返回指向字符串的指針后,它一開始位于EAX,隨后會被轉移到ESI,而ESI的內容會被移動至ECX。ECX寄存器會被作為參數傳遞給u42_string_decrypt_7character函數,其中包含了加密字符串指針。


指向字符串內容的指針會被用作數組來訪問字符串中的每個字符,代碼會使用0x2E作為密鑰對其進行XOR解密:



字符串解密方法的驗證如下圖所示:



Medusa勒索軟件使用RSA非對稱加密來保護用于加密目標文件的AES256密鑰,這個AES256密鑰使用32字節密鑰和16字節初始化向量進行設置,加密的文件會使用.medusa作為擴展名。


在文件枚舉和加密過程中,該樣本會過濾以下擴展名的文件:


.dll
.exe
.lnk
.medusa


該樣本還會過濾以下文件夾路徑:


\Windows\
\Windows.old\
\PerfLogs\
\MSOCache\
G_skp_dir
Program Files
Program Files (x86)
ProgramData.


勒索信息存儲在名為“!!readmemedusa!!.txt”的文件中,內容如下圖所示:



該勒索軟件將執行各種與vssadmin相關的操作,并使用以下命令刪除自身以影響數據恢復和安全取證工作:


vssadmin Delete Shadows /all /quiet

vssadmin resize shadowstorage /for=C: /on=C: /maxsize=401MB

vssadmin resize shadowstorage /for=C: /on=C: /maxsize=unbounded

cmd /c ping localhost -n 3 > nul & del


總結


Medusa勒索軟件于2022年底出現并于2023年“聲名大噪”,并且有了很大程度地技術提升和多重勒索策略轉變。迄今為止,已有74個各行各業的組織受到影響,Medusa的無差別攻擊凸顯了此類勒索軟件行為者所構成的普遍威脅。


入侵威脅指標IoC


哈希


4d4df87cf8d8551d836f67fbde4337863bac3ff6b5cb324675054ea023b12ab6

657c0cce98d6e73e53b4001eeea51ed91fdcf3d47a18712b6ba9c66d59677980

7d68da8aa78929bb467682ddb080e750ed07cd21b1ee7a9f38cf2810eeb9cb95

9144a60ac86d4c91f7553768d9bef848acd3bd9fe3e599b7ea2024a8a3115669

736de79e0a2d08156bae608b2a3e63336829d59d38d61907642149a566ebd270


基礎設施


Medusakxxtp3uo7vusntvubnytaph4d3amxivbggl3hnhpk2nmus34yd[.]onion

medusaxko7jxtrojdkxo66j7ck4q5tgktf7uqsqyfry4ebnxlcbkccyd[.]onion


Medusa終止的服務


net stop "Acronis VSS Provider"

net stop "Sophos Agent"

net stop "Sophos Clean Service"

net stop "Sophos Health Service"

net stop "Sophos MCS Agent"

net stop "Sophos MCS Client"

net stop "Sophos Message Router"

net stop "AcronisAgent"

net stop "AcrSch2Svc"

net stop "Antivirus"

net stop "ARSM"

net stop "BackupExecJobEngine"

net stop "BackupExecRPCService"

net stop "BackupExecVSSProvider"

net stop "bedbg"

net stop "DCAgent"

net stop "EPSecurityService"

net stop "EPUpdateService"

net stop "EraserSvc11710"

net stop "EsgShKernel"

net stop "FA_Scheduler"

net stop "IISAdmin"

net stop "IMAP4Svc"

net stop "macmnsvc"

net stop "masvc"

net stop "MBAMService"

net stop "MBEndpointAgent"

net stop "McAfeeEngineService"

net stop "McAfeeFramework"

net stop "McShield"

net stop "McTaskManager"

net stop "mfemms"

net stop "mfevtp"

net stop "MMS"

net stop "mozyprobackup"

net stop "MsDtsServer"

net stop "MsDtsServer100"

net stop "MsDtsServer110"

net stop "MSExchangeES"

net stop "MSExchangeIS"

net stop "MSExchangeMGMT"

net stop "MSExchangeMTA"

net stop "MSExchangeSA"

net stop "MSExchangeSRS"

net stop "MSOLAP$SQL_2008"

net stop "MSOLAP$SYSTEM_BGC"

net stop "MSOLAP$TPS"

net stop "MSOLAP$TPSAMA"

net stop "MSSQL$BKUPEXEC"

net stop "MSSQL$ECWDB2"

net stop "MSSQL$PRACTICEMGT"

net stop "MSSQL$PRACTTICEBGC"

net stop "MSSQL$PROFXENGAGEMENT"

net stop "MSSQL$SBSMONITORING"

net stop "MSSQL$SHAREPOINT"

net stop "MSSQL$SQL_2008"

net stop "MSSQL$SYSTEM_BGC"

net stop "MSSQL$TPS"

net stop "MSSQL$TPSAMA"

net stop "MSSQL$VEEAMSQL2008R2"

net stop "MSSQL$VEEAMSQL2012"

net stop "MSSQLFDLauncher"

net stop "MSSQLFDLauncher$TPS"

net stop "MSSQLSERVER"

net stop "MySQL80"

net stop "MySQL57"

net stop "ntrtscan"

net stop "OracleClientCache80"

net stop "PDVFSService"

net stop "POP3Svc"

net stop "ReportServer"

net stop "ReportServer$SQL_2008"

net stop "ReportServer$TPS"

net stop "ReportServer$TPSAMA"

net stop "RESvc"

net stop "sacsvr"

net stop "SamSs"

net stop "SAVAdminService"

net stop "SAVService"

net stop "SDRSVC"

net stop "SepMasterService"

net stop "ShMonitor"

net stop "Smcinst"

net stop "SmcService"

net stop "SMTPSvc"

net stop "SNAC"

net stop "SntpService"

net stop "sophossps"

net stop "SQLAgent$BKUPEXEC"

net stop "SQLAgent$ECWDB2"

net stop "SQLAgent$PRACTTICEBGC"

net stop "SQLAgent$PRACTTICEMGT"

net stop "SQLAgent$SHAREPOINT"

net stop "SQLAgent$SQL_2008"

net stop "SQLAgent$SYSTEM_BGC"

net stop "SQLAgent$TPS"

net stop "SQLAgent$TPSAMA"

net stop "SQLAgent$VEEAMSQL2012"

net stop "SQLBrowser"

net stop "SQLSafeOLRService"

net stop "SQLSERVERAGENT"

net stop "SQLTELEMETRY"

net stop "SQLTELEMETRY$ECWDB2"

net stop "SQLWriter"

net stop "SstpSvc"

net stop "svcGenericHost"

net stop "swi_filter"

net stop "swi_service"

net stop "swi_update_64"

net stop "TmCCSF"

net stop "tmlisten"

net stop "TrueKey"

net stop "TrueKeyScheduler"

net stop "TrueKeyServiceHelper"

net stop "UI0Detect"

net stop "VeeamBackupSvc"

net stop "VeeamBrokerSvc"

net stop "VeeamCatalogSvc"

net stop "VeeamCloudSvc"

net stop "VeeamDeploySvc"

net stop "VeeamMountSvc"

net stop "VeeamNFSSvc"

net stop "VeeamRESTSvc"

net stop "VeeamTransportSvc"

net stop "W3Svc"

net stop "wbengine"

net stop "WRSVC"

net stop "VeeamHvIntegrationSvc"

net stop "swi_update"

net stop "SQLAgent$CXDB"

net stop "SQL Backups"

net stop "MSSQL$PROD"

net stop "Zoolz 2 Service"

net stop "MSSQLServerADHelper"

net stop "SQLAgent$PROD"

net stop "msftesql$PROD"

net stop "NetMsmqActivator"

net stop "EhttpSrv"

net stop "ekrn"

net stop "ESHASRV"

net stop "MSSQL$SOPHOS"

net stop "SQLAgent$SOPHOS"

net stop "AVP"

net stop "klnagent"

net stop "MSSQL$SQLEXPRESS"

net stop "SQLAgent$SQLEXPRESS"

net stop "kavfsslp"

net stop "KAVFSGT"

net stop "KAVFS"

net stop "mfefire"

Medusa終止的進程

taskkill /F /IM zoolz.exe /T

taskkill /F /IM agntsvc.exe /T

taskkill /F /IM dbeng50.exe /T

taskkill /F /IM dbsnmp.exe /T

taskkill /F /IM encsvc.exe /T

taskkill /F /IM excel.exe /T

taskkill /F /IM firefoxconfig.exe /T

taskkill /F /IM infopath.exe /T

taskkill /F /IM isqlplussvc.exe /T

taskkill /F /IM msaccess.exe /T

taskkill /F /IM msftesql.exe /T

taskkill /F /IM mspub.exe /T

taskkill /F /IM mydesktopqos.exe /T

taskkill /F /IM mydesktopservice.exe /T

taskkill /F /IM mysqld.exe /T

taskkill /F /IM mysqld-nt.exe /T

taskkill /F /IM mysqld-opt.exe /T

taskkill /F /IM ocautoupds.exe /T

taskkill /F /IM ocomm.exe /T

taskkill /F /IM ocssd.exe /T

taskkill /F /IM onenote.exe /T

taskkill /F /IM oracle.exe /T

taskkill /F /IM outlook.exe /T

taskkill /F /IM powerpnt.exe /T

taskkill /F /IM sqbcoreservice.exe /T

taskkill /F /IM sqlagent.exe /T

taskkill /F /IM sqlbrowser.exe /T

taskkill /F /IM sqlservr.exe /T

taskkill /F /IM sqlwriter.exe /T

taskkill /F /IM steam.exe /T

taskkill /F /IM synctime.exe /T

taskkill /F /IM tbirdconfig.exe /T

taskkill /F /IM thebat.exe /T

taskkill /F /IM thebat64.exe /T

taskkill /F /IM thunderbird.exe /T

taskkill /F /IM visio.exe /T

taskkill /F /IM winword.exe /T

taskkill /F /IM wordpad.exe /T

taskkill /F /IM xfssvccon.exe /T

taskkill /F /IM tmlisten.exe /T

taskkill /F /IM PccNTMon.exe /T

taskkill /F /IM CNTAoSMgr.exe /T

taskkill /F /IM Ntrtscan.exe /T

taskkill /F /IM mbamtray.exe /T


參考資料


https://docs-cortex.paloaltonetworks.com/p/XDR
https://docs.paloaltonetworks.com/wildfire
https://www.paloaltonetworks.com/cortex/cortex-xpanse
https://github.com/tennc/webshell/blob/master/web-malware-collection-13-06-2012/ASP/cmd.aspx
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/bitsadmin-transfer
https://www.crn.com/news/security/connectwise-control-was-used-by-bad-actors-blackpoint-cyber
https://www.safengine.com/en-us
https://github.com/DosX-dev/ASM-Guard
https://www.bleepingcomputer.com/news/security/medusa-ransomware-gang-picks-up-steam-as-it-targets-companies-worldwide/
https://www.bleepingcomputer.com/news/security/toyota-confirms-breach-after-medusa-ransomware-threatens-to-leak-data/
https://securityscorecard.com/research/a-deep-dive-into-medusa-ransomware/


參考鏈接


https://unit42.paloaltonetworks.com/medusa-ransomware-escalation-new-leak-site/