Tuuu Nya's Blog

我是如何逃过所有杀软进行内网端口转发的

字数统计: 1.2k阅读时长: 4 min
2016/01/11 Share

平时在渗透测试中大家经常会用到内网渗透,然而内网渗透中很重要的一个步骤就是端口转发。

常见的端口转发

  • lcx.exe
  • nc.exe
  • Using php/jsp/aspx Script
  • iptables端口转发
  • nginx端口转发
  • 等等……

其中lcx.exe、nc.exe以及使用脚本转发,都有可能被防护/杀毒软件拦截,而后者则略微有点麻烦(不会告诉你是因为我真懒!)

我是一个非常喜欢渗透测试的人,并且颜值比较高(啊,打我干啥!)

偶尔也会用到内网渗透,进行端口转发什么的,但时长会遇到XX狗,XX卫士,上传lcx.exe或者nc.exe就会被杀掉…

用后面几种方式又感觉好像很费事的样子..

前言

前几天在工作中遇到了某客户的服务器被利用端口转发来做SEO

分析的文章可以看这里:免杀世界杀软:神奇的端口转发黑帽SEO手法

文章中详细的讲了一下端口转发的实现原理,以及是如何免杀世界杀软的。

但其实这个工具也一样可以用在渗透中。

NetSH (Network Shell) 是windows系统本身提供的功能强大的网络配置命令行工具。

故我们可以使用netsh进行内网端口转发。

使用方法

新增端口转发

netsh interface portproxy add v4tov4 - 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v4tov6 - 添加通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v6tov4 - 添加通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy add v6tov6 - 添加通过 IPv6 的 IPv6 和代理连接到的侦听项目。

命令语法

netsh interface portproxy add v4tov4为例,其语法格式如下:

netsh interface portproxy add v4tov4 [listenport=]|[connectaddress=]|[[connectport=]|][[listenaddress=]|] [[protocol=]tcp]

参数:

标记

listenport

IPv4 侦听端口。

connectaddress

IPv4 连接地址。

connectport

IPv4 连接端口。

listenaddress

IPv4 侦听地址。

protocol

使用的协议。现在只支持 TCP。

说明: 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。

示例

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.56.101 connectport=8080

将本地的8080端口的数据转发至192.168.56.101上的8080端口。

netsh interface portproxy add v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9090

将本地的9090端口的数据转发至192.168.56.101上的9090端口。

查看已经设置转发的端口

netsh interface portproxy show all - 显示所有端口代理参数。
netsh interface portproxy show v4tov4 - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
netsh interface portproxy show v4tov6 - 显示 IPv4 代理连接到 IPv6 的参数。
netsh interface portproxy show v6tov4 - 显示 IPv6 代理连接到 IPv4 的参数。
netsh interface portproxy show v6tov6 - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。

示例

netsh interface portproxy show all

修改转发配置

netsh interface portproxy set v4tov4 - 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v4tov6 - 更新通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v6tov4 - 更新通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy set v6tov6 - 更新通过 IPv6 的 IPv6 和代理连接到的侦听项目。

命令语法

netsh interface portproxy set v4tov4为例,其语法格式如下:

netsh interface portproxy set v4tov4 [listenport=]|[connectaddress=]|[[connectport=]|][[listenaddress=]|][[protocol=]tcp]

参数:

标记

listenport

IPv4 侦听端口。

connectaddress

IPv4 连接地址。

connectport

IPv4 连接端口。

listenaddress

IPv4 侦听地址。

protocol

使用的协议。现在只支持 TCP。

说明: 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。

使用示例

netsh interface portproxy set v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9080

将本地9090端口改成转发至192.168.56.101的9080端口中。

删除端口转发配置

netsh interface portproxy delete v4tov4 - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v4tov6 - 删除通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov4 - 删除通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov6 - 删除通过 IPv6 的 IPv6 和代理连接到的侦听项目。

netsh interface portproxy delete v4tov4为例,其语法格式如下:

netsh interface portproxy delete v4tov4 [listenport=]|[[listenaddress=]|][[protocol=]tcp]

参数:

标记

listenport

要侦听的 IPv4 端口。

listenport

要侦听的 IPv4 地址。

protocol

要使用的协议。当前仅支持 TCP。

注释: 删除要侦听的 IPv4 的项并通过 Ipv4 代理连接。

使用示例

netsh interface portproxy delete v4tov4 listenport=9090

删除本地端口9090的端口转发配置。

后记

本文仅作学习交流之用,首发于安全盒子论坛,转载需经作者同意方可转载。

CATALOG
  1. 1. 常见的端口转发
  2. 2. 前言
    1. 2.0.1. NetSH (Network Shell) 是windows系统本身提供的功能强大的网络配置命令行工具。
  • 3. 使用方法
    1. 3.1. 新增端口转发
    2. 3.2. 命令语法
    3. 3.3. 示例
    4. 3.4. 查看已经设置转发的端口
    5. 3.5. 示例
    6. 3.6. 修改转发配置
    7. 3.7. 命令语法
    8. 3.8. 使用示例
    9. 3.9. 删除端口转发配置
    10. 3.10. 使用示例
  • 4. 后记