|
通过反射加载注入的Netwalker无文件勒索软件威胁行动者正在不断创造出更复杂的方式来使恶意软件逃避防御。我们已经观察到Netwalker 勒索软件攻击所涉及的恶意软件不是经过编译而是用PowerShell编写,而是直接在内存中执行,而没有将实际的勒索软件二进制文件存储到磁盘中。这使该勒索软件变种成为无文件的威胁,从而使其能够保持持久性并通过滥用系统中已经存在的工具来发起攻击来逃避检测。 这种类型的威胁利用了一种称为反射式动态链接库(DLL)注入的技术,也称为反射式DLL加载。该技术允许从内存而不是从磁盘注入DLL。该技术比常规的DLL注入更为隐秘,因为除了不需要磁盘上的实际DLL文件之外,它也不需要任何Windows加载程序即可注入。这消除了将DLL注册为进程的已加载模块的需要,并避免了从DLL负载监视工具中逃脱。 最近,我们目睹了威胁参与者使用此技术来部署ColdLock勒索软件。现在,我们已经看到了使用无文件执行的Netwalker勒索软件的相同攻击。有效负载以检测到Ransom.PS1.NETWALKER.B的PowerShell脚本开头。 PowerShell脚本分析 图1. PowerShell脚本行为概述 该脚本隐藏在多层加密,混淆和编码技术下。对于此样本,我们能够揭示三层代码。最顶层执行base64编码的命令。 图2.最顶层代码的代码片段(base64编码的命令) 对此进行解码将显示下一层代码,该层是十六进制编码和XOR加密的。 图3.第二层代码(十六进制编码和XOR加密) 然后,解码和解密将显示主要脚本,该脚本仍然很模糊,使分析人员更难以解密内容。 图4.混淆后的主脚本的代码片段 该文件以反射方式将勒索软件DLL注入到合法运行进程explorer.exe的内存中。勒索软件以十六进制格式嵌入脚本中。 图5.以十六进制格式嵌入脚本的勒索软件二进制文件 从脚本中取出二进制文件并将其解码将产生两个DLL。一个是勒索软件的x86版本(用于32位操作系统),而另一个是x64版本(用于64位OS)。 它使用脚本的以下部分来确定运行该脚本的环境,以便可以设置要使用的DLL版本: 图6.确定勒索软件运行环境的脚本 为了成功执行反射注入,它首先从kernell32.dll中找到所需功能的API地址: 图7.勒索软件从kernell32.dll收集API地址 然后,它使用以下功能来设置准确的内存地址计算: 图8.设置内存计算的功能 图9.用于计算所需内存地址的代码片段 以这种方式,脚本本身充当DLL自己的自定义加载程序。这消除了对传统Windows加载程序的需要,后者通常利用LoadLibrary函数。脚本本身可以计算并解析其所需的内存地址和重定位以正确加载DLL。 然后指定要注入的进程;在这种情况下,它将搜索正在运行的Windows资源管理器进程。 图10.用于搜索正在运行的Windows资源管理器进程的代码片段 然后,它将通过以下代码将勒索软件DLL写入并执行explorer.exe的内存空间: 图11.将勒索软件DLL代码写入内存的代码片段 最后,它删除卷影副本,并防止受害者使用卷影恢复其加密文件。 图12.删除卷影副本的代码段 该示例似乎来自PowerSploit的Invoke-Mimikatz模块,该模块是一个开源程序,最初旨在将Mimikatz完全反射地加载到内存中,以进行秘密凭证转储。 无文件勒索软件分析 Netwalker的此变体在行为方面类似于其前身。它使用6个随机字符作为扩展名重命名加密文件: 图13.使用6个随机字符作为扩展名重命名的加密文件 它将赎金记录放在系统中的各个文件夹中,并在对受害者的数据和文档进行加密后打开一个。与通常的勒索软件一样,这样做是为了向受害者勒索钱财,以换取其文件的解密。 图14. Netwalker赎金记录 它添加以下注册表项。添加此条目是Netwalker的已知行为: HKEY_CURRENT_USER \ SOFTWARE \ {8个随机字符} {8个随机字符} = {十六进制值} 图15. Netwalker添加的示例注册表项 勒索软件终止了某些进程和服务,其中一些示例与备份软件和与数据相关的应用程序有关。这样做可能是为了破坏勒索软件攻击后受害者在执行备份和恢复操作时可能付出的任何努力。 以下是勒索软件终止的一些服务示例(有关服务的完整列表,请参阅此报告):
勒索软件还停止了与安全软件相关的过程,从而逃避了对其恶意活动的检测和终止。 此外,它还终止与用户数据和文档以及用于创建备份的软件有关的过程。然后它将继续加密通过这些应用程序创建的文件。 由勒索软件终止的示例进程(有关进程的完整列表,请参阅此报告):
Netwalker在其加密例程中主要针对常见用户文件,例如Office文档,PDF,图像,视频,音频和文本文件等。除此之外,由于它通常避免对任何关键文件,可执行文件,动态链接库,注册表或其他与系统相关的文件进行加密,因此它显然并不想使系统完全无效。 Ots网络安全管家 - 建议 看来,攻击者现在正在向其勒索软件库中添加反射DLL注入,以试图使攻击难以追踪且更难以被安全分析人员调查。勒索软件本身对组织构成了巨大的威胁。作为无文件威胁,风险增加了,因为它可以更有效地规避检测并保持持久性。诸如此类的混合威胁利用多种技术,使得组织必须使用各种安全技术层来有效地保护其端点,例如采用行为监控和基于行为检测的安全解决方案。 这些类型的攻击可能会对受害者造成巨大影响,并且很难从中恢复。采用适当的预防措施,例如采用最佳实践,将极大地降低感染风险。 以下是我们为避免勒索软件攻击而提出的一些建议:
以下是一些保护系统免受无文件威胁的建议:
|