安全矩阵

 找回密码
 立即注册
搜索
查看: 2288|回复: 0

Cobalt Strike – 绕过C2网络检测

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-7-26 09:20:04 | 显示全部楼层 |阅读模式
原文链接:Cobalt Strike – 绕过C2网络检测

0x01 介绍
在这篇小博文中,我们将研究如何轻松绕过 Cobalt Strike beacon 的网络检测。Symantec Endpoint Protection (SEP) 等许多 AV 产品都具有网络检测功能,可以监控通过设备网络接口的流量。此外,IDS 和 IPS 还具有对 C2 流量的基本检测,这些检测基本上是在网络数据包中寻找特定的模式。
对于像 Cobalt Strike 这样的流行工具,beacon的基本“开箱即用”设置由供应商进行指纹识别,因此会被检测到。
在 Cobalt Strike 中,Malleable 配置文件用于定义 C2 的设置。您可以为 C2 选择不同的协议,HTTP、HTTPS 和 DNS 是三种流行的协议。由于有效负载未加密,HTTP beacon 很容易被检测到。对于 HTTPS 连接,会在用于加密的证书上进行检测。
与任何利用工具一样,如果您使用默认值,很可能会被检测到。GitHub 上有可供使用的 Malleable 配置文件,这些配置文件将更改您的默认 C2 设置。然而,这些也已经被指纹识别,并且也会产生检测。GitHub 上提供的配置文件更多地旨在测试您对过去在野外看到的不同 APT 和 CrimeWare C2 的检测能力。
https://github.com/rsmudge/Malleable-C2-Profiles
0x02 解决方案
幸运的是,Cobalt Strike Malleable C2 配置文件是高度可定制的。事实上,定制化是 Cobalt Strike 如此受欢迎且如此有效的原因之一。您可以编写自己的个人资料,并且有一些在线指南向您展示如何执行此操作。
但是,还有一种更简单的方法,C2 Concealer。该工具由 FortyNorth Security 创建,于去年发布,具有 Python 脚本,可根据用户定义的几个变量生成 C2 配置文件。
https://github.com/FortyNorthSecurity/C2concealer
0x03 演示
安装很简单,只需克隆 GitHub 存储库,然后运行安装脚本即可。
安装完成后,运行脚本并定义您希望使用的主机名。

C2concealer --hostname newtpaul.com  --variant 1
接下来,C2Concealer 将扫描您的主机以定位 c2lint 所在的位置。C2lint 是 CobaltStrike 附带的一个工具,用于在使用配置文件之前对其进行测试/故障排除。

扫描完成后,系统会要求您选择 SSL 选项。使用合法的 LetsEncrypt 证书显然是避免检测的最有效方法。但是,这需要您将 A 记录指向您的团队服务器。为此,我们将只使用自签名证书。

系统会要求您填写证书的一些基本信息,你在这里放什么并不重要。
完成后,您应该会收到配置文件已通过 c2lint 检查的确认信息。还将显示新创建的配置文件的名称。

接下来,启动您的团队服务器,但这次定义要加载的配置文件。

sudo ./teamserver 192.168.1.21 *Password* ~/C2concealer/C2concealer/34c5a462.profile
生成您选择的新监听器和有效载荷。
0x05 之前 VS 之后
在使用我们新创建的配置文件之前,SEP 阻止了与 Cobalt Strike 团队服务器的出站连接。这是仅使用默认 C2 配置文件时的情况。

但是,在使用我们新创建的配置文件后,没有任何内容被阻止,我们能够成功建立 C2。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 13:42 , Processed in 0.012762 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表