如果工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH连接,就能够将TCP端口转发来使用SSH通讯
ssh -qTfnN -D 7777 root@82.156.14.58 -C 压缩数据 -q 安静模式 -T 禁止远程分配终端 -n 关闭标准输入 -N 不执行远程命令 -f ssh后台运行 -D 本地的端口
浏览器开启代理SOCK5
可以看到IP发生变化
网络拓扑图
1.kali能与边界服务器互通 2.边界服务器可以和目标机互通 3.kali不能直接访问目标机 4.目标机不出网 5.目的:kali能访问目标机的80端口
ssh -L localport:remotehost:remotehostport sshserver localport 本机开启的端口 remotehost 最终要连接的机器的IP地址 remotehostport 转发机器的端口 sshserver 转发机器的IP地址
这里用ubuntu作为边界服务器
sudo apt-get install openssh-server //安装SSH服务
开启ssh服务
开启正向连接
ssh -L 2222:10.10.10.132:3389 test@192.168.137.133 //把本地的2222端口映射到目标机3389口,登录边界服务器ssh
成功转发
还有一种情况就是数据库只允许本地连接,可以通过ssh转发出来
ssh -L 3333:localhost:3306 test@192.168.137.133 mysql -h 127.0.0.1 -P 3333 -u root -p 即可登录
代理后的拓扑图
远程转发
反向连接的一种,可以穿透内网防火墙,在内网中比较好用
ssh -R sshserverport:remotehost:remotehostport sshserver sshserverpor 被转发机器开启的端口号 remotehost 最终要连接的机器的IP地址 remotehostport 被转发机器的端口 sshserver 被转发机器的IP地址
开启远程需要更改配置
sudo vim /etc/ssh/sshd_config //任何人访问这台机器的某一个端口,都可以访问到目标机的映射出的端口;这个需要在边界服务器上开 GatewayPorts yes sudo /etc/ssh/sshd_config restart //重启SSH
在边界服务器上打开
因为是反向链接,所以肯定需要在目标机上执行命令
在目标机上执行命令
ssh -R 8899:10.10.10.132:80 test@10.10.10.135 //把目标机的80端口转发到10.10.10.135(便捷服务器)上的8899端口
现在任何机器,只要访问192.168.137.133(也就是10.10.10.135这台边界服务器)的8899端口,就相当于访问了不出网的内网10.10.10.132机器的80端口
代理后的拓扑图