赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

一种新的勒索软件会对文件进行加密,并向其添加“.SaveTheQueen”扩展名,通过 Active Directory 域控制器上的 SYSVOL 网络文件夹进行传播。

我们的客户最近遇到了这种恶意软件。 我们在下面介绍我们的完整分析、结果和结论。

发现

我们的一位客户在遇到一种新型勒索软件后联系了我们,该勒索软件将“.SaveTheQueen”扩展名添加到其环境中的新加密文件中。

在我们的调查过程中,或者更确切地说,在寻找感染源的阶段,我们发现感染者的分布和追踪是通过使用 网络文件夹 SYSVOL 在客户的域控制器上。

SYSVOL 是每个域控制器的关键文件夹,用于向域中的计算机传送组策略对象 (GPO) 以及登录和注销脚本。 此文件夹的内容在域控制器之间复制,以在组织的站点之间同步此数据。 写入 SYSVOL 需要高域权限,但是,一旦受到损害,该资产就会成为攻击者的强大工具,攻击者可以使用它在域中快速有效地传播恶意负载。

Varonis 审计链帮助快速识别以下内容:

  • 受感染的用户帐户在 SYSVOL 中创建了一个名为“hourly”的文件
  • 在 SYSVOL 中创建了许多日志文件 - 每个日志文件都以域设备的名称命名
  • 许多不同的 IP 地址正在访问“每小时”文件

我们得出的结论是,日志文件用于跟踪新设备上的感染过程,并且“每小时”是一项计划作业,它使用 Powershell 脚本在新设备上执行恶意负载 - 示例“v3”和“v4”。

攻击者可能获得并使用域管理员权限将文件写入 SYSVOL。 在受感染的主机上,攻击者运行 PowerShell 代码,该代码创建了一个计划作业来打开、解密和运行恶意软件。

解密恶意软件

我们尝试了多种方法来破译样本,但均无济于事:

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

当我们决定尝试一下宏伟的“魔法”方法时,我们几乎准备放弃了。
公用事业 网络厨师 由政府通讯总部提供。 Magic 试图通过暴力破解不同加密类型的密码并测量熵来猜测文件的加密。

译者注 见。微分熵 и 信息论中的熵。 本文和评论不涉及作者对第三方或专有软件中使用的方法细节的讨论
赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

Magic 确定使用了 base64 编码的 GZip 加壳器,因此我们能够解压缩文件并发现注入代码。

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

Dropper:“该地区有流行病! 一般疫苗接种。 手足口病》

该植入程序是一个常规的 .NET 文件,没有任何保护。 阅读源代码后 DNSpy 我们意识到它的唯一目的是将 shellcode 注入到 winlogon.exe 进程中。

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

Shellcode 或简单的复杂情况

我们使用了 Hexacorn 创作工具 - shellcode2exe 以便将shellcode“编译”成可执行文件以进行调试和分析。 然后我们发现它可以在 32 位和 64 位机器上运行。

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

即使用本机汇编语言翻译编写简单的 shellcode 也可能很困难,但编写可在两种类型的系统上运行的完整 shellcode 需要精英技能,因此我们开始惊叹攻击者的复杂性。

当我们使用以下命令解析编译后的 shellcode 时 x64dbg,我们注意到他正在加载 .NET 动态库 ,例如 clr.dll 和 mscoreei.dll。 这对我们来说似乎很奇怪 - 通常攻击者试图通过调用本机操作系统函数而不是加载它们来使 shellcode 尽可能小。 为什么有人需要将 Windows 功能嵌入到 shellcode 中,而不是根据需要直接调用它?

事实证明,恶意软件的作者根本没有编写这个复杂的 shellcode - 专门用于此任务的软件用于将可执行文件和脚本转换为 shellcode。

我们找到了一个工具 油炸圈饼,我们认为它可以编译类似的 shellcode。 以下是来自 GitHub 的描述:

Donut 从 VBScript、JScript、EXE、DLL(包括 .NET 程序集)生成 x86 或 x64 shellcode。 此 shellcode 可以注入到任何要执行的 Windows 进程中
随机存取存储器。

为了证实我们的理论,我们使用 Donut 编译了自己的代码,并将其与示例进行了比较 - 是的,我们发现了所使用的工具包的另一个组件。 此后,我们已经能够提取并分析原始的.NET可执行文件。

代码保护

该文件已被使用混淆 混淆器:

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

ConfuserEx 是一个开源 .NET 项目,用于保护其他开发的代码。 此类软件允许开发人员使用字符替换、控制命令流屏蔽和引用方法隐藏等方法来保护其代码免受逆向工程的影响。 恶意软件作者使用混淆器来逃避检测并使逆向工程变得更加困难。

通过 ElektroKill 拆包器 我们解压代码:

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

结果-有效负载

由此产生的有效负载是一个非常简单的勒索软件病毒。 没有任何机制来确保系统中的存在,也没有与指挥中心的连接——只有很好的旧式非对称加密来使受害者的数据不可读。

main 函数选择以下几行作为参数:

  • 加密后使用的文件扩展名 (SaveTheQueen)
  • 放置在勒索信文件中的作者电子邮件
  • 用于加密文件的公钥

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

该过程本身如下所示:

  1. 该恶意软件会检查受害者设备上的本地和连接的驱动器

    赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

  2. 搜索要加密的文件

    赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

  3. 尝试终止正在使用要加密的文件的进程
  4. 使用 MoveFile 函数将文件重命名为“OriginalFileName.SaveTheQueenING”并对其进行加密
  5. 使用作者的公钥对文件进行加密后,恶意软件会再次将其重命名为“Original FileName.SaveTheQueen”
  6. 具有赎金要求的文件被写入同一文件夹

    赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

基于对本机“CreateDecryptor”函数的使用,恶意软件的函数之一似乎包含需要私钥的解密机制作为参数。

勒索软件病毒 不加密文件,存储在目录中:

C:窗户
C:程序文件
C:程序文件(x86)
C:用户\应用程序数据
C:inetpub

还有他 不加密以下文件类型:EXE、DLL、MSI、ISO、SYS、CA​​B。

结果和结论

尽管勒索软件本身不包含任何异常功能,但攻击者创造性地使用 Active Directory 来分发植入程序,并且恶意软件本身在分析过程中给我们带来了有趣的(尽管最终并不复杂)障碍。

我们认为该恶意软件的作者是:

  1. 编写了一个内置注入 winlogon.exe 进程的勒索软件病毒,以及
    文件加密和解密功能
  2. 使用 ConfuserEx 伪装恶意代码,使用 Donut 转换结果,并另外隐藏 base64 Gzip dropper
  3. 在受害者的域中获得提升的权限并使用它们进行复制
    加密的恶意软件和计划作业到域控制器的 SYSVOL 网络文件夹
  4. 在域设备上运行PowerShell脚本来传播恶意软件并在SYSVOL日志中记录攻击进度

赎金就像女王:Varonis 调查快速传播的“SaveTheQueen”勒索软件

如果您对勒索软件病毒的这种变种或我们团队执行的任何其他取证和网络安全事件调查有疑问, свяжитесьснами 或请求 现场演示对攻击的响应,我们总是在问答环节回答问题。

来源: habr.com

添加评论