恶意软件分析-解密MedusaLocker

admin 2024年3月25日08:37:06评论10 views字数 4212阅读14分2秒阅读模式

在此分析中,我将不介绍 MedusaLocker 的 stage1 和 stage2,其中包括使用 maldoc 的初始访问和使用批处理脚本执行,该脚本进一步调用 powershell 来启动攻击。我将仅分析勒索软件可执行文件,这是 MedusaLocker 的第 3 阶段。

  • 恶意软件开发 

  • 恶意软件分析-解密MedusaLocker

MedusaLocker 勒索软件可执行文件涵盖了大多数 MITRE ATT&CK 策略。公共报告沙盒提供的 MITRE 映射如下:

恶意软件分析-解密MedusaLocker

Joe Sandbox 报告

MedusaLocker 勒索软件的这种变体在执行过程中有大量步骤。它遵循从初始访问到影响的许多技术,我们将在下面一一探讨:

互斥

让我们从勒索软件最常用的技术之一开始,即创建唯一的互斥锁以避免运行同一恶意软件的多个实例。这在勒索软件具有类似蠕虫的功能并可以传播和感染其他系统的情况下特别有用。如果存在持久性恶意软件,如果触发了时间或事件,则它会自动开始执行,这也很有帮助。

恶意软件分析-解密MedusaLocker

检查互斥锁

上面的代码是从剥离的 MedusaLocker 勒索软件可执行文件中反汇编的。第一个函数是一个简单的日志子例程,上面写着“[Locker] 正在运行”。第二个函数是字符串格式化函数,用于格式化唯一的互斥锁,然后将其传递给创建互斥锁的第三个函数。

权限提升

在执行任何关键操作之前,MedusaLocker 会尝试提升本地系统上的权限。它通过滥用 COM 对象来绕过 UAC(用户帐户控制),这是一种内置的安全措施。CMSTPLUA COM 接口存在已知的 UAC 旁路。

恶意软件分析-解密MedusaLocker

通过滥用 COM 对象进行权限提升

上面的这段代码是使用 CMSTPLUA COM 对象接口提升权限。这些 CLSID 指的是用于执行上面屏幕截图中提供的命令的 wshell exec 对象。由于这是一个剥离的二进制文件,因此函数没有多大意义。但是,如果我重命名函数和参数,那么它会更容易理解,如下面提供的屏幕截图所示:

恶意软件分析-解密MedusaLocker

改革后的权限升级代码

我刚刚从现实世界的恶意软件中提取了一个 TTP。下一步是通过重新创建这些恶意行为来模拟此过程。例如,此处的行为映射为 TTP,如下所示:

  1. 特权升级作为策略

  2. 滥用提升控制机制作为技术

  3. 绕过用户帐户控制作为子技术

污损

MedusaLocker 勒索软件的一个独特特征是它添加了一个标记注册表项,显示特定系统已被 MedusaLocker 感染。此程序的目的尚不清楚,但它看起来像是一种污损策略,或者只是在系统中留下标记。无论有害与否,这都是一种重要的行为,随后是一个非常危险的勒索软件。

恶意软件分析-解密MedusaLocker

MedusaLocker 标记

注册表项的路径为“HKEY_CURRENT_USERSOFTWAREMDSLKSelf”。MDSLK 的缩写可能是 MedusaLocker。此策略在 MITRE 上映射为:

  1. Impact as tactic

  2. Defacement as technique

  3. Internal Defacement as sub-technique

坚持

MedusaLocker使用不同的方法来实现持久性。它使用官方 Microsoft 记录代码通过无限期地安排重复 15 分钟的任务来实现持久性。通常,恶意软件使用官方Microsoft应用程序at.exe或schtasks.exe来计划任务,但在这种情况下,恶意软件使用 Microsoft 的 MSDN 页面中的官方代码在 C++ 中以编程方式计划任务。

恶意软件分析-解密MedusaLocker

使用任务调度的持久性

