Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

admin 2023年8月3日13:45:16评论26 views字数 874阅读2分54秒阅读模式



Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

最近发现一条有关 LNK 文件在反恶意软件扫描接口 (AMSI) 中创建硬件断点的推文。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图 1:推文

 在这篇博客中,我们将更深入地研究 Cobalt Strike 的新 TTP,以使用硬件断点绕过 AMSI。


初始访问

LECmd工具用于提取 LNK 文件的参数,该参数调用 PowerShell 从恶意站点获取代码。https://github.com/EricZimmerman/LECmd

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图2:lnk文件 

在此代码中,在 AMSI 扫描缓冲区的地址中启用了 硬件断点 ( Dr0 )。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

 图 3:AMSI 中的硬件断点

为了绕过 AMSI,使用  AddVectoredExceptionHandler API 注册 AMSI 扫描缓冲区断点的异常处理程序。在处理程序代码中,它收集异常记录和异常地址。仅当 AMSI 扫描缓冲区的地址发生异常时才继续进行。然后将堆栈指针值存储在返回地址中,并将指令指针中的返回地址设置为0。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图 4:异常处理程序代码

此代码包含一个 PowerShell 脚本,用于使用启动文件夹创建持久性并下载 GZIP 压缩的 Base64 String 。它仅针对已在上述域列表中连接的域登录用户。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图 5:目标域和下一个有效负载

通过使用GUnZip解压缩这个 Base64 字符串,可以得到另一个代码,如图 6 所示。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图 6:XOR 编码的 Base64 字符串

此代码包含 Base64 字符串,当解码和异或 int(35) 时,会给出最终的 Cobalt Strike 有效负载,如图 7 和 8 所示。

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

 图 7:异或密钥

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

图 8:Cobalt Strike

使用该Cobalt Strike解析器工具提取的Cobalt Strike C2 Config如下所示。https://github.com/Sentinel-One/CobaltStrikeParser

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

 图 9:C2 配置

我们 K7 Labs 可以检测此类威胁。用户被要求通过安装“ K7 Total Security ”等知名安全产品来保护其设备,并保持更新以免受最新威胁。





感谢您抽出

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

.

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

.

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

来阅读本文

Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

点它,分享点赞在看都在这里


原文始发于微信公众号(Ots安全):Cobalt Strike 的部署带有 AMSI 绕过的硬件断点

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月3日13:45:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Cobalt Strike 的部署带有 AMSI 绕过的硬件断点http://cn-sec.com/archives/1931430.html

发表评论

匿名网友 填写信息