我是如何逃过所有杀软进行内网端口转发
平时在渗透测试中大家经常会用到内网渗透,然而内网渗透中很重要的一个步骤就是端口转发。
常见的端口转发
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]
参数:
标记值listenportIPv4 侦听端口。connectaddressIPv4 连接地址。connectportIPv4 连接端口。listenaddressIPv4 侦听地址。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]
参数:
标记值listenportIPv4 侦听端口。connectaddressIPv4 连接地址。connectportIPv4 连接端口。listenaddressIPv4 侦听地址。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的端口转发配置。