内网渗透:端口转发(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地址
相关推荐
AlfredZhao13 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
Flynt2 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10156 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
冬奇Lab6 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源