0x01 Wi-Fi安全概述▸
广义上无线可以分为WLAN、ZigBee、移动通信、蓝牙、无线VoIP等许多方面,其中WLAN即为无线局域网,Wi-Fi(Wireless-Fidelity)便是一种无线局域网技术。本系列之所以叫WiFi安全,因为它并不包含“局域网安全”方面。本系列文章所指的无线全部指狭义的无线WiFi。 在WPA/WPA2普及率达到99.9%的今天,Wi-Fi安全的最主要安全威胁就是未授权访问,攻击者通过破解密码等各种手段连接到无线网络,占用网络资源。另外,无线安全的安全威胁还包括信息窃取、拒绝服务、社会工程学钓鱼攻击等。后面都将详细介绍。
0x02 802.11协议简述▸
802.11协议是OSI模型的二层协议,由IEEE提出和负责,还特意将OSI的数据链路层分为LLC层和MAC层。但是因为802.11标准太复杂,于是成立了Wi-Fi联盟并由Wi-Fi联盟提出Wi-Fi标准,Wi-Fi联盟还自行提出了一些标准,比如Wi-Fi保护设置(WPS,跟QSS一样)。不过因为Wi-Fi标准基本上包含于802.11标准,现在大家说的还都是802.11。 关于这方面,实用性不大,不过多介绍。
0x03 Wi-Fi基础知识▸
- WLAN:无线局域网
- AP:access point,无线接入点
- STA:station,站(客户端)
- BSS:Basic Service Set,基本服务集
- BSSID:BSS的ID,简单的家庭网络中BSSID为AP的Mac地址
- ESS:Extended Service Set, 扩展服务集
- ESSID:扩展服务集的ID。简称SSID,简单的家庭网络中SSID为Wi-Fi的名
- AUTH:WPA(Wi-Fi Protected Access, 分为WPA/WPA2/WPA3,其中WPA3为2018年提出还没有广泛应用)、WEP(Wired Equivalent Privacy有线等效保密,已完全淘汰)
- WPA-PSK:WPA分为基于802.1x的企业版和个人版,企业版使用Radius服务器做认证,可以为每个人分配单独的密码。而家庭环境无法为每个用户单独分配密钥,也没有条件购买AAA服务器,于是采用PSK(预共享密钥)形式,所有人公用一个密码,就是常说的WiFi密码。
- 加密:TKIP(Temporal Key Integrity Protocol临时密钥完整性协议)、AES(Advanced Encryption Standard高级加密标准)
- Channel:信道,无线电波的传输通道。
0x04 802.11帧结构简介▸
(1)Frame Control▸
- 该字段16比特可以分成11个子字段
- Protocol Version:当前协议版本,目前该字段值扔为0。
- Type:帧类型。00为管理帧、01为控制帧、10位数据帧。
- Subtype:子类型,决定了帧功能。
- To DS/From DS:标识帧是从DS发出还是发向DS
- More Fragment:分片情况
- Retry:帧重传
- Power Management:标识电源管理状态。
- More DATA:还有更多数据(仅用于数据帧)
- Protected Frame:保护帧,标识是否被加密
- Order:在非QoS帧中标识是否是Strictly-Ordered模式
(来源:维基百科)
(2)Duration/ID▸
这个字段有两个目的:持续时间和ID。并不是表示“持续之间的ID”。
假设客户端收到一个Beacon帧,并且列出一个客户关联ID,这表示客户端访问点处缓冲了流量。客户端通过发送PS-POLL帧来检索此缓冲的流量。在此PS-POLL框架内,它在Duration / ID字段中包含其关联ID。PS-POLL是旧版,并已被UAPSD取代,但是依然是可见的。
(3)Address▸
一共四个地址,分别是:
- BSSID:BSS中其为AP的mac地址,IBSS中其为发起IBSS的STA随机生成的地址
- DA:Destination Address,目的MAC
- SA:Source Address,最初的源的MAC地址
- RA:Receiver Address,接收端地址
- TA:Transmitter Address,发送端地址 那么肯定有人会问了,TA和SA、RA和DA他们有什么区别? DA是最终的目的地址,RA是下一个接收者的地址;SA是最开始的发送者的地址,TA是直接发送帧的系统的MAC。
(4)Sequence Control▸
由4比特的fragment number和12比特的sequence number组成。前者标识分片,后者是数据包的序列号,每发个包就增加1,在重传中这有着重要的作用。假设需要重传,接收者如何确定这个重传帧是哪个帧的重传?就是通过序列号得知的。
(5)QoS Control▸
其中TID为Traffic Identifier,EOSP为End of Service Period
(6)Frame Body▸
帧主体,传输的数据放在这里。
(7)FCS▸
帧检验序列,判断帧是否发生错误,如果是则丢弃。Ethernet II的帧也有FCS字段,一样的作用。
0x05 入门无线Wi-Fi安全需要什么▸
(1)各类安全工具▸
其中最主要的就是Aircrack-ng套件,其工具包括监听、嗅探、数据包注入、SoftAP、密钥破解等功能。另外还需要其他工具,比如EWSA、mdk3等。
(2)无线网卡▸
这里推荐RT3070或RTL8187芯片的网卡,与品牌无太大关系。没有无线网卡就没有接收Wi-Fi信号的功能,更别说无线安全了。
(3)Kali Linux▸
集成了很多无线工具,免于自己安装。
(4)字典▸
破解预共享密钥必备。
0x06 无线网卡工作模式▸
下面用最通俗易懂的语言介绍一下:
- Managed Mode:STA和AP直接连接并上网,是我们平时使用的最基本最常用的模式。
- Ad-Hoc:Ad-Hoc网络二十年前还有,现在早已淘汰。
- Master Mode:作为软AP时使用这个模式。所谓的“开热点”就是这个模式。
- Monitor Mode :监控该网卡能接收到的所有无线流量。
0x07 References▸
https://blogs.arubanetworks.com/industries/802-11-duration-id-field/