恶意软件在系统的 %APPDATA% 中创建名称为“svhost.exe”的自身副本,并在任务计划程序中注册自身,每 15 分钟无限期执行一次。这里是互斥锁的使用,当它再次执行时,它首先检查另一个实例是否已经在系统中运行。如果是这样,则恶意软件退出并让上一个实例继续。此行为的 MITRE 映射为:

  1. 坚持不懈作为策略

  2. 计划任务/作业作为技术

  3. 作为子技术的计划任务

防御规避

该恶意软件使用了多种防御规避技术,其中之一是完全禁用 UAC(用户帐户控制)。由于恶意软件使用 CMSTPLUA 绕过获得了提升的权限。现在,它可以对系统进行关键更改,其中之一是禁用UAC。它通过更改注册表值来实现,如下面的代码所示:

恶意软件分析-解密MedusaLocker

禁用 UAC

它将“EnableLUA”的值设置为 0,这意味着不会显示管理员提示,并且将使用提升的权限执行所有内容。该恶意软件的作者还尝试了另一个额外的步骤来禁用 UAC,方法是将“ConsentPromptBehaviorAdmin”的值也设置为 0。无论如何,如果第一种技术不起作用,那么第二种技术将确保 UAC 被禁用,但它只有在系统重新启动后才能工作。他们的 MITRE 行为映射如下:

  1. 防御规避作为战术

  2. 削弱防御作为技术

  3. 禁用或修改工具作为子技术

服务停止

该恶意软件的另一个高度关键的影响是它会停止并删除一组预定义的服务和进程,以避免其加密过程的任何中断。这些服务集可以在二进制文件中字符串的简单静态分析中找到。

恶意软件分析-解密MedusaLocker

要停止的服务列表

上图显示了它尝试枚举的所有服务和进程,并将它们终止。它使用 Windows 服务控制管理器 API 与服务交互,以停止甚至删除服务。对于进程,它使用著名的进程枚举器 API“CreateToolhelp32Snapshot、Process32First 和 Process32Next”。此行为的 MITRE 映射如下所示:

  1. 对战术的影响

  2. 技术服务停止

禁止系统恢复

与大多数勒索软件一样,MedusaLocker也试图删除从受害者系统恢复数据的方法。但是,与大多数勒索软件不同的是,它通过删除多个恢复选项而不仅仅是删除卷影副本来实现。它使用 vssadmin 和 wbadmin 从系统中删除卷影副本。它还使用bcdedit.exe删除其他恢复选项,以防止系统重新启动到恢复模式。作为额外的步骤,它还清空回收站以确保。

恶意软件分析-解密MedusaLocker

删除恢复选项

上面列出的每个命令都由 CreateProcessW API 执行,该 API 将第一个空格作为进程名称的指示符,并将 rest 作为该进程的参数。突出显示的名为 sub_41E9A0 的子例程将创建这些进程,如下所示:

恶意软件分析-解密MedusaLocker

创建删除恢复文件的过程

此恶意软件行为的 MITRE 映射可以映射到 Impact 上,如下所示:

  1. 对战术的影响

  2. 抑制系统恢复技术

加密

与大多数勒索软件一样,MedusaLocker 也使用对称加密进行快速处理。它使用 AES-256 加密系统上的所有文件。但是,它在恶意软件进程中同时使用 RSA 和 AES 的组合。加密密钥使用嵌入到恶意软件中的预定义公钥进行加密,该公钥只能使用攻击者的私钥进行解密。恶意软件作者编写代码的方式是,每个文件都使用随机生成的 AES 密钥进行加密,该密钥又使用 RSA 公钥加密,并与多个赎金记录一起保存在系统中。

恶意软件分析-解密MedusaLocker

加密例程

在上面的截图中,可以看出 base 64 编码的公钥已经嵌入到恶意软件中。我使用牙线实用程序从恶意软件中提取了字符串。然后使用“CryptStringToBinaryA”API 将 base64 编码的密钥转换为二进制格式,以用于加密函数。最后,使用“CryptGenKey”API 生成对称密钥,该 API 使用公钥加密并保存在 html 赎金记录中。之后,启动加密器,该加密器会建立在加密期间要跳过的重要文件夹和扩展名,如公钥下方提取的字符串所示。

此恶意软件行为的 MITRE 映射可以映射到 Impact 上,如下所示:

  1. 对战术的影响

  2. 数据加密以产生影响作为技术

