无线安全 - 访问控制攻击

众所周知,无线网络比有线网络更容易受到攻击。除了协议漏洞本身之外,无线网络还是一种"无线"共享介质,它为此类网络带来了全新的攻击面。在后续章节中,我将尝试介绍无线通信的许多方面(或者说威胁),这些方面可能会被恶意的第三方利用。

访问控制攻击

访问控制的概念就是控制谁可以访问网络,谁不能访问。它可以防止恶意的第三方(未经授权)连接到无线网络。访问控制的概念与身份验证过程非常相似;但是,这两个概念是互补的。身份验证通常基于一组凭证(用户名和密码),而访问控制可能超出此范围,并验证客户端用户或客户端用户设备的其他特征。

无线网络中使用的非常著名的访问控制机制是基于 MAC 地址白名单。AP 存储有资格访问无线网络的授权 MAC 地址列表。使用当今可用的工具,这种安全机制并不是很强大,因为 MAC 地址(无线客户端芯片组的硬件地址)可能很容易被欺骗。

唯一的挑战是找出 AP 允许哪些 MAC 地址对网络进行身份验证。但是由于无线介质是共享的,任何人都可以嗅探通过空中传输的流量,并查看具有有效数据流量的帧中的 MAC 地址(它们在未加密的报头中可见)。

如下图所示,在我的家庭路由器上,我已设置两个设备能够与 AP 通信,方法是指定其 MAC 地址。

MAC Addresses

这是攻击者一开始没有的信息。但是,由于无线介质对嗅探"开放",他可以使用 Wireshark 监听在特定时间连接并与 AP 通信的那些设备。当您启动 Wireshark 进行空中嗅探时,您很可能每秒获得数百个数据包,因此,在 Wireshark 中使用有效的过滤规则是明智的。我实现的过滤器类型是 −

(wlan.fc.type_subtype == 0x28) && (wlan.addr == 58:6D:8F:18:DE:C8)

此过滤器的第一部分告诉 Wireshark 它应该只查看数据包(而不是信标帧或其他管理帧)。它是子类型 0x28 并且 ("&&") 其中一方应该是我的 AP(它在无线接口上的 MAC 地址为 58:6D:8F:18:DE:C8)。

无线接口上的 MAC 地址

您可以注意到,有两个设备正在与 AP 交换数据包,这两个设备是我作为管理员之前在 MAC 过滤中特别允许的。有了这两个设备,作为攻击者,您唯一需要做的配置就是本地更改无线网卡的 MAC 地址。在这个例子中,我将使用基于 Linux 的工具(但对于所有可能的操作系统,还有大量其他工具)−

基于 Linux 的工具

这是一种绕过基于 MAC 过滤的访问控制的简单方法。如今,执行访问控制的方法要先进得多。

专用身份验证服务器可以区分特定客户端是 HP 生产的 PC、Apple 的 iPhone(哪种 IPhone)还是其他无线客户端,只需查看特定客户端的无线帧的样子并将其与特定供应商已知的"基线"集进行比较即可。但是,这不是您可能在家庭网络上看到的东西。这些解决方案非常昂贵,并且需要更复杂的基础设施来集成多种类型的服务器 - 最有可能在某些企业环境中满足。