内网安全系列-005-CobaltStrike创建监听器与本地远程加载插件

CS创建监听器&本地远程加载插件

CS创建监听器

CobaltStrike的内置监听器为Beacon,外置监听器为Foreign。

CobaltStrike的Beacon支持异步通信和交互式通信。

点击左上方CobaltStrike选项——>在下拉框中选择 Listeners ——>在下方弹出区域中单击add

1
2
3
4
5
name:为监听器名字,可任意
payload:payload类型
HTTP Hosts: shell反弹的主机,也就是我们kali的ip
HTTP Hosts(Stager): Stager的马请求下载payload的地址
HTTP Port(C2): C2监听的端口

image-20240907103327903

image-20240907103657103

image-20240907103813967

CobaltStrike4.0目前有以下8种Payload选项,如下:

image-20240907105321944

内部的Listener:

  • Beacon DNS
  • Beacon HTTP
  • Beacon HTTPS
  • Beacon TCP
  • Beacon SMB

外部的Listener:

  • Foreign HTTP
  • Foreign HTTPS

External:

  • External C2

Beacon为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;

其中包含DNS、HTTP、HTTPS、SMB。

Beacon可以选择通过DNS还是HTTP协议出口网络,你可以在使用Beacon通讯过程中切换HTTP和DNS。其支持多主机连接,部署好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。

防护团队必须拦截所有的列表中的主机才可中断和其网络的通讯。通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用Beacon了。

Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到CS上。

本地远程加载插件

本地加载插件

image-20240907114857070

image-20240907114929069

服务端加载插件

CobaltStrike服务器端有个 agscript文件,他是用来在服务器端运行cna插件文件的

1
2
3
4
5
6
./agscript [host] [port] [user] [pass] </path/to/file.cna>
[host] #cs服务器的ip地址
[port] #cs的端口号
[user] #用户名,用来运行这个脚本的用户名,任意。
[pass] #cs的密码,就是启动cs时你设置的密码。
[path] #cna文件的路径。

后台运行:

1
2
nohup ./agscript cs的ip cs的端口 任意用户名 密码 插件路径 & nohup.out
nohup ./agscript cs的ip cs的端口 任意用户名 密码 插件路径 >>nohup1.out &