为了重新创建这个测试用例,我可以编写一个 c++ 代码来启动一个异步线程,用于不断搜索和加密文件的加密函数。同时,还保存了包含加密对称密钥的赎金html注释。

发现和横向移动

该恶意软件拥有一个网络模块,使其能够与本地网络中的远程系统建立连接并扫描 SMB 共享。初始步骤包括按顺序向每个系统发送 ICMP“Ping”,并验证是否收到响应。之后,恶意软件将继续检查系统中是否有任何打开的 SMB 共享,不包括名称中带有“$”的共享,这表示隐藏的共享。然后,恶意软件将累积列表中的剩余份额,该列表将在稍后阶段进行加密。

恶意软件分析-解密MedusaLocker

Ping 系统

此恶意软件行为的 MITRE 映射可以映射到 Impact 上,如下所示:

  1. 战术的横向移动

  2. 远程服务作为技术

  3. SMB Shares 作为子技术

我已经介绍了 MedusaLocker 勒索软件的大多数主要攻击路径或恶意行为。在本报告的下一部分中,我将讨论如何模拟这些行为以进行全面的安全测试和报告。

行为仿真

我们将攻击周期的每个阶段都称为恶意行为,并且每个行为都映射到一种 MITRE 策略、技术或子技术上。由于我已经从MedusaLocker Ransomware中提取了所有主要行为,因此,下一步是以安全的利用方式重新创建这些行为,以进行完整的APT仿真。我使用多种技术组合来重新创建这些行为,例如跟踪恶意软件使用的 API 调用,或按照恶意软件实现特定行为的确切方式进行编码,或联系与恶意软件使用的相同恶意 URL。我还在这个行为娱乐阶段加入了 chatGPT,我分析了恶意软件,了解了它的做法和恶意软件使用的 API,并使用 chatGPT 重新创建了这些行为。

例如,我将以“抑制系统恢复”为技术来重新创建“冲击”策略的行为。恶意软件使用的行为是使用 CreateProcessW 从数组中执行许多命令,以从系统中删除卷影副本和其他恢复选项。我用要执行的命令和必须执行命令的 API 查询了 chatGPT,结果它重新创建了整个行为本身。

恶意软件分析-解密MedusaLocker

使用 ChatGPT 进行行为娱乐

从上面的屏幕截图中可以看出,chatGPT 重新创建了与我们在对恶意软件样本进行逆向工程期间在二进制文件中看到的非常相似的代码。使用这种方法,我只需稍作调整即可重新创建大多数行为。

重新创建所有行为后,我们按顺序启动所有行为,然后评估针对特定 APT 活动或攻击路径的安全控制薄弱之处。这种针对个人行为进行划分和测试的方法为我们提供了对安全控制及其弱点的深入分析。将漏洞作为一个整体运行的一个问题是,我们不知道安全控制或系统策略能够在什么基础上检测和隔离恶意软件。因此,缓解措施可能不准确。

示例哈希:26af2222204fca27c0fdabf9eefbfdb638a8a9322b297119f85cce3c708090f0

其它教程
二进制漏洞 
  • 恶意软件分析-解密MedusaLocker

  • windows

  • 恶意软件分析-解密MedusaLocker

  • windows()

  • 恶意软件分析-解密MedusaLocker

  • USB()

  • 恶意软件分析-解密MedusaLocker

  • ()

  • 恶意软件分析-解密MedusaLocker

  • ios

  • 恶意软件分析-解密MedusaLocker

  • windbg

  • 恶意软件分析-解密MedusaLocker

  • ()

  • 恶意软件分析-解密MedusaLocker恶意软件分析-解密MedusaLocker恶意软件分析-解密MedusaLocker

  • 恶意软件分析-解密MedusaLocker

  • 恶意软件分析-解密MedusaLocker

  • 恶意软件分析-解密MedusaLocker

原文始发于微信公众号(安全狗的自我修养):恶意软件分析-解密MedusaLocker

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月25日08:37:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   恶意软件分析-解密MedusaLockerhttps://cn-sec.com/archives/2598908.html

发表评论

匿名网友 填写信息