勒索病毒家族介绍之八—— Sodinokibi: 勒索软件的“冠冕之王”(上)
首页 > 防勒索者病毒
已有证据表明,Sodinokibi 与 GandCrab 勒索病毒家族有一定的渊源关系。在 GandCrab “隐退”之后,Sodinokibi 继之而起,从势头上大有赶超其“前任”之态。Sodinokibi 初始之时在亚洲肇事,随后开始蔓延到欧洲。该勒索软件对杀毒软件及其他网络安全防护手段具有较高的回避性,因此对企业及各种组织具有极强的威胁性,并因此而被称为勒索病毒的“冠冕之王”。
起初,Sodinokibi 利用 Oracle 的 WebLogic 漏洞(CVE-2019-2725)访问受害者的机器,后来改为使用垃圾邮件进行攻击。一旦进入,该勒索软件会尝试使用更高的用户权限执行自己的恶意脚本,以便不受任何限制地访问系统上的所有文件和资源。Sodinokibi 使用 AES 及 Salsa20 算法对受害系统中的文件进行加密:使用 AES 对发往控制服务器的会话密钥和数据进行加密;使用 Salsa20 加密法对用户的文件进行加密。一旦渗透到受害者系统中,该勒索软件将会把备份文件夹中所有的备份文件一扫而空。
Sodinokibi 如何回避检测?
据分析,Sodinokibi 使用自定义的封装工具进行封装。即便被成功解包,从该勒索软件代码中似乎也找不到什么可识别的字符串。它也没有向系统库和 API 中有任何导入,这也就意味着,对于那些依赖可读字符串和导入 API 表来识别勒索软件的静态杀毒软件来说,很难检测到 Sodinokibi。
在 Sodinokibi 运行期间,它使用 RC4 加密算法对其 API 名称和其他必需的字符串进行解密,软件配置数据也通过 RC4 加密算法保存在.grrr文件中(不同变种该相应文件名称不同)。为了提高反杀毒软件的能力,对大部分字符串来讲,Sodinokibi 使用这些字符串的 DJB 哈希算法进行操作,而不是直接使用字符串本身来进行操作。
Sodinokibi 是如何传播的?
就像大部分勒索软件一样,Sodinokibi 目前也是用带有恶意链接的钓鱼邮件作为攻击的手段。这种恶意链接一旦被用户在无防备意识的状态下点开之后,就会下载一个看上去正常、但实际却有恶意攻击性质的 zip 文件。正如上面所说,这些 zip 文件很难被一般的杀毒软件检测到,因此,Sodinokibi 初始有效负载不会被标记为恶意。
既然初始有效负载能够成功躲避过杀毒软件的检测,因此,对于大部分组织来说,第一层防御就轻松地被 Sodinokibi 突破了。
zip 文件包含一个混淆 JavaScript 文件。用户双击 JavaScript 文件时,一系列的恶意操作便眼花缭乱地开始了:
1. WScript 执行zip文件中的JavaScript脚本:
2. JavaScript 文件通过重新排列文件中名为 eiculwo 的列表中的字符来反混淆:
3.位于 JavaScript 文件中的变量vhtsspmsj 是一个混淆的 PowerShell 脚本,将在攻击后期被攻击者进行反混淆:
4. JavaScript 文件消除变量vhtsxspmsj 的混淆性,该变量为 PowerShell 脚本,并将其保存在临时目录temp 中,脚本名称为 jurhtcbvj .tmp。
5. 文件jurhtcbvj.tmp是一个充满许多多余叹号的PowerShell脚本,很有可能是为了进一步混淆自己。JavaScript 文件启动PowerShell命令以删除感叹号并执行 PowerShell 脚本:
6. PowerShell 脚本解码并执行一个附加的Base64 编码的脚本。解码的脚本包含一个 .NET 模块,该模块同样以 Base64编码,随后该模块被解码并加载到 PowerShell 过程内存中。加载后,它将执行安装1的功能:
7. 模块test.dll 是此过程的其中一个层面。。Install1 中包含另一个用 Base64 编码的模块。Install1 解码此模块,并将其加载到内存中:
结论
这里,我们深入了解了 Sodinokibi 勒索软件的攻击过程。即使勒索软件作者使用的混淆技术非常简单,但其仍然证明是非常有效的,并可以绕过大多数杀毒软件的检测。
进一步的分析证明,Sodinokibi 勒索软件背后的攻击者与创建 GandCrab 勒索软件的作者相同:其语言和国家白名单(俄语国家,甚至叙利亚、阿拉伯语国家)的相似性、针对 Ahnlab 产品进行过程注入的"报复性"目标(请参见后续文章),以及相似的 URL 生成方法。
Sodinokibi 勒索软件已变得非常活跃,并在首次出现后不到 4 个月内变成为第四大最常见的勒索软件。此后,它经历了几次小更新,但可以预见的是,其“勤劳”的作者将继续升级该勒索软件,添加更多的功能,并继续“改善”其回避检测的能力。