配置vps

使用如下命令在vps端安装必要依赖:

apt-get install openvpn openssh-server

然后注意在云控制台设置防火墙配置,如果设置后防火墙仍然没有关闭,可以使用:

ufw disable

命令来彻底关闭防火墙,然后修改/etc/ssh/sshd_config文件,添加如下内容:

AllowTcpForwarding yes

添加完后保存重启vps,重启后确保ssh可以连接(知道密码 使用密码连接)即可

配置本地机器

法一:sshuttle

项目地址:https://github.com/sshuttle/sshuttle
debian系机器可以直接:

apt-get install sshuttle sshpass

安装
windows机器可以通过pip:

python -m pip install sshuttle

当然还可以通过git克隆手动安装,这里不赘述,安装后我们需要写两个脚本:

# vps连接脚本
sshpass -p sshpassword sshuttle -r root@ipaddress 10.10.0.0/16

# 其中sshpassword和ipaddress换成vps的ssh密码和ip,10.10.0.0/16换成openvpn连接靶机的网段,也可以写0.0.0.0/0转发所有请求

# 不间断curl脚本
while :; do curl 10.10.11.230;sleep 3;done

# 通过不间断curl一个靶机内网地址以确保sshuttle不会空闲断开,10.10.11.230应根据实际替换成靶机内网中一个不存在的地址

分别写好之后保存为两个sh文件,使用时直接运行即可

法二:直接使用ssh

我们也可以使用命令:

ssh -D 1080 -C -q -N username@YOUR_VPS_IP
# 在127.0.0.1:1080上开启

ssh -D 0.0.0.0:1080 -C -q -N -g username@YOUR_VPS_IP
# 在0.0.0.0:1080上开启

这个方法的优点在于,可以开启一个socks5代理,使得连接这个代理的流量都被转发(浏览器代理插件也可以用),当然,这个方法也会有空闲时断开的问题,也可以写个类似的脚本

注意事项

1.在做好上面的准备之后我们就可以愉快的使用这个方案来打靶了,但是要注意的是当我们需要修改host来解析的时候,务必在vps和本地的hosts里都配置解析,否则解析会出问题,之前就是因为这个问题卡了很久
2.像nmap扫描,反弹shell,目录扫描等不需要图形化的操作要在vps上进行(使用vps扫描,shell弹到vps上),而浏览器访问,抓包等可以在本地机器进行

2025/3/28 更新:
这个方法已经被禁用 建议使用前置代理方法

⬆︎TOP