内网穿透-ssh转发技术

  • A+
所属分类:安全文章
内网穿透-ssh转发技术
一位苦于信息安全的萌新小白帽
本实验仅用于信息防御教学,切勿用于它用途
公众号:XG小刚

以前发的那篇有点粗略,有几处错误,这里仔细写写
SSH端口转发


linux下的ssh是我们常用的终端管理命令,但是它不光管理终端,还可以转发流量的。
使用ssh的好处是不用将工具上传到目标主机,使用22端口穿透防火墙,并整个传输过程都是加密的。
-C 压缩传输,增加传输的效率-f 将SSH传输放在后台执行-N 建立静默连接,就是建立了连接-g 允许远程主机连接本地用于转发端口-L 本地端口转发-R 远程端口转发-D 动态转发-P 指定SSH的端口
ssh有三种转发模式:本地端口、远程端口和动态端口转发
ssh端口转发前提是:拿下了一台linux存在ssh服务,并知道他的用户密码,然后以ssh连接为隧道进行端口转发

本地端口转发


将发送给本地的请求通过ssh隧道转发给目标端口,我们可以实现访问本地端口来访问目标端口的信息
ssh -CfNg 用户名@ssh机器IP -L <本地ip>:<本地端口>:<目标ip>:<目标端口>//<本地ip>为空则绑定本地所有ip

场景1: 攻击机A,一台linux主机B(192.168.10.6,已知道密码),我要通过A主机的8899端口访问B的22或其他端口

A主机ssh连接B,然后将A本地的8899端口转发到B本地的22端口
ssh -fN xiaogang@192.168.10.6 -L 8899:127.0.0.1:22
内网穿透-ssh转发技术
查看8899端口是否已经连接
netstat | grep "8899"
此时我能访问A的127.0.0.1:8899端口,从而转发到B的127.0.0.1:22端口
内网穿透-ssh转发技术

场景2:一台A主机,一台linux主机B(192.168.10.6)和内网主机C(192.168.10.27),C的web服务(80端口)只能B访问
我要通过A主机的7788端口以B为跳转访问的C的web服务

A主机ssh连接B,然后-L将A的7788端口转发到C的80端口
ssh -fN xiaogang@192.168.10.6 -L 7788:192.168.10.27:80
内网穿透-ssh转发技术
此时A主机访问127.0.0.1:7788成功访问到C的web信息
内网穿透-ssh转发技术

远程端口转发


将远程主机端口的请求通过ssh隧道转发给本地主机的端口
ssh -CfNg [email protected]机器IP -R <远程ip>:<远程端口>:<目标ip>:<目标端口>

场景1:一台linux主机B(有公网ip),一台B主机没公网ip,我要通过访问A外网的8080端口访问B主机的web服务

由于我们B没有外网ip,不能使用A主机连接B进行本地转发,所以我们需要使用B主机连接A主机,-R进行反向转发
ssh -CfNg xiaogang@192.168.10.6 -R 8080:127.0.0.1:80
内网穿透-ssh转发技术
这时我们发现A主机成功监听8080端口
netstat -tulnp | grep "8080"
内网穿透-ssh转发技术
这时我们用A主机测试127.0.0.1:8080,可以访问到B主机的web信息
内网穿透-ssh转发技术
但是尝试访问A的外网IP发现并不能访问,网上查了很多资料还是不能直接绑定外网ip
内网穿透-ssh转发技术
所以我们只能通过别的操作,将A主机的127.0.0.1:8080转发到外网IP的端口

动态端口转发


本地和远程转发只能一对一端口转发,想访问别的端口还需要重新设定转发,所以有了动态转发
动态端口转发是只绑定一个本地端口,目标地址端口不固定,而是根据我们的请求决定。其实在这里 SSH 就是创建了个 SOCKS 代理服务
ssh -CfNg 用户名@ssh机器IP -D <本地ip>:<本地端口>

场景:攻击机A,一台外网服务器B(192.168.10.6,10.10.10.2),内网主机C、D、E(10.10.10.0/24),C、D、E只能B访问。实现以B主机为隧道访问内网所有主机的所有端口

A主机ssh连接B主机,-D设置动态端口转发
ssh -CfNg xiaogang@192.168.10.6 -D 127.0.0.1:1080
这时候A主机的1080就是个socks代理,浏览器设置代理或设置全局代理后,就可以访问C、D、E内网主机了。

本文始发于微信公众号(XG小刚):内网穿透-ssh转发技术

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: