​RansomExx病毒传送载体流程

  • A+
所属分类:逆向工程

        

        RansomExx 是一种勒索软件变种,它在 2020 年引发了几次备受瞩目的攻击,已显示出进一步发展和不受阻碍的活动迹象。最近报道的发展涉及使用适用于 Linux 服务器的更新变体,有效地将其范围扩展到 Windows 服务器。


    事件首先被标记为附有受密码保护的 ZIP 文件的网络钓鱼电子邮件,该文件实际上是带有恶意宏的 Word 文档(检测为Trojan.W97M.SHATHAK.A)。它显示一条消息,诱使用户启用宏内容:


​RansomExx病毒传送载体流程


通过允许文档中的宏,它将尝试从恶意 URL下载 IcedID 木马(检测为TrojanSpy.Win32.ICEDID.BP)。如果下载成功,则使用regsvr32.exe执行木马。


​RansomExx病毒传送载体流程


作为一种常见的 IcedID 方法,它使用隐写术作为一种方法,通过从恶意 URL 下载的 .png 文件传送有效负载。文件被解密,有效载荷被注入内存。为了持久化,IcedID 创建了一个每小时运行的计划任务,它再次使用 regsvr32.exe 运行其恶意 DLL:

​RansomExx病毒传送载体流程


在此事件中,我们观察到 msiexec.exe 被用于注入和部署最终的 IcedID 负载。有了最终的有效载荷,攻击者就能够加载和执行 Cobalt Strike 有效载荷,使其能够与命令和控制 (C&C) 服务器进行通信:


​RansomExx病毒传送载体流程


        与恶意服务器建立连接后,攻击者开始收集机器信息并横向移动。在本条目中,我们没有证据显示恶意软件用于横向移动的所有方法,除了通过 SMB 的方法。


​RansomExx病毒传送载体流程


        用于交付在环境中执行的其他组件的工件是 Notepad++ 的木马化版本——Vatet 加载程序(检测为Trojan.Win32.VATET.SM)。如我们之前的博文所述,Vatet 加载器使用基于 XOR 的方法解密文件(在我们的分析中称为 config.dat)。XOR操作后,它分配内存,将config.dat解密后的代码注入到自己的内存中,然后执行payload:


​RansomExx病毒传送载体流程


        只要根据 config.dat 的文件路径遵循正确的 XOR 操作,Vatet 加载器就会加载任何有效负载。我们确定了一个不同的 config.dat 文件用于不同的目的,例如通过 Pyxie、Lazagne 和 Mimikatz 以及 RansomExx 本身在最后一个攻击阶段收集信息。一个关键的观察结果是,用于信息收集的 config.dat 在其有效负载的配置中包含一个内部 IP,特别是在与用于发送收集的信息的服务器地址有关的部分中。我们有证据表明,这个内部 IP 被用作渗漏点,并与前面提到的 C&C 服务器通信。这种行为使我们认为整个攻击确实非常快,其中一些组件是在事件发生时创建的。


Linux 变体的使用


        将所描述的事件与最近涉及 RansomExx 的攻击相关联,我们观察到使用 RansomExx 的新 Linux 变体来危害 Linux 服务器。我们没有关于恶意软件如何发送到 Linux 服务器的信息,但我们观察到它通常针对 VMware 环境,尤其是用作 VMware 文件存储的机器。我们使用 Trend Micro Telfhash发现了三种 RansomExx for Linux 变体,并且所有三个样本都具有相同的行为。我们从这三个中分析的样本是一个 64 位 ELF 可执行文件,其中包含来自名为 mbedtls 的开源库的所有加密方案。该示例是多线程的,直接进行加密。它没有网络活动,没有反分析技术,或在其主要议程之外的其他活动。该示例还有一些可用的调试信息,允许我们检查函数名称和源代码文件名等特征:


​RansomExx病毒传送载体流程



        执行后,示例开始调用称为 GeneratePreData 的函数,该函数负责使用来自本机 Linux 函数的伪随机值和 mbedtls 操作创建 256 位 AES 密钥。AES 密钥使用硬编码的 RSA-4096 公钥加密,结果写入全局变量。该全局变量的内容将附加到每个文件中,以便将来在 ECB 模式下使用 AES 进行加密:


​RansomExx病毒传送载体流程


        GeneratePreData 函数在恶意软件创建的线程中无限循环运行,尝试每 0.18 秒生成一次加密密钥。该线程将继续运行,直到恶意软件执行结束。


​RansomExx病毒传送载体流程



​RansomExx病毒传送载体流程


        只有当用户将目录指定为命令行参数时,恶意软件才会运行。加密准备从称为 list_dir 的函数开始。list_dir 函数执行的第一个操作确保通过命令行传递的参数是一个目录。如果检查成功,则调用负责创建赎金票据的函数。

        如果同一目录中的其他文件也是目录,则再次调用 list_dir 函数。对于常规文件,恶意软件会尝试检查文件是否出现勒索软件扩展字符串,以确定是否需要对其进行加密。对于在目录中找到的每个文件,恶意软件都会添加一个任务来加密文件:


​RansomExx病毒传送载体流程

​RansomExx病毒传送载体流程


本文始发于微信公众号(Khan安全攻防实验室):​RansomExx病毒传送载体流程

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: