过滤未加密流量
当数据包通过空气传输时,保护数据包不被泄漏的唯一办法就是部署某种类型的加密技术。这通常是通过在现代系统中部署WPA或WPA2来实现的。当然,经常审查无线网络和确保没有无线客户端以未加密模式传递数据也是很好的安全做法。但是数据包泄漏还是可能发生,例如当WAP被错误配置,存在恶意WAP或者两个无线客户端可以直接以特殊模式通信时。
在无线网络中寻找未加密数据需要使用另一种过滤器。在这种情况下,我们可以使用wlan.fc.protected == 0过滤器来找到所有包含未加密数据的数据包。现在,如果你使用这个过滤器会发现它会返回一些意想不到的结果。802.11控制和管理框架没有加密,因为只为WAP和无线客户端执行管理功能。在这种情况下,我们必须增加wlan.fc.type eq 2来延展过滤器,这将能够确保过滤器只显示未加密数据数据包。最终的过滤器形式应该是wlan.fc.protected == 0 && wlan.fc.type eq 2。
分析WEP和WPA身份验证
最开始保护无线网络传输数据的首选方法是WEP(有效等效保密)。WEP曾经叱咤风云,直到在它的加密密钥管理中发现几个漏洞。正因为此,新标准才应运而生,包括WPA和WPA2标准,虽然WPA及其更安全版本WPA2也存在问题,但它们要比WEP安全得多。
能够区别WEP和WPA是非常实用的技能,如果你能够做到这一点,你将能够发现网络中应该是WPA的WEP身份验证。除此之外,你还将能够分析失败验证尝试。
WEP身份验证
WEP身份验证是通过使用挑战/响应机制来运作的。当客户端试图连接到WAP时,WAP就会出现挑战文本。该挑战被获知后,客户端就会获取该文本,使用客户端提供的WEP进行加密,然后将产生的字符串传回WAP。
一旦WAP验证了响应文本的正确性,它就会向客户端传回一个信息,告知它身份验证过程已经完成。过滤器找到成功认证答复是wlan_mgt.fixed.status_code == 0x0000。
如果身份验证没有成功的话,WAP将会发出一条信息表示“收到包含身份验证序列的身份验证框架,交易序列号错误”。
过滤器获取失败通知数据包:wlan_mgt.fixed.status_code == 0x000e.
WPA身份验证
WPA身份验证也是使用挑战/响应机制,但是运作方式完全不同。在数据包级别,WPA身份验证使用EAPOL来执行它的挑战/响应。你可以使用简单的过滤器EAPOL来找到这些数据包。在成功的身份验证中,你通常可以看到四个EAPOL数据包,分别代表两个挑战和响应,包含四个完整的数据包。每个挑战和响应都可以在数据包内使用Replay Counter值来搭配。
当WPA验证失败时,你将需要更多的EAPOL数据包,挑战/响应被尝试更多次。如果这个过程最终失败的话,你应该会看到取消验证数据包。
有两种过滤失效WPA验证的方法,第一种就是使用EAPOL过滤器,计算WAP和无线客户端间传输的数据包数量。另外一个方法就是使用wlan.fc.type_subtype == 0x0c过滤器取消验证数据包。这将会返回很多与失败验证不相关的多余结果,因此为了验证数据包与此相关,你将需要深入挖掘,并创建另一个围绕WAP和无线客户端间所有数据包的过滤器。
结论
在本文中,我们探讨了一些基本无线网络数据包捕获具体问题,并展示了无线安全中不同数据包分析应用。无线网络、无线安全和数据包分析是非常广泛的话题,希望本文能够有助于大家进一步深入研究这个领域。