这一节介绍关于突破MAC地址过滤限制的方法。
1 什么是MAC地址过滤
所谓MAC地址过滤,就是通过事先在无线路由器内设定允许访问的无线客户端列表来 限制登录者,而这个列表是通过无线客户端上的无线网卡MAC地址来确认身份的。从理论 上而言,MAC地址对于每一个无线网卡来说,都是全球唯一的。当然,这也只是“理论” 而已。
对于很多家庭用户和中小型企业无线网络管理员来说,普遍都会认为,启用MAC地址 过滤,是可以阻止未经授权的无线客户端访问AP及进入内网的。这种安全防御确实可以阻 止一部分恶意的攻击行为,至少能设置一些阻碍。不过,单纯地依靠MAC地址过滤来阻止 无线攻击者还是不可靠的。
图6-1所示为在Belkin无线路由器中配置MAC地址过滤,出现在MAC地址过滤列表 中的网卡才被允许连接该无线路由器。可以在图6-1中MAC地址过滤空白栏中输入允许通 过的MAC地址,然后单击“加入”按钮即可。那么,对于需要明确要阻挡的MAC地址, 勾选对应的复选框即可。

图6-1
若不知道内网中其他客户端的地址,为方便起见,也可以直接在无线路由器的DHCP 列表中查看所有从DHCP获取IP的主机MAC地垃。这里就以Belkin无线路由器为例,其 他品牌的无线设备设置位置大同小异,如图6-2所示。

在设置完毕并成功应用后,未被授权的客户端,无论是通过有线还是无线的方式,都无 法访问无线路由器,会弹出图6-3所示的“无法连接”的错误提示。同时未经授权的客户端 也将无法通过该路由器访问到外部互联网。

图6-3
2突破MAC地址过滤
既然过滤MAC地址的方法看起来十分有效,那么无线黑客是如何突破无线设备上的 MAC地址过滤呢?其实很简单,我们先来了解一下过滤步骤,图6-4所示为其突破MAC地 址过滤步骤示意图。

了解了过滤步骤后,下面就来看看具体的执行,根据图6-4中的4个步骤分别讲述 实现方法。
01.获得合法的无线客户端MAC地址
方法有很多,最简单的方法就是使用之前在坡解WEP及WPA时使用到的Airodump-ng, 如图6-5所示,在进行一段时间抓包后,可以很清楚地获取当前连接至该AP的合法无线客 户端MAC,即STATION列显示的MAC地址,在BSSID下显示的MAC正是AP的MAC, 也就是说,当前与该AP相连的有两个无线客户端,分别是“00:23:12:04:B0:5F”和 "OO:1F:3C:45:56:00"。

为了扩展大家的思路,还可以使用WildPackets OmniPeek软件来实现,不过因为不是所有的 无线网卡都支持,所以该工具需要在使用之前先选择所支持的无线网卡,详细无线网卡支持型号 见下方网址,下载相应的WildPackets OmniPeek所定制的驱动程序并安装即可。

关于OmniPeek可能很多读者并不熟悉,这款工具和Wireshark之类的常用嗅探工具不 同,它可是很有名的大型数据包分析工具,是和Sniffer Pro同级别的企业管理员使用的工具。 由于它也支持对无线网络数据流的抓取,所以在Windows下也被广泛使用。为方便读者参 考,这里使用的是TP-LINK的WN510G无线网卡,它的芯片由于是Atheros5005,所以被 OmniPeek支持。
下面就来看看使用OmniPeek抓取无线客户端的箕体步骤。
@打开WildPackets OmniPeek软件,在Monitor(监听)菜单中选择Monitor Options
(监听选项)命令,在弹出的对话框中的Adapter网卡位置选择用于监听的无线网
卡,这里选择“无线网络连接3”的无线网卡,从下面的驱动提示中可以看到Atheros
AR5005G,此处采用的是Atheros芯片组的TP-Link无线网卡。
囝单击“确定”按钮继续,如图6—6所示。

图6-6
@然后在Capture菜单中选择Start Capture命令进入捕获界面,如图6-7所示。
@单击右侧绿色的Start Capture按钮,开始抓取无线数据报文,如图6-8所示。

图6-7 图6-8
图6-9所示为使用OmniPeek抓取数据包中的截图,此时可以看到大量的无线数据
报文的快速刷屏。

图6-9
④在抓取到数据包的同时,选择左侧栏中Wireless’中的WLAN选项,可以看到图6-10
所示的内容。其中,在Type类型处显示为AP的即为当前的无线路由器,而显示
为STA的即为工作站,即连接至该AP的合法客户端,这样,就获取到了其MAC
地址。
@从图6-10中可以看到,在ESSID Unknown下面的OO:1C:DF:60:C1:94是无线路由
的MAC地址,也可以在NetStumbler等工具中看到。而其下方显示的
00:23:12:04:B0:5F就是合法的无线客户端MAC地址。

图6-10 图6-11
◇在客户端打开终端,输入ifconfig查看其无线网卡对应的地址,可以看到,标为enl
的无线网卡MAC为00:23:12:04:b0:5f,即为当前连接目标AP的合法客户端,如图
6-12所示。

图6-12
除了上面提及的OmniPeek之外,在Windows下也可以直接使用Airodump-ng来分析软 件,同样可以查看到当前连接至无线接入点的无线客户端情况。
作为另外的选择,还可以使用Linux下的无线探测工具Kismet,该工具由于采用被动式 探测,可以对截获到的无线数据包进行自动分析。若目标AP存在无线交互流量,则Kismet 一般会在很短的时间内分析出无线客户端MAC地址,甚至还能分析出内网IP地址段。