802.11数据包结构
无线数据包和有线数据包的主要区别在于802.11表头的增加,这是一个第二层表头,包含关于数据包和传输媒介的额外信息。主要有三种类型的802.11数据包:数据、管理和控制。
管理 - 这些数据包用于建立第二层主机间的连接,一些重要的管理数据包子类型报告身份验证数据包、关联数据包和Beacon数据包。
控制 - 控制数据包允许对管理数据包和数据数据包的传递,并于拥塞管理有关。常见子类型包括请求到发送和清除到发送数据包。
数据 - 这些数据包包含实际数据,并且是能够从无线网络转发到有线网络的唯一数据包类型。
探讨每种802.11数据包子类型有点偏离本文主题,下面我们再将重点放在安全方面的无线网络问题。
寻找恶意接入点
IT资产的物理安全是安全领域最常被忽视的问题。而在这个方面,最常见的疏漏之一就是将未经授权设备增加到网络上。在有线网络世界,未经授权的路由器可能会导致拒绝服务攻击。虽然有线网络世界未经授权设备会造成严重后果,但恶意无线接入点(WAP)的影响则更大,因为恶意无线接入点可能会允许设备外的人员获取到网络的访问权限,就像他们可以随意走进来,将笔记本连接到网络中一样。
幸运的是,检测恶意无线接入点可以以相当简单的方式实现。为了实现这一点,你必须首先从网络广播范围内的几个区域捕获无线流量。然后,有几个不同的过滤器可以用于确定是否存在恶意接入点以及客户端是否与恶意接入点通信。
最简单的方法之一就是知道已知合法接入点的MAC地址,使用这个信息,你可以输入过滤器!wlan.bssid == 00:11:88:6b:68:30,将你实际的接入点MAC地址取代上述的样本地址。这样做将会向你展示所有发送到或者发送自所有接入点的无线流量,而不是指定接入点。如果你在这个区域有一个以上的接入点,你可以使用OR (||)运算符来结合这些过滤器。在这种情况下,你可以使用类似!wlan.bssid == 00:11:88:6b:68:30 || !wlan.bssid == 00:11:ff:a1:a4:22来过滤出两个已知合法接入点。
这种方法通常可以找出接入点,但如果你想更加深入地找到实际连接到恶意无线接入点的移动工作站呢?其中一个方法就是过滤重新关联请求。这样的话,你可以将前面的过滤器与wlac.fc.type_subtype eq 0和wlac.fc.type_subtype eq 2结合。第一个过滤器将会显示所有关联请求,第二个将会显示重新关联请求。必要情况下,你可以使用AND (&&)运算符将前面的过滤器与其中任一个过滤器结合。
最后,你可以再进一步确定在移动客户端和恶意无线接入点之间是否有任何实际数据传输。你可以通过过滤器 wlan.fc.type eq 2以及前面的排除已知合法接入点的过滤器对所有在非合法接入点通信的数据包进行过滤。