如何使用C2concealer生成随机化的C2 Malleable配置文件
2022-6-1 19:46:30 Author: www.freebuf.com(查看原文) 阅读量:14 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序


关于C2concealer

C2concealer是一款功能强大的命令行工具,在该工具的帮助下,广大研究人员可以轻松生成随机化的C2 Malleable配置文件,以便在Cobalt Strike中使用。

工具运行机制

开发人员对Cobalt Strike文档进行了详细的研究,C2concealer可以通过Python字典来生成一个随机值,能够确保C2concealer针对每一个配置属性生成的值的范围都是有效的。

接下来,工具会将每一个Malleable配置字段拆分为单独的.py文件,其中将包含为每个属性生成随机值的处理逻辑,并为这个配置输出格式化的字符串。最后,工具会将所有的配置连接起来,并输出一个最终符合条件的配置文件。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/FortyNorthSecurity/C2concealer.git

工具安装

在命令行中切换到项目目录,并运行下列命令:

chmod u+x install.sh

./install.sh

构建Docker镜像

docker build -t C2concealer .

使用Docker运行C2concealer

docker container run -it -v <cobalt_strike_location>:/usr/share/cobaltstrike/ C2concealer --hostname google.com --variant 3

工具使用样例

Usage:

$ C2concealer --hostname google.com --variant 3

 

Flags:

 

(optional)

--hostname

HTTP客户端和服务器端设置中使用的主机名。默认值为“None”。

--variant

要生成的HTTP客户端/服务器变量数量,建议介于1-5之间,最多为10。

命令行输出样例

[email protected]:~# C2concealer --variant 1 --hostname google.com

[i] Searching for the c2lint tool on your system (part of Cobalt Strike). Might take 10-20 seconds.

[i] Found c2lint in the /opt/cobaltstrike/c2lint directory.

 

Choose an SSL option:

Self-signed SSL cert (just input a few details)
LetsEncrypt SSL cert (requies a temporary A record for the relevant domain to be pointed to this machine)
Existing keystore
No SSL

 

[?] Option [1/2/3/4]:

注意事项

1、请使用SSL证书,建议LetsEncrypt;

2、HTTP变量允许我们选择不同的IoC,建议值至少为1;

工具自定义配置

dns.py (自定义DNS子域名)

file_type_prepend.py (自定义http-get-server请求格式,即C2控制指令)

params.py (包含常见参数名和通用字典的两个字典)

reg_headers.py (常见HTTP Header,类似user-agent和server)

smb.py (SMB管道命名)

stage.py (跟IoC相关的stager数据)

transform.py (Payload数据转换)

urls.py (用于在整个工具中构建URI的文件类型和URL路径组件)

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

C2concealer:GitHub传送门

参考资料

https://bluescreenofjeff.com/2017-01-24-how-to-write-malleable-c2-profiles-for-cobalt-strike/

https://posts.specterops.io/a-deep-dive-into-cobalt-strike-malleable-c2-6660e33b0e0b


文章来源: https://www.freebuf.com/articles/security-management/335033.html
如有侵权请联系:admin#unsafe.sh