802.11标准下常见的WiFi攻击
流量嗅探
实际上,所有的WiFi流量都可以在监控模式下使用适配器进行嗅探。大多数Linux发行版都支持将某些WiFi芯片组放入这个监控的模式中,这样就可以处理所有网络流量。
加密的网络也没有你想象的安全,WEP加密甚至WPA2-PSK都是不安全的,攻击者可以通过欺骗一个deauthentication框架来强制一个新的身份验证过程,从而将你的设备与网络断开。
由于嗅探流量是被动进行的,不能被检测到。所以实际上所有开放或关闭的WiFi通信都是公开的,这就要求在更高层次上进行通信加密,比如HTTPs。
暴力访问
和其他密码一样,无线网络的密码也可以被暴力获取。WEP可以通过分析记录的流量在几分钟内被破解,并被渲染成无用的。所以对于WPA安全网络,黑客只需要一个标准的字典攻击即可达到目的。
实际上,目前大多数暴力破解工具都是针对WiFi流量的。
像流量嗅探一样,这种方法也是可以被检测到的。唯一的保护的方法是使用强密码,避免WEP加密。
WiFi网络干扰
在802.11协议标准下,干扰WiFi网络的方法很简单,就是将相关的通信频率填充大量垃圾。具体过程就是:利用Deauthentication和disassociation框架。
因为deauth框架是管理框架,它们是未加密的,即使没有连接到网络,任何人都可以对修改它。通过在框架中设置“发送器”地址,攻击者可以处于攻击范围内,不但可以发送持续的deauth框架,而且还能监听你的设备发送的指令。甚至干扰器脚本能监测出所有接入点和客户机的列表,同时不断的将deauth框架发送给所有的用户。
检测干扰器
像nzyme这样的工具将会监测出deauth框架,而Graylog日志监控系统可以在不同寻常级别的框架子类型域中发出警报。
恶意接入点
目前手机自动连接到WiFi网络的方式有两种:
1.手机的信标帧(beacon frame)通过发送的定期发送的信标,可让移动工作站得知该网络的存在,从而调整加入该网络所必要的参数。在基础型网络里,接入点必须负责发送信标帧。信标帧所及范围即为基本服务区域。在基础型网络里,所有连接都必须通过接入点,因此工作站不能距离太远,否则便无法接收到信标。
2. 通过探测请求(Probe Request),移动工作站将会利用探测请求帧,扫描所在区域内目前有哪些 802.11网络。Probe Request帧的格式如下图所示,所有位均为必要。
探测请求帧包含两个位:SSID以及移动工作站所支持的速率(Supported Rates)。收到探测请求帧的工作站会据此判定对方能否加入网络。为此,移动工作站必须支持网络所要求的所有数据速率,并以SSID表明所欲加入的网络。
这样问题就来了,任何设备都可以为任何网络发送信标帧和探测请求帧。如此一来,攻击者就可以利用一个无赖的接入点四处移动,以响应任何需要响应的请求,或者他们刻意为目标公司网络发送信标。
现在的很多设备也都部署了相应的保护机制,如果你准备连接到一个之前加密但当前未加密的网络,那么设备将会给你发出警告提醒。不过,如果攻击者知道你之前所连接的WiFi密码或者说本身他攻击的就是一个开放网络的话,这种保护机制就没有任何效果了。如果你的手机进行了恶意接入点,那攻击者就会实施中间人攻击,监听你所有的通讯或发起DNS等攻击。攻击者甚至可以向你展示一个恶意的强制登录门户(Captive Portal)以收集更多关于你的浏览器的信息。
恶意接入点是非常难以识别的,因为在物理上定位它们很复杂,而且它们通常和现有的接入点基础设施混合在一起。不过可以使用nzyme和Graylog工具来检测它们。nzyme是一个开源工具,负责往Graylog记录和转发802.11标准下的管理帧,用于WiFi安全监控和事件响应。
恶意接入点的5种检测方法
方法1:BSSID白名单方法
和其他网络设备一样,每个WiFi接入点都有一个MAC地址,这是它发送的每个消息的一部分。BSSID是指站点的MAC地址,(STA)在一个接入点,(AP)在一个基础架构模式, BSS是由IEEE 802.11-1999 无线局域网规范定义的。这个区域唯一的定义了每个BSS 。检测恶意接入点的一种简单方法是保存你的可信接入点和他们的MAC地址的列表,并与你在空中看到的MAC地址相匹配。不过,攻击者可以很容易地欺骗MAC地址,绕过这种保护措施。
方法2:非同步的MAC时间戳
每个产生同一网络的接入点都有一个高度同步的内部时钟,这一点很重要。这个时间是毫秒级的,同步增量为25微秒。大多数恶意接入点在尝试进行时间戳同步时往往会出现各种各样的错误,你可以通过检测这种错误来发现恶意热点。
方法3:错误的信道
你可以设置一个列表来存储所有受信任接入点的信道,如果信道不同,则说明该接入点有问题。但是对于攻击者来说,这种保护方式也是能够轻松绕过的:比如对站点进行重新定位,并将恶意接入点配置为只使用已经使用过的信道。
方法4:加密降级
一个不知道网络密码的攻击者可能会启动一个恶意接入点,以打开一个开放的网络。
方法5:信号强度异常
通过分析信号强度寻找异常情况,目前有许多方法可以发现恶意的接入点。如果一个攻击者坐在停车场上,并且伪造一个接入点,包括它的MAC地址(BSSID),则平均信号强度突然有一个改变,因为他远离传感器(nzyme)。