关于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。
命令行输出样例
root@kali:~# 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路径组件)
最后
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取: