绕过Elastic EDR进行横向移动

admin 2024年12月25日18:59:53评论57 views字数 2570阅读8分34秒阅读模式

绕过Elastic EDR进行横向移动

所以,我最近才开始尝试 EDR。由于这是我第一次测试 EDR,所以我想要一个开源 EDR 解决方案,这就是 Elastic 的原因。

本文的前言是为了避免EDR检测并执行横向移动到另一台机器。

实验室设置来自 Zeropointsecurity 的 CRTO II 课程。因此,在深入研究之前,对 Cobalt Strike 可延展配置文件进行了一些设置,大多数用于逃避 Cobalt Strike 相关 EDR 检测的配置都是使用以下文章中提到的技术完成的。除此之外还有一些其他配置,但是,出于文章标题的考虑,我将避免详细介绍。

在解释规避技术之前,我先解释一下场景。我们有 2 台机器,WKSTN-1 和 WKSTN-2。两台机器都部署了 EDR 代理,WKSTN-2 启用了 ASR。用户有权访问 WKSTN-1,并且是 WKSTN-2 上的本地管理员。我需要执行横向移动。

因此首先,我必须通过 SMB 传输我的 P2P 信标,它会生成以下警报:通过 SMB 共享可能进行横向工具传输。

如果我们查看规则查询,我们会发现,我们可以通过改变加载器的魔法字节及其扩展来逃避这条规则。

(file.Ext.header_bytes : "4d5a*" or file.extension : ("exe", "scr", "pif", "com", "dll"))] by process.entity_id

我们可以从可塑的 C2 配置文件中修改 PE 在内存中的加载方式。

绕过Elastic EDR进行横向移动

其次,我们将加载器的扩展名更改为 .png。这样我们就可以避免此警报并将加载器从 WKSTN-1 转移到 WKSTN-2。

传输文件后,如果我们将文件的扩展名从 .png 更改为 .exe,则会生成警报:通过文件共享进行远程执行

如果我们查看此警报的查询,我们将命中以下规则集

process.pid == 4 and (file.extension : "exe" or file.Ext.header_bytes : "4d5a*")] by host.id, file.path

为了逃避此警报,我们可以将扩展名从 .png 更改为 .scr。“.scr”本质上是 Microsoft 用于屏幕保护程序的可执行文件。

更改扩展名后,我们可以使用 SharpWMI 在机器上远程执行 WMI 命令并尝试执行此有效负载,但是会生成另一个警报:WMI 传入横向移动。

在研究了规避技术之后,我发现了另一种不使用 WMI 来执行远程命令的方法。我不会详细介绍这种方法,但你可以在这里阅读。我在 Cobalt Strike 中加载了 scshell BOF 并执行了远程命令,但是,又生成了另一个新警报:通过服务执行系统 Shell。

scshell 10.10.120.102 XblAuthManager "C:windowssystem32cmd.exe /c C:windowsCLSMBL.scr"

阅读此警报后,很明显它被检测到是因为 cmd.exe 进程以 SYSTEM 用户身份远程执行。

process.name : ("cmd.exe", "powershell.exe", "pwsh.exe", "powershell_ise.exe")

这种警报很容易规避,只需直接执行有效载荷就足够了。

scshell 10.10.120.102 XblAuthManager "C:windowsCLSMBL.scr"

然而,并非一切都顺利,又生成了另一个警报:通过 Windows 服务进行可疑执行。

在查看了此警报的规则集后,我注意到了以下排除:

绕过Elastic EDR进行横向移动

我将存储加载程序的文件路径更改为C:ProgramDataMicrosoftSearch,从那里执行加载程序并获得了 Beacon。:D

漏洞链

1.验证对 WKSTN-2 的访问权限

绕过Elastic EDR进行横向移动

2. 将 .png 文件上传到排除目录

绕过Elastic EDR进行横向移动

3. Cobalt Strike 使用“fork and run”来执行命令,Elastic 会检测到这种情况,因此为了避免这种情况,我使用不变的非托管运行空间 PowerShell 将扩展名更改为 .scr。由于这将加载“System.Management.Automation.dll”,我们需要使用已知的进程来加载此 DLL,这就是我在示例中选择 msiexec.exe 的原因。

绕过Elastic EDR进行横向移动

4. 使用 scshell 执行远程文件

绕过Elastic EDR进行横向移动

绕过Elastic EDR进行横向移动

5. 连接 Beacon

绕过Elastic EDR进行横向移动

结论

我们能够逃避 EDR 警报并从 WKSTN-1 到 WKSTN-2 进行横向移动。

参考

  1. https://www.cobaltstrike.com/blog/cobalt-strike-and-yara-can-i-have-your-signature

  2. https://securityintelligence.com/x-force/defining-cobalt-strike-reflective-loader/

  3. https://www.elastic.co/guide/en/security/current/potential-lateral-tool-transfer-via-smb-share.html

  4. https://www.elastic.co/guide/en/security/current/remote-execution-via-file-shares.html

  5. https://www.elastic.co/guide/en/security/current/wmi-incoming-lateral-movement.html

  6. https://www.elastic.co/guide/en/security/current/system-shells-via-services.html

  7. https://github.com/elastic/protections-artifacts/blob/main/behavior/rules/privilege_escalation_suspicious_execution_via_windows_services.toml

  8. https://github.com/Mr-Un1k0d3r/SCShell

  9. https://www.elastic.co/guide/en/security/current/suspicious-powershell-engine-imageload.html

原文始发于微信公众号(Ots安全):绕过Elastic EDR进行横向移动

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月25日18:59:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   绕过Elastic EDR进行横向移动https://cn-sec.com/archives/3552975.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息