一、无线技术特点
- 行业迅猛发展
- 互联网重要入口
- 边界模糊
- 安全实施确实而且困难
- 对技术不了解而造成配置不当
- 企业网络私自介入AP破坏网络边界
二、802.11
- 发布于1997年
- 速率1Mbps或2Mbps
- 红外线传输介质(未实现)
- 无线射频信号编码(调制)(radio frequencies)(直序扩频和调频扩频)
- 媒体访问方式–CSMA/CA c=b+log 2 (1+s/n)
- 根据算法侦听–定时长
- 发送数据前发包声明
- Request to Send/Clear to Send(RTS/CTS)
三、802.11b
- Complementary Code Keying (CCK)–补充代码键
- 5.5 and 11Mbit/s
- 2.4GHz band (2.4GHz – 2.485GHz)
- 14 个重叠的信道channels
- 每个信道22MHZ带宽(中间信道向左11MHZ,向右11MHZ)
- 只有三个完全不重叠的信道
- 美国–1 to 11 (2.412 GHz – 2.462 GHz) (1-11)
- 欧洲–1 to 13 (2.412 GHz – 2.472 GHz) (1-13)
- 日本–1 to 14 (2.412 GHz – 2.484 GHz) (1-14)
四、802.1A
- 与802.11b几乎同时发布
因价格问题一直没有得到广泛应用- 使用5GHz带宽
• 2.4GHz带宽干扰源多(微波炉,蓝牙,无绳电话)
• 5GHz频率有更多的带宽空间,可容纳更多不重叠的信道
• Orthogonal Frequency-Division Multiplexing (OFDM)信号调制方法
正交频分复用技术
•更高速率54Mbps,每个信道20MHz带宽
•变频
5.15-5.35 GHz室内
5.7-5.8 GHz室外
五、802.11G
- 2.4GHz频率
- Orthogonal Frequency-Division Multiplexing (OFDM)信号调制方法
- 与802.11a速率相同
- 可全局降速向后兼容802.11b,并且换为CCK信号调制方法
- 每个信道20/22MHz带宽
六、802.11N
- 2.4或5 GHz频率
• 300Mbps最高600Mbps
• Multiple-Input Multiple-Output (MIMO)多进多出通信技术
•多天线,多无线电波,独立收发信号
•可以使用40MHz信道带宽使数据传输速率翻倍- 全802.11n设备网络中,可以使用新报文模式,使速率达到最大
- 每个信道20/40MHz带宽
七、无线网络运行模式
- 无线网络架构
- Infrastructure (传统的一个AP,一个终端)
• AP维护SSID- Ad-Hoc (两个终端(STA) p2p)
• STA维护SSID- WDS (多AP,多终端)
- Service Set Identifier (SSID)
• AP每秒钟约10次通过Beacon帧广播SSID
•客户端连接到无线网络后也会宣告SSID- Monitor不是一种真的无线模式
•但是对无线渗透至关重要
•允许无线网卡没有任何筛选的抓包(802.11包头)
•与有线网络的混杂模式可以类比
•适合的网卡和驱动不但可以monitor,更可以injection
八、无线网卡准备
- 物理机运行kali
- 虚拟机运行kali
•外置USB无线网卡
• TL-WN722N(个人建议)
• dmesg
• iwconfig- 发送功率:远程连接
- 接收灵敏性: 适当降低灵敏度,接受效果更佳
- 经验但不是铁律
•尽量选Atheros或Realtek芯片
•没有神器
•兼容aircrack-ng suite- http://www.aircrack-ng.org/doku.php?
id=compatibility_drivers#list_of_compatible_adapters- 无线渗透网卡没有所谓标准,但是Aircrack-ng suite作者给出建议
• Alfa Networks AWUS036H无线网卡
• Realtek 8187芯片
• 1000 mW发送功率
•天线RP-SMA
•可拓展
九、无线技术概念
- 分贝dB
•测量无线信号强度- B:向Alexander Graham Bell致敬(贝尔)
•今天大部分声学设备的发明人和理论奠基人- dB:表示两个信号之间的差异比率,用于描述设备的信号强度
•是一个相对值- dBm功率值与1mW进行比较的dB值结果
- 每增加3dBm,功率增加一倍
- 每增加10dBm, 功率增加十倍
- dBi全向天线辐射强度
•全向天线的信号功率增益
增益是指辛哈功率强度增加了多少dB- dBd 是定向天线的增益值
- 全向天线在所有方向上收发信号,定向天线在指定方向的范围内收发信号
- 天线增益越大信号传输距离越远
- 既然有mW来表示公路为什么还要引入dB这个单位
•接收信号是无线信号转变为高频电子脉冲,反之发射信号时高频电子脉冲转换为无线电波,这些过程功率往往
要产生上万倍的变化,使用W,mW来计数非常不方便,而dBm单位通过对功率的对数计算,使用一个较小的数
值既可以比较直观的表达功率的变化,因此无线和声学系统都采用了dB这个单位- 天线选择的误区
•增益越高越好
•高功耗
•对周围环境的信号干扰- 增益过高的全向天线会变成定向天线(信号传输方向会有所偏移)
- 定向天线
十、LINUX无线协议栈及配置命令
- 查看无线网卡
•ifconfig
•iwconfig
•iw list- 信号频率
•iwlist wlan0 frequency
•iw list(非常详细)- 扫描附近AP
•iw dev wlan0 scan | grep SSID
•iw dev wlan0 scan | egrep “DS\ Parameter\ set|SSID”
•iwlist wlan0 scanning | egrep “ESSID|Channel”
- 添加删除侦听端口
• service network-manager stop(不关闭该服务无法改为监听模式)
• iw dev wlan0 interface add wlan0mon type monitor
• ifconfig wlan0mon up
• iw dev wlan0mon interface del
十一、RADIOTAP头部
- 802.11帧发射和接收的事实标准,802.11依赖Radiotap完成通信过程
- Linux系统在驱动和API内建支持Radiotap
- 802.11帧发射之前,网卡驱动在802.11头前面Radiotap头,反之当网卡接收到
无线帧时,驱动通知MAC层,此帧头包含Radiotap头- Radiotap为802.11帧传递额外信息,厂家可自定义,因此头长度不固定
- 不破坏原始头结构,增加传递的信息
- 结构如下
- 分为Header和data
• Version (8bit)
•值始终为0
• Pad(8bit)
•未使用,只作为字段强制对其的占位
• Length(16bit)
•整个radiotap头长度(可变),作用是确定802.11头的开始位置
• Present(32bit)
• Data段的掩码
• Ext (1、0)
• MAC不能理解的头部直接忽略
十二、802.11头部
- DU(Data Unit)即数据单元,信息传输的最小数据集合
- 传递过程逐层封装(Encapsulation)
- SDU(Service Data Unit) / PDU(Protocol Data Unit)
- MSDU→MIC →分帧→添加IV →加密→添加MAC头部→ MPDU
- MPDU/PSDU + 物理头=PPDU →RF发射
下面从Protocol Version开始,到Order结束为Frame control头部的各个字段代表的含义:
- Protocol Version(2bit) : 802.11协议版本,始终为0、1、2、3
- Type(2bit) :规定帧的具体用途(3种帧类型)
•控制帧(1)
•数据帧(2)
•管理帧(0)- SubType(4bit)
•每个类型对应多个子类型,协议规定不同类型/子类型的帧完成不同功能的操作- To DS / From DS(1 / 1 bit)
•标识帧的传输方向,传向DS或者来自DS;这两个字段的值决定着MAC头中4个address字段的不同定义
- 00:出现在IBSS环境中(可能是Management帧或者是Control帧类型);或者是STSL(Station to Station Link)中两个STA间通信,这种情况下通信不通过AP
01: 表示Data帧从AP向STA传递;
02:表示Data帧从STA向AP传递;
03: 表示两个AP间通信,这是典型的WDS(Wireless Distribution System) 环境下AP的通信,或者表示Mesh环境下AP间的通信;只有此时才会使用到Address4 字段- MAC Layer Address
• 前面已经提到了四种,这里补充最后一种:Basic service set ID(BSSID);他是BSS二层的唯一标识,infrastructure模式中BSSID就是AP的MAC地址,当AP支持多BSS时,随机生成每个BSSID;- More frag(1bit):表示是否还有后续帧
• 值为1时表示有后续分段,可能是Data或Management帧类型- Retry (1bit) : 重传
• 值为1表示重传帧,可能是Data或Management帧类型,接收端进程使用此值防止帧重复- Power Mgmt (1bit): 活动模式 (0) / 省电模式(1)
• STA处于省电模式时,向关联的AP发送该值为1的帧(AP从不使用此字段),省电模式下STA不接受数据,发送给它额Data帧由AP暂时缓存;- More Data(1bit)
• 当AP缓存了至少一个MSDU时,会向省电模式的STA发送该值为1的帧,表示有数据要传输给STA,接收到此帧的STA唤醒自己并向AP发送PS-Poll帧,取回由AP为其缓存的数据。也被用于AP有更多的广播/多播帧需要发送的情况;- Protected Frame(1bit)
• 可能是Data或Management帧类型,表示MSDU是否被加密;也被用于表示PSK 身份验证Frame#3帧;数据载荷为空时,该字段为0;- Order(1bit)
• 在非QoS帧的情况下,值为1表示数据必须按严格顺序处理,通常为0;其他
- Duration/ID(16bit)
• 所有Control帧都使用该字段,其作用随Type/SubType变化有所不同:
• 帧类型为PS Poll(type:1, subtype:10)时,表示STA关联的AID(association identity);
• 其他情况下该字段作为一种载荷波侦听机制,表示接收下一帧之前需要保持的时间间隔,用于NAV(Network Allocation Vector)计算,单位是微秒- Sequence Control(16bit)
• 这个字段包含两个子字段:Sequence Number和Fragment Number;
• Sequence Number是每个帧的编号,数值范围是0—4095,以1为步长递增。当帧被分段时,同一帧中不同分段的Sequence Number相同;
• Fragment Number是被分段的帧用于标识分段位置顺序的编号,数值范围是0—15,以1为步长递增。数据段
- Frame Body(变长)
• 数据字段,未加密的最大MSDU长度为2304字节(其中包含最大256字节的上层头信息和可被传递的数据2048字节)。不同的加密方法会增加一定的内容长度;
•WEP: 8 bytes → 2312 bytes
•TKIP (WPA1): 20 bytes → 2324 bytes
•CCMP (WPA2): 16 bytes → 2320 bytes
• 注 Control类型的帧没有Frame Body内容- FCS(32bit)
•发送端对全部MAC包头和Frame Body内容进行CRC计算,计算结果即为FCS(Frame Check Squence )值,接收端进行同样的计算,结果一致时,则接收端向发送端返回ACK,否则丢弃帧(只对单播帧有效,FCS错误的广播/多播帧可能被接收)
• 注:wireshark抓包时已经删除了FCS值(有时会删除,有时不会)
十三、控制帧
- 控制帧是一些通知设备开始、停止传输或连接失败等情况的短消息
- ACK
• 接收端正确接收数据之后像发送端返回ACK确认
• 每个单播帧需要ACK立刻确认
• 组播和广播帧不需要ACK确认
• 尽快响应
• 由硬件完成,而非驱动层
• T/S:1/13- PS-POLL
• RF系统的放大器
• 主要耗电的组件
• 发射前放大信号,接受并放大还原信号
• 省电模式
• 关闭信号发射器节省电源耗电(几乎完全关闭)• AID——Association ID
• STA省电模式唤醒
• 数据发送AP(AP缓存数据包)
• 通过Beacon发送TIM(traffic indication map)
• 其中包含AID
• STA 对比AID后唤醒网卡
• STA 发送PS-Poll帧,请求从AP缓存中取回数据
•每个帧都需要ACK确认
•ACK确认后AP从缓存中删除数据帧
•传输过程中STA保持唤醒状态
•传输结束后STA恢复省电状态
- RTS/CTS
• RTS/CTS是CSMA/CA方法的一种补充手段
• 降低冲突产生的可能性
• 正是通信之前通过请求应答机制,确信通信介质的可用性
• 并锁定传输介质和预约通信事件
• 只有在传输长帧时使用,传输短帧时不会使用
• 驱动接口提供阈值的自定义
• 大于阈值的帧被视为长帧,反之则视为短帧就是说通过退避算法选择道德访问介质不知道是否有其他介质正在访问,如果正在访问则还要用退避算法重新分配,占用时间,所以我们可以用RTS/CTS的值来对其进行校验,这样可以检验是否有其他介质对目标进行访问
十四、管理帧
- BEACON FRAMES
•AP发送的广播帧,通告无线网络的存在(BSSID)
•发包频率
•102.4ms (可变)
•时间单位1024 microseconds(60)
•SSID网络名
•隐藏AP不发SSID广播•IBSSI Status
•0:infrastructure
•1:ad-hoc
•Privicy
•Wep
•ESSID
•名称、长度
•速率
•802.11 g(1——54Mbit)
•信道
•11
- PROBE REQUEST FRAMES
• 用于STA扫描现有AP
• 发现连接过的AP
• 发现未连接的AP- PROBE RESPONSE FRAMES
• 发现连接过的AP时,速率和ESSID相同的AP响应- AUTHENTICATION FRAMES
•Authentication Algorithm身份认证类型
•0:开放系统身份认证
•1:共享密钥身份认证
•身份认证有多个帧交换过程组成
•Authentication Seq
•每次身份认证验证过程Seq唯一
•1-65535
•Challenge text
•只有共享密钥方式才有此字段
•Status Code:成功/失败- ASSOCIATION/REASSOCIATION FRAMES
• 身份验证成功后,STA执行关联操作,加入无线网络
•Association Request
•Reassociation Request
•Association Response- ASSOCIATION RESPONSE
• AP对STA的关联请求的响应
• 状态码:关联成功/失败- DISASSOCIATION/DEAUTHENTICATION
• 由AP发出
• 2 个字节
十五、数据帧
- AUTHENTICATION FRAMES
• 传输用户数据
•DATA Frame
• 空数据帧
•Null data frame
• 只包含MAC头和FCS
• STA用于声明自己将要进入省电模式