首页 最新 热门 推荐

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

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

  • 25-02-20 14:41
  • 3128
  • 13119
blog.csdn.net

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

0x01:NETSH 工具介绍

NETSH 是 Windows 系统自带自带的命令行程序,攻击者无需上传第三方工具即可利用 netsh 程序进行端口转发操作,将内网中其他服务器的端口转发至本地访问(该工具只能进行本地端口转发,适合正向连接)。值得注意的是,运行该工具需要管理员权限。

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

NETSH 本地端口转发条件:你拿到了本地的最高管理员权限 Shell。

0x0201:场景描述

现有如下网络,电脑 A 是攻击机(公网环境),电脑 B(Windows 系统,公网环境),电脑 C(Linux 系统,内网环境),电脑 A 与 B 是可以互通的,B 与 C 也是可以互通的,但是电脑 A 无法直接访问到电脑 C,不过由于 NAT 技术,所以电脑 C 是可以访问电脑 A 的(这个其实无所谓,即使 C 是纯内网机器,NETSH 技术也能让其出网):

面对上面那种情况,我们就可以使用 NETSH 本地端口转发技术,利用 B 电脑,将 C 电脑指定端口转发到 B 机器本地,这样攻击者就可以通过攻击 B 机器对应端口完成对 C 电脑指定端口的攻击了。

复现环境

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

  • 边界机器 B - Windows 7 专业版:IP 192.168.0.105/172.16.0.100 - 一个桥接一个 NAT

  • 内网机器 C - CentOS 7:IP 172.16.0.101 - VMWare 设置为 NAT 模式,且开启 SSH 服务

0x0202:实验步骤

1. 拿到内网机器 B 的 Shell

这里笔者是通过 Kali Linux 上的 Cobalt Strike 制作 Windows 恶意程序上传到靶机 B 上,模拟机器 B 被钓鱼上线的操作:

2. 执行 NETSH 本地端口转发

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

目前我们攻击机 A 是无法直接访问对方内网中的 C 机器的,但是可以访问 B 机器,B 机器中有一张网卡与 C 机器处于相同网段,而我们又仅仅是想获得 C 机器 22 的端口服务。那么我们完全可以借助 B 机器,将 C 机器的 22 端口映射到 B 机器的 999(任意)端口上,这样我们访问 B 机器的 999 端口就等于是访问到 C 机器的 22 端口啦。

利用 Cobalt Strike 在 B 机器中执行下面这条命令(在过了 UAC 的会话中执行):

  1.  # 将本地指定端口与目标 IP 指定端口做一个绑定,访问本地指定端口就等于访问目标指定端口
  2.  netsh interface portproxy add v4tov4 listenaddress=<本地IP> listenport=<本地监听端口> connectaddress=<目标IP> connectport=<目标端口>
  3.  ​
  4.  示例: netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=999 connectaddress=172.16.0.101 connectport=22

3. 查看 NETSH 本地端口转发状态

在 B 机器中输入下面这条命令可以查看 NETSH 远程端口转发的状态:

 netsh interface portproxy show v4tov4

4. 正向连接访问内网 C 机器 SSH 服务

此时在 Kali Linux 中新开一个窗口,输入如下命令,尝试连接 C 机器的 SSH 服务:

 ssh [email protected] -p 999

如上,我们成功访问到了 C 机器的 22 端口,并成功登录 C 机器。

5. 删除 NETSH 本地端口转发

删除指定的 NETSH 端口转发条件的命令如下:

  1.  netsh interface portproxy delete v4tov4 listenaddress=<监听IP> listenport=<监听端口>
  2.  ​
  3.  示例: netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=999

Hack3rX
微信公众号
这里是探索网络安全与黑客技术的秘密基地
注:本文转载自blog.csdn.net的Blue17 :: Hack3rX的文章"https://blog.csdn.net/m0_73360524/article/details/145564038"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

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

分类栏目

后端 (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