一、SSH简介
如果工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH连接,就能够将TCP端口转发来使用SSH通讯
二、SSH转发功能
-
加密SSH Clinet端至SSH Server端之间的通讯数据
-
突破防火墙的限制,完成一些之前无法建立的TCP连接
三、SSH本地SOCKS5代理
ssh -qTfnN -D 7777 [email protected]
-C 压缩数据
-q 安静模式
-T 禁止远程分配终端
-n 关闭标准输入
-N 不执行远程命令
-f ssh后台运行
-D 本地的端口
浏览器开启代理SOCK5
可以看到IP发生变化
四、SSH本地转发
网络拓扑图
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 [email protected]
//把本地的2222端口映射到目标机3389口,登录边界服务器ssh
成功转发
还有一种情况就是数据库只允许本地连接,可以通过ssh转发出来
ssh -L 3333:localhost:3306 [email protected]
mysql -h 127.0.0.1 -P 3333 -u root -p 即可登录
代理后的拓扑图
五、SSH远程转发
远程转发
反向连接的一种,可以穿透内网防火墙,在内网中比较好用
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 [email protected]
//把目标机的80端口转发到10.10.10.135(便捷服务器)上的8899端口
现在任何机器,只要访问192.168.137.133(也就是10.10.10.135这台边界服务器)的8899端口,就相当于访问了不出网的内网10.10.10.132机器的80端口
代理后的拓扑图
转自:Nurburgring
原文始发于微信公众号(LemonSec):SSH代理转发
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论