内网渗透:端口转发(SSH隧道)

SSH:两台设备之间进行远程登录的协议(SSH本身就是一个隧道协议)

远程文件传输scp命令(scp是基于SSH的)

拓扑:

SSH隧道搭建的条件
复制代码
1.获取到跳板机权限
2.跳板机中SSH服务启动
SSH端口转发分类:
复制代码
静态端口转发:①本地端口转发 - 指的是将访问本地X端口的流量转发到其他主机
             ②远程端口转发 - 远程端口转发(Remote Port Forwarding)是通过SSH(Secure Shell)协议将远程服务器上的端口转发到本地主机的技术。

动态端口转发:动态端口转发可以把本地主机A上运行的SSH客户端转变成一个SOCKS代理服务器;动态转发就是不再进行转发端口的限制,而是去读取应用发起的请求;如(进行web访问,就将该流量转发到目标主机的80端口或443端口中;SSH访问就是将访问流量导向到目标主机的22号端口中)
不同类型转发的相关参数
复制代码
-L: 本地端口转发
-R:远程端口转发
-D: 动态端口转发

ssh进行端口转发的通用参数

复制代码
-C:压缩传输 (压缩-->文件的大小变小  ---->提升传输的速率)
-f:将SSH转入后台,不占用当前Shell
-N:静默连接
-g:允许远程主机连接本地进行端口转发
SSH隧道示意图

静态端口转发和动态端口转发都被封装到SSH隧道中,从外面看起来就像是使用SSH进行管理。

本地端口转发(在攻击主机上做)

步骤:

场景:在Kali中使用hydra工具对跳板机进行爆破获取跳板机的账号密码;需要注意的是:此时kali无法直接访问到目标主机,而跳板机可以直接访问到目标主机;这个时候就可以使用SSH进行端口转发;(爆破出跳板机账号密码后就可以在攻击主机kali中进行设置)

复制代码
Kali 中输入:
ssh -CNfg -L 7788:10.10.10.134:3389 root@1.1.1.136
​
ssh -CNfg -L 本地的开放端口:目标主机IP:目标主机端口 跳板机用户名@跳板机IP

测试效果:

复制代码
kali:攻击主机直接通过rdesktop命令访问本地的7777端口,即可连接到目标主机的3389端口
rdesktop 1.1.1.130:7777

其他端口也是同理;

远程端口转发(在跳板机上做)

复制代码
ssh -CNfg 1.1.1.130:8888:10.10.10.134:3389 kali@1.1.1.130
​
ssh -CNfg 攻击主机IP地址:攻击主机的端口:目标主机的IP地址:目标主机的端口 攻击主机账户@攻击主机IP
​
将访问kali 8888端口的流量转发到目标主机的3389端口中

设置完成后可以发现kali主机上的8888端口开启

测试:

在kali中进行测试

复制代码
需要注意:此时如果使用rdesktop 1.1.1.130(攻击主机):8888(流量转发端口)无法进行访问,因为该端口转发的方式为远程端口转发;
如果要访问正常则需要进行如下访问(这个小细节咱们不用去细究,只要记住在进行远程端口转发的时候我们在进行连接的时候要去连接本地回环网卡的相关端口即可)
rdesktop 127.0.0.1:8888 

动态端口转发:

复制代码
动态端口转发就是一个socks5代理,封装在ssh隧道中;比较方便:只要一条命令,和配置相关代理选项即可让相关程序流量走代理
相关指令:
ssh -CNfg -D 12345 root@1.1.1.136
​
ssh -CNfg -D 本地socks5端口 跳板机用户@跳板机密码

如果要使用rdesktop进行验证则需要配置对应的proxychains4代理配置文件

指定本地12345端口为socks5代理端口

测试:
复制代码
proxychains4 rdesktop 10.10.10.134
​
proxychain4 rdesktop $目标主机IP地址
相关推荐
scoone7 分钟前
解决Ubuntu 22.04系统中网络Ping问题的方法
linux·网络
与君共勉1213814 分钟前
Jenkins-Ansible 插件相关用法
linux·运维·ansible·jenkins
m0_5195231018 分钟前
Linux——环境变量
linux·运维·服务器
ShangCode20 分钟前
Linux系统三剑客之AWK
linux·运维·awk
@无名用户20 分钟前
Linux进程与资源管理
linux·运维·服务器
靡樊36 分钟前
Linux:基础开发工具
linux
Heris9940 分钟前
零基础3分钟快速掌握 ——Linux【终端操作】及【常用指令】Ubuntu
linux·c语言·开发语言·ubuntu
亚林瓜子40 分钟前
BC-Linux8.6上面离线手动安装Docker引擎
linux·运维·docker·容器·bc-linux
我是唐青枫41 分钟前
Linux firewalld 命令详解
linux·运维·网络
生财1 小时前
获取字 short WORD 上指定的位是否有效
java·服务器·c#