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/