Megazord:一个用RUST编写的勒索软件

2023-09-25   

威胁等级:★★★★
Megazord勒索软件是Akira勒索软件新的变种,Akira勒索软件于2023年3月出现,在6月的时候出现了Linux版本,加密方式是RSA + AES结合对文件进行加密。Megazord勒索软件与之前不同的是使用Rust语言编写,用curve25519椭圆曲线非对称加密算法和sosemanuk对称加密算法的组合来进行加密,加密后的文件的后缀名为.powerranges,还会在每个文件夹下释放一个勒索文档。

概述

Megazord勒索软件是Akira勒索软件新的变种,Akira勒索软件于2023年3月出现,在6月的时候出现了Linux版本,加密方式是RSA + AES结合对文件进行加密。与之前不同的是此次的样本使用Rust语言编写,其加密方式很新颖,用了以往不常见的curve25519椭圆曲线非对称加密算法和sosemanuk对称加密算法的组合来进行加密,加密后的文件的后缀名为.powerranges,还会在每个文件夹下释放一个勒索文档。

样本分析

字段 内容
原始文件名 megazord.exe
文件大小 1.41MB
文件 MD5 9df999f142f137b0794b8afcaaedc588
文件类型 EXE
病毒名 Ransom.Megazord!1.EA79
主要功能 加密文件,释放勒索文档

基本信息

该样本使用Rust语言编写,从字符串中可以看到大量Rust语言相关的字符串


图:Rust语言相关字符串

本次捕获的样本实际为Megazord勒索的命令行版本,用命令megazord.exe -h可以查看其帮助信息。


具体分析

大部分的勒索软件双击就能运行,但是该样本需要传入参数tgDquEgfGQ才能运行。攻击者可能通过多种手段入侵受害者系统后,将勒索软件载荷投放至受害机上,后传入参数运行勒索软件。或者使用脚本传入参数运行。


图:直接运行


图:输入参数运行

使用命令获取虚拟机的信息,并且停止虚拟机的运行

cmd.exe /c powershell -command \"Get-VM | Stop-VM -Force\" /C

在加密前会使用命令net stop停止正在运行的服务,使用命令taskkill /f /im停止正在运行和进程,方便勒索软件进行加密。

服务: 
MSSQL$ISARS
MSSQL$MSFW
SQLAgent$ISARS
SQLAgent$MSFW
SQLBrowser
ReportServer$ISARS
SQLWriter
WinDefend
MSExchangeADTopology
MSExchangeFB
MSExchangeIS
MSExchangeSA
ShadowProtectSvc
SPAdminV4
SPTimerV4
SPTraceV4
SPUserCodeV4
SPWriterV4
SPSearch4
MSSQLServerADHelper100
QBCF Monitor Service
QBVSS QBPOS DB Service
QuickBooksDB1
QuickBooksDB2
QuickBooksDB3
QuickBooksDB4
QuickBooksDB5
QuickBooksDB6
QuickBooksDB7
QuickBooksDB8
QuickBooksDB9
QuickBooksDB10
QuickBooksDB11
QuickBooksDB12
QuickBooksDB13
QuickBooksDB14
QuickBooksDB15
QuickBooksDB16
QuickBooksDB17
QuickBooksDB18
QuickBooksDB19
QuickBooksDB20
QuickBooksDB21
QuickBooksDB22
QuickBooksDB23
QuickBooksDB24
QuickBooksDB25

进程:
veeam
chrome
iexplore
firefox
outlook
excel
taskmgr
tasklist
Ntrtscan
ds_monitor
Notifier
putty
ssh
TmListen
iVPAgent
CNTAoSMgr
IBM
bes10
Black Robo Copy
store.exe
SQL
vee
wrsa
wrsa.exe
PostgreSQL
Sage

加密过程

获取系统当前驱动器列表

v39 = -2i64;
v9 = a1;
v10 = a1;
memset(&v4 + 14, 0, 0x19000ui64);
v27 = 102400;
v37 = Buffer;
v38 = 102400i64;
LogicalDriveStringsA = GetLogicalDriveStringsA(0x19000u, Buffer);
v28 = LogicalDriveStringsA;
sub_1400F5090((__int64)&v14, (__int64)Buffer, 0x19000ui64);	

图:获取驱动器列表

从C盘开始遍历目录和文件来搜索要加密的文件,在搜索的过程中会排除以下扩展名的文件和文件夹。

排除的文件扩展名:
.exe
.dll
.sys
.msi
.lnk

排除的文件夹(区分大小写):
Windows
WINDOWS
System Volume Information
ProgramData
Default
Public
$RECYCLE.BIN	

加密前,先对要加密的文件添加.powerranges的后缀名,为了提高加密的速度,样本会使用多线程进行加密。


图:添加后缀名

获取内置的curve25519公钥,每次加密会生成新的sosemanuk流密钥。将生成的sosemanuk流密钥使用curve25519公钥加密。


图:curve25519的公钥

图:加密后的sosemanuk流密钥

把加密的文件读取到申请的内存中,使用sosemanuk加密算法对数据进行加密,之后用NtWriteFile函数将加密后的数据写入到文件中。

v441 = v137 ^ v131 ^ v149 ^ v140 ^ 0x9E3779BD;
v442 = 11;
v443 = __ROL4__(v441, 11);
v140 = v443;
v157[0] = v443 ^ v134 ^ v128 ^ v143 ^ 0x9E3779BC;
v438 = v157[0];
v439 = 11;
v440 = __ROL4__(v157[0], 11);
v143 = v440;
v157[0] = v440 ^ v137 ^ v131 ^ v146 ^ 0x9E3779BF;
v435 = v157[0];
v436 = 11;
v437 = __ROL4__(v157[0], 11);
v146 = v437;
v112 = v437 ^ v443 ^ v134 ^ v149;
v157[0] = v112 ^ 0x9E3779BE;
v432 = v112 ^ 0x9E3779BE;
v433 = 11;
v434 = __ROL4__(v112 ^ 0x9E3779BE, 11);
v149 = v434;
v152 = v140 & v146 ^ v434;
v154 = v146 ^ v143 ^ v152;
v155 = (v434 | v140) ^ v143;
v153 = v155;
v155 |= v140 ^ v154;
v155 ^= v152;
v152 &= (v434 | v140) ^ v143;
v156 = v140 ^ v154 ^ v152;
v153 ^= v155;
v153 ^= v156;
v156 = ~v156;	

在加密后的文件末尾先写入8个字节的00,然后再写入加密了的sosemanuk流密钥。


图:文件末尾的流密钥

在有加密文件的文件夹下放置勒索文档powerranges.txt。勒索文档内容如下:


图:勒索信

勒索信中有两个TOR网址。在第一个网址中,受害者可以看到一些公司被窃取的数据;在第二个网址中,每个受害者都有一个唯一的密码,通过输入密码可以进入勒索软件团伙的聊天系统,里面会教受害者支付赎金的方法,还可以与勒索软件团伙进行谈判。


图:窃取的数据

图:聊天网站

预防措施

1. 部署网络安全态势感知、预警系统等网关安全产品。

网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。

2. 安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。

杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。

 

瑞星ESM目前已经可以检出此次样本。


图:瑞星ESM检出Megazord勒索

IOC信息

MD5

9df999f142f137b0794b8afcaaedc588	

参考链接

https://decoded.avast.io/threatresearch/decrypted-akira-ransomware/
https://blog.pulsedive.com/akira-ransomware/
编辑:瑞瑞 阅读: