目录
一、VLAN、Trunk面临的安全风险
trunk干道攻击DTP攻击(思科特有)
VLAN跳跃攻击
STP根桥攻击
二、攻击防护
一、VLAN、Trunk面临的安全风险
trunk干道攻击DTP攻击(思科特有)
在华为设备中trunk链路是手工指定的,但是在思科设备中trunk链路的形成可以自动协商,且默认为允许所有VLAN通过
自动协商分为主动模式和被动模式,通过DTP报文来实现
攻击者可以伪造DTP报文,来欺骗交换机,使得交换机和攻击者相连的链路成为trunk,允许通过多个VLAN的数据
Kali自带的攻击工具发起DTP攻击
yersinia -G 开启工具的图形界面
运行攻击,选择DTP攻击 enable trunk
VLAN跳跃攻击
实质是双TAG,在内部加一个要入侵的VLAN,当交换机收到该数据包拆TAG的时候,默认是接收最里层的,不太好描述,如图
Cloud1连接kali,LSW1仅配置0/0/1为trunk,LSW2中0/0/1为trunk链路,LSW2的0/0/2接口配置为VLAN20,连接PC1
这时候kali是没办法访问PC1的
它的数据流应该为,从Cloud出,进入LSW1的0/0/2接口,因为没有配置VLAN,所以默认为VLAN1,然后从0/0/1出,因为trunk的本征VLAN默认为VLAN 1,所以这里会直接传给LSW2,然后LSW2接收到后,发现没有TAG,知道是本征VLAN,打上PVID 1,最后因为0/0/2为VLAN 20,该数据包被丢弃。
而VLAN跳跃攻击是给数据包加上一个我们定义好的TAG标记,如 tag id 20 数据的形式,通过trunk到LSW2会被处理为PVID 20,从而进入到达PC1
而当LSW1配置了如0/0/2接口为VLAN10,经过处理的数据包到trunk上会变为
tag id 10 tag id 20 数据的形式,LSW2默认看最里层,也就是tag id 20,把该数据包又打上PVID20,也能进入到PC1
Kali自带的攻击工具发起802.1Q攻击
yersinia -G 开启工具的图形界面
配置
在3中写入想要伪造的VLAN
然后发起攻击选择第二个,双tag
可以看到,从云中出来的数据包自带了一个802.1Q,ID是20
但是,不知道为啥,这个数据包到LSW1就会被丢弃,不能通过TRUNK链路,非常奇怪,下周问问郭老师再来修改
STP根桥攻击
STP选举是依据BPDU,其中BID决定根桥所在
攻击者伪造BPDU,将自己的BPDU中的BID减小,就能实现攻击根桥的作用,进而达到控制STP拓扑的目的,或者造成网络抖动、震荡
搭建如下拓扑,不用做任何配置
因为存在环路,所以它会自动STP,可以使用命令 display stp 看看根桥是谁
LSW3:
上面是LSW3的BID,下面是根桥的BID,不一样所以LSW3不是根桥
LSW4,LSW5同理
LSW5
说明LSW5是根桥
LSW4和3随便选一台连接kali
我这里用LSW3连的
继续用刚才的工具
Kali自带的攻击工具发起STP攻击
yersinia -G 开启工具的图形界面
直接发起攻击,再查看一下LSW5的STP
发现LSW5现在不是根桥了,那么整张拓扑的根端口有可能发生改变
二、攻击防护
1、链路上禁用自动协商
2、将连接用户,或者没有作用的端口,直接划定为access接口
3、在接入交换机的接口上配置根保护