一、安装
Cobalt Strike 4.9.1 Cracked 破解版下载 - 🔰雨苁ℒ🔰
听说有些知识星球版本的Cobalt Strike4.9.1在cmd中植入后门,因此一定要在虚拟机中使用
安装nginx
1
2
3
4
5
yum update -y
yum install -y epel-release
yum install -y nginx
systemctl start nginx
systemctl enable nginx #开机自启动
客户端安装
客户端安装java环境后直接点击cmd结尾的文件
Cobalt Strike 安装与配置 - XSTARK 公司
JDK安装教程,Win11环境_win11如何看本机jdk-CSDN博客
服务端安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
yum install java-11-openjdk-devel
java -version
update-java-alternatives -s
java-1.11.0-openjdk-amd64
#安装wget和unrar:
yum install wget
wget https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz
tar xf rarlinux-x64-6.0.2.tar.gz -C /usr/local/
ln -s /usr/local/rar/rar /usr/local/bin/rar
ln -s /usr/local/rar/unrar
/usr/local/bin/unrar
unrar -v
#把cs压缩包传上去
unrar x -pwww.ddosi.org
CobaltSrike_4.9.1.rar
mv CobaltSrike_4.9.1_Cracked_www.ddosi.org CS
cd CS/Server
chmod +x teamserver
chmod +x TeamServerImage
二、隐藏特征
在启动前必须隐藏特征并修改端口,否则长时间启动后会被威胁情报标记,然后listener会连接大量虚假sessions
修改端口号
vi teamserver
修改最底下的50050为指定端口(比如12345)和密码
1
./TeamServerImage -Dcobaltstrike.server_port=12345 -Dcobaltstrike.server_bindto=0.0.0.0 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=test123456 teamserver $*
密码是cobaltstrike.store解密密码,如果没有该文件,teamserver启动时会生成一个,默认密码0123456
教你修改cobalt strike的50050端口 - 3HACK
更换CS证书
不要使用默认的cobaltstrike.store,删除原本的cobaltstrike.store文件
1
2
3
4
5
keytool -keystore cobaltstrike.store -storepass test123456 -keypass test123456 -genkey -keyalg RSA -alias blackcat -dname "CN=Chen,OU=MOPR,O=Microsoft Corporation, L=Redmond, ST=Washington, C=US"
keytool -importkeystore -srckeystore cobaltstrike.store -destkeystore cobaltstrike.store -deststoretype pkcs12
keytool -list -v -keystore cobaltstrike.store -storepass test123456
域前置
购买域名并更改ns为cloudflare后,设置cloudflare ssl为完全(严格),添加A记录,然后源站点生成证书,创建服务器证书server.pem和私钥server.key
cloudflare还要配置”缓存规则“,这里设置的是对”所有传入请求“”绕过缓存“。
以下假设我购买的C2域名为:example.com
1
2
3
openssl pkcs12 -export -in server.pem -inkey server.key -out example.p12 -name example.com -passout pass:test123456
keytool -importkeystore -deststorepass test123456 -destkeypass test123456 -destkeystore example.store -srckeystore example.p12 -srcstoretype PKCS12 -srcstorepass test123456 -alias example.com
上述命令导入密钥到了example.store
确保c2.profile中包含:
1
2
3
4
https-certificate {
set keystore "example.store";
set password "test123456";
}
https://xz.aliyun.com/t/9616
Cobalt Strike去特征:配置Nginx反向代理、CDN与Cloudflare Worker - MYZXCG
配置完cdn后,会发现机器能上线,但是执行命令无回显。这个问题困扰了好半天,一直以为是cloudlflare缓存配置问题,然而禁用缓存后问题依旧存在。最后逐步定位到是cs配置文件的问题。
这里用的是jquery-c2.4.0.profile配置文件。它设置header "Content-Type" "application/javascript; charset=utf-8";
为响应头。修改所有响应头为:header "Content-Type" "application/*; charset=utf-8";
即可正常执行命令回显。
这里的mime-type如果为application/javascript、text/html等,机器执行命令就无法回显。猜测是cdn会检测响应头content-type的值,如果是一些静态文件的mime-type可能就导致这个问题。
Cobalt Strike特征隐藏与流量分析 - ol4three
nginx
网上有些域前置攻略没有配置nginx转发请求,我经过测试发现这样往往无法回连
先将pem和key复制到另一个目录
/etc/nginx/nginx.conf包含以下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name _;
root /usr/share/nginx/html;
ssl_certificate "/opt/zs/server.pem";
ssl_certificate_key "/opt/zs/server.key";
location / {
proxy_pass https://127.0.0.1:8777;
}
}
这里proxy_pass转发的端口就是我们设置监听器的bindto端口(C2端口为443)
配置防火墙,防止被监听端口被nmap扫描
注意iptables需要先删除规则:
5 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
1
2
iptables -A INPUT -s 127.0.0.1 -p tcp --dport 8777 -j ACCEPT
iptables -A INPUT -p tcp --dport 8777 -j DROP
nginx设置指定useragent:
1
2
3
4
5
6
location / {
if ($http_user_agent != "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko") {
return 302 $REDIRECT_DOMAIN$request_uri;
}
proxy_pass https://127.0.0.1:8777;
}
三、Malleable C2 Profile
Malleable C2 Profile是一个可以控制CobaltStrike流量特征的文件,可以通过修改配置文件来改变流量特征,从而躲避各种流量检测设备及防病毒系统
通过修改框架内的各种默认值,操作者可以修改Beacon的内存占用,更改其检入的频率,甚至可以修改 Beacon的网络流量。所有这些功能都是由Malleable C2配置文件控制,该配置文件在启动团队服务器时选择。
Cobalt Strike特征消除第二篇:配置C2 profile规避流量检测
Cobalt Strike特征隐藏与流量分析 - ol4three
threatexpress/malleable-c2: Cobalt Strike Malleable C2 Design and Reference Guide
malleable-c2/MalleableExplained.md 在 master ·威胁快递/可塑性 C2
深入研究cobalt strike malleable C2配置文件 - 先知社区
我的这里c2.profile是从上面github复制的jquery-c2.4.9.profile进行修改
检测语法是否有问题:
./c2lint c2.profile
关闭stager payload
set host_stage “false”;
大海捞“帧”:Cobalt Strike服务器识别与staging beacon扫描_cobalt strike服务器扫描-CSDN博客
-
服务器去特征:修改默认配置
-
服务器去特征:域前置
-
流量去特征:Malleable C2 Profile
-
Beacon staging server去特征:修改stager异或密钥
Bypass cobaltstrike beacon config scan-腾讯云开发者社区-腾讯云
尽量使用stageless payload
四、使用
基础
启动关闭:
nohup ./teamserver [ip地址] [密码] c2.profile &
pkill -f teamserver
乱码解决:
客户端打开cmd复制java启动内容添加选项-Dfile.encoding=utf-8
Cobalt_Strike_wiki/第一节[环境搭建与基本功能].md at master ·阿伦兹/Cobalt_Strike_wiki
监听器和后门
cobaltstrike之创建监听器与生成后门_cobaltstrike windows executable windows executable-CSDN博客
CobaltStrike之后门生成_生成hta(payloads -> html application)与exe (payloads -CSDN博客
经验教训
【攻防演练】记一次攻防演练被某部委安全团队拷打全过程 - CN-SEC 中文网
五、插件
尽量从客户端加载cna文件,服务器端也可以加载,但我这里失败了
lintstar/LSTAR: LSTAR - CobaltStrike 综合后渗透插件 略旧,2022年的
lintstar/CS-AutoPostChain: 基于 OPSEC 的 CobaltStrike 后渗透自动化链
k8gege/Aggressor: Ladon 911 for Cobalt Strike