Monti 勒索软件发布了一个新的 Linux 加密器
2023-8-23 11:30:0 Author: paper.seebug.org(查看原文) 阅读量:20 收藏

原文链接:Monti Ransomware Unleashes a New Encryptor for Linux
译者:知道创宇404实验室翻译组

Monti勒索软件是一个同时具有Windows和Linux变种的勒索软件。其在2022年6月被首次发现,当时也引起了不少的关注。它不仅在名称上与臭名昭著的Conti勒索软件相似,而且在威胁行为上也非常类似。该小组以“Monti”为名,并故意模仿了Conti团队广为人知的战术、技术和程序(TTPs),整合了大量Conti的工具,甚至使用了Conti泄漏的源代码。自被发现以来,Monti团队一直在持续针对公司进行持续攻击,并在泄露的网站上公开曝光受害公司的数据。

Industry Count
Legal 3
Financial services 2
Healthcare 2
Others 6
表1: Monti勒索软件泄露网站上出现的公司的行业(数据日为2023年3月至8月)

Monti勒索软件被曝光两个月后,又开始了恶意活动,这一次他们的目标是政府部门。与此同时,一个新的基于Linux的Monti变种(Ransom.Linux.MONTI.THGOCBC)出现,其与先前的基于Linux的变种有显著差异。早期版本主要基于泄露的Conti源代码,新版本采用了不同的加密器,并具有额外的不同行为。截至撰写本文时,在VirusTotal上只有三家安全厂商将样本标记为恶意。

通过使用BinDiff将新变种与旧变种进行比较,我们发现它们的相似性仅为29%,而旧变种和Conti的相似性率为99%。

Figure 1. Comparison of the old and new Monti variants using BinDiff

图1:使用BinDiff比较新旧Monti变体

 Figure 2. Comparison of the old Monti variant and Conti ransomware using Bindiff

图2:使用Bindiff比较旧的Monti变种和Conti勒索软件

新的Linux变体接受以下命令行参数,省略了旧变体中的一些参数,并添加了白名单参数。下表以粗体文本显示了添加的参数,而从旧版本中删除的参数以斜体文本显示。

命令行参数 描述
--help Displays arguments usage
--path Path to be encrypted
--whitelist List of VMs to be skipped
--vmkill Option to Kill virtual machine (VM)
--detach Detach from terminal
--size removed
--log removed
--vmlist removed
表2:新变体接受的命令行参数

与前一个版本相比,当前的Monti勒索软件版本还使用了-type=soft参数来终止系统上的虚拟机(而不是--type=hard参数)。从--type=soft的切换可以推测,Monti背后的黑客可能选择了这种方法,以最大限度地降低在开展活动时立即被发现的风险。

Figure 3. Code snippet showing the -type=soft parameter used to terminate virtual machines

图3:用于终止虚拟机的-type=soft参数的代码片段

Monti的开发人员还篡改了 /etc/motdindex.html 文件,将其内容替换为一张勒索通知,宣布服务器已被成功渗透。需要注意的是,MOTD是当用户登录Linux操作系统时显示的文本消息。

Figure 4. Function used to tamper files

图4:用于篡改文件的功能

Figure 5. The new content of /etc/motd

图5:/etc/motd的新内容

这个新变体的一个附加特性是,它附加了字节MONTI,后面是链接到加密密钥的额外256个字节。

Figure 6. Comparison of two files encrypted by Monti ransomware

Figure 6. Comparison of two files encrypted by Monti ransomware

图6:Monti勒索软件加密的两个文件的比较

在开始其加密程序之前,勒索软件会检查特定条件。首先,它会检查文件大小是否不超过261字节,这与加密后附加的感染标记的大小相对应。如果满足这个条件,说明文件未加密,因为其大小小于附加的感染标记,勒索软件将继续进行感染过程。

如果初始条件不满足,Monti将检查文件的最后261字节,以验证字符串"MONTI"的存在。如果检测到该字符串,文件将被跳过,表示文件已经被加密。然而,如果没有找到该字符串,恶意软件将继续对文件进行加密处理。

Figure 7. Code snippet to check for the presence of the “MONTI” string via the last 261 bytes of the file to be encrypted

图7:通过要加密的文件的最后261个字节检查“MONTI”字符串是否存在的代码片段

根据我们的分析,新的勒索软件变种使用AES-256-CTR加密算法,使用来自OpenSSL库的evp_enc,而不是旧版本所采用的Salsa20。

我们还发现,我们分析的样本采用了各种文件加密方法。与前面的变体不同,先前的变种使用 --size 参数来确定要加密的文件百分比,而这个新变种仅依赖文件大小来进行加密。在本节中,我们详细解释Monti勒索软件确定要加密文件大小的不同方式。

Figure 8. Function containing the initialization of Cipher value stored in v7

图8:包含v7中存储的加密值初始化函数

Monti09

图9:OpenSSL库中包含evp_enc.c的函数40CC10

 Figure 10. 0x38A, which corresponds to AES-256-CTR in OpenSSL nid

图10:0x38A中对应OpenSSL nid中的AES-256-CTR

Figure 11. Checking file size and determining the size to be encrypted

图11:检查文件大小并确定要加密的大小

如果文件大小大于1.048MB但小于4.19MB,该示例将只加密文件的前100,000 (0xFFFFF)个字节,并在文件末尾附加其感染标记。

Figure 12. Encrypted file (left) vs original file (right)

图12:加密文件(左)与原始文件(右)

如果文件大小超过4.19MB,它将使用右移运算来计算要加密的文件的总大小(这取决于实际的文件大小)。同时,小于1.048MB的文件将对其所有内容进行加密。

Figure 13. Encrypted file (left) vs original file (right). Using 0x635818(total size), Shift Right 2 is equivalent to 0x18D606 (bytes to be encrypted)

图13:加密文件(左)与原始文件(右)

与先前的变种一样,新版本向加密文件附加了 .monti 文件扩展名,并在每个目录中放置了勒索留言 readme.txt

Figure 14. Appending the .monti suffix to encrypted files (top) and the ransom note

Figure 14. Appending the .monti suffix to encrypted files (top) and the ransom note

图14:.monti 后缀添加到加密文件,并附加勒索留言

在分析样本时,我们发现了一段解密代码,这表明黑客正在测试其功能。在部署样本时,他们似乎忘记删除这段代码。然而,由于解密代码需要仅威胁软件作者知晓的私钥,并且与恶意软件程序没有联系,目前它是无效的。因此,该程序不会执行解密代码。

Monti背后的黑客仍然很可能仍使用Conti源代码的一部分作为新变种的基础,正如一些类似的函数所证明的那样,但对代码进行了重大更改,特别是加密算法。此外,通过修改代码,Monti的运营商正在增强其逃避检测的能力,使他们的恶意活动更难以识别和缓解。

建议组织采取有效的防御策略,包括制定数据保护协议和建立备份和恢复程序,以保护系统免受勒索软件攻击。即使在加密或删除的情况下,这些措施也能确保数据的安全性及其可能的恢复。

我们建议采取后续安全措施来保护重要数据:

  • 实施多因素身份验证(MFA),以阻止攻击者在网络中横向扩展并获得对敏感数据的访问权限。
  • 遵循3-2-1备份指南来生成关键文件的备份。该指南要求创建三个备份副本,使用两种不同的文件格式,并将一个副本存储在不同的位置。这种方法确保了冗余,并最大限度地降低了数据丢失的可能性。
SHA1 Detection
f1c0054bc76e8753d4331a881cdf9156dd8b812a Ransom.Linux.MONTI.THGOCBC
a0c9dd3f3e3d0e2cd5d1da06b3aac019cdbc74ef Ransom.Linux.MONTI.THGADBC

URL

  1. http://monti5o7lvyrpyk26lqofnfvajtyqruwatlfaazgm3zskt3xiktudwid.onion
  2. http://mblogci3rudehaagbryjznltdp33ojwzkq6hn2pckvjq33rycmzczpid.onion

Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/3010/



文章来源: https://paper.seebug.org/3010/
如有侵权请联系:admin#unsafe.sh