Kali Linux下无线渗透操作手册
0x01 无线相关理论
- 802.11标准
 
802.11b  信道相关
- 5.5 and 11Mbit/s
 - 2.4GHz band (2.4GHz – 2.485GHz)
 - 14个重叠的信道channels
 - 每个信道22MHz宽带
 - 只有三个完全不重叠的信道
 - 美国 –1 to 11 (2.412 GHz – 2.462 GHz)
 - 欧洲 –1 to 13 (2.412 GHz – 2.472 GHz)
 - 日本 –1 to 14 (2.412 GHz – 2.484 GHz)
 
802.11A
- 使用5GHz
 - 2.4GHz带宽干扰源多(微波,蓝牙)
 - 有可容纳更多不重叠的信道等优势。
 - 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或5GHz频率
 - 300Mbps 最高600Mbps
 - Multiple-Input Multiple-Output (MIMO) 多进多出通信技术
 - 多天线,多无线电波,独立收发信号
 - 可使用40MHz信道带宽使数据传输速率翻倍
 - 全802.11n设备网络中,可以使用新报文格式,使速率达到最大
 - 每个信道20/40MHz带宽
 
802.11 security
http://etutorials.org/NETWORKING/802.11+SECURITY.+WI-FI+PROTECTED+ACCESS+AND+802.11I/
- 无线网络运行模式
 
无线网络架构
-  Infrastructure(设备连接无线路由器 即AP (无线访问点))
 
- AP维护SSID
 - Service Set Identifier (SSID)
 - AP每秒约10次通过beacon帧广播SSID
 - 客户端连接到无线网络后也会宣告SSID
 - 至少包含一个AP和一个STATION,形成一个Basic Service Set (BSS)
 - AP连接到有线网络,称为Distribution System(分布式系统)(DS)
 - 连接到同一个DS的多个AP形成一个Extended Service Set (ESS)
 
- AD-HOC (热点 快传)
 
- 也被称为Independent Basic Service Set (IBSS)
 - 有至少2个STAs直接通信组成
 - 也称为peer to peer模式(p2p)
 - 其中一个STA负责AP的工作
 - 通过baecon广播SSID
 - 对其他STAs进行身份认证
 
- WIRELESS DISTRIBUTION SYSTEM(WDS)
 
- 与有线DS类似,只是通过无线连接的多个AP组成的网络
 - Bridging——只有AP间彼此通信
 - Repeating——允许所有AP和STA进行通信
 
- MONITOR MODE
 
- 并不是一种真的无线模式
 - 对无线渗透至关重要
 - 允许无线网卡没有任何筛选的抓包(802.11包头)
 - 与有线网络的混杂模式可以类比
 - 适合的网卡和驱动不但可以monitor,更可以injection
 
- 无线技术概念
 - 分贝dB
 - 用以测量无线信号强度
 - 表示2个信号之间的差异比率,用以描述设备的信号强度
 
dBm:功率值与1mW进行比较的dB值结
- 每增加3dBm,功率约增加一倍
 - 每增加10dBm,功率越增加10倍
 - dBi:全向天线辐射强度
 - dBd:定向天线辐射强度
 
0x02 Linux无线协议栈及配置命令
- 802.11协议栈
 - Ieee80211
 - iwconfig
 - iwlist
 - mac80211
 - iw
 
- 无线网卡配置
 - 查看无线网卡
 - 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“
 
- 添加删除侦听端口
 - iw dev wlan1 interface add wlan1mon type monitor
 - ifconfig wlan1mon up
 - 抓包:tcpdump或wireshark等
 - Iw dev wlan2mon 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(Protocal Data Unit)
 - MSDU(MAC Service Data Unit)→MIC→分帧→添加IV→加密→添加MAC头部→MPDU(MAC Protocal Data Unit)
 - MPDU/PSDU+物理头=PPDU→RF发射
 
- 802.11 MAC头结构
 
- 802.11
 - Protocol Version (2bit) : 802.11协议版本 始终为0,1,2,3
 - Type (2bit) :规定帧的具体用途(3种帧类型)
 - 管理帧(0)
 - 控制帧(1)
 - 数据帧(2)
 - Subtype (4bit)
 - 每个类型对应多个子类型,协议规定不同类型/子类型的帧完成不同功能的操作
 
- To DS / From DS (1/1bit)
 - 标识帧的传输方向,传向DS或者来自DS;这两个字段的值决定着MAC头中4个Adress字段的不同定义,具体如下图所示
 
- 0x00:出现在IBSS环境(可能是Management帧或者是Control帧类型);或者是STSL(Station to Station Link)中两个STA间通信,这种情况下通信不通过AP
 - 0x01:表示Data帧从AP向STA传递;
 - 0x02:表示Data帧从STA向AP传递;
 - 0x03:表示两个AP间通信,这是典型的WDS (Wireless Distribution System)环境下AP间的通信,或者表示Mesh环境下MP间的通信;只有此时才会用到Adress4字段;
 - 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)计算,单位是微秒;
 
 - MAC Layer Adress
- 前面已经提到了4种,这里补充最后一种:Basic service set ID(BSSID);它是BSS的2层唯一标识,Infrastructure模式中BSSID就是AP的MAC地址,当AP支持多BSS时,随机生成每个BSSID;
 
 - 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:8bytes→2312bytes
 - TKIP(WPA1):20bytes→2324bytes
 - CCMP(WPA2):16bytes→2320bytes
 
 
 - 数据字段,未加密的最长MSDU长度为2304字节(其中包含最大256字节的上层头信息,和可被传递的数据2048字节)。不同的加密方式会增加一定的内容长度
 
 - 
 - 注:Control类型的帧没有Frame Body内容
 - FCS(32bit)
- 发送端对全部MAC包头和Frame Body内容进行CRC计算,计算结果即为FCS(Frame Check Sequence)值,接收端进行同样的计算,结果一致时,则接收端向发送端返回ACK,否则丢弃帧(只对单播帧有效,FCS错误的广播/多播帧可能被接收)
 - 注:wireshark抓包时默认删除FCS值
 
 - 控制帧(Control Frame)
 - 控制帧是一些通知设备开始、停止传输或连接失败等情况的短消息
 
- ACK(1101)
 - 接收端正确接收数据之后向发送端返回ACK确认
 - 每个单播帧需要ACK立刻确认
 - 组播和广播帧不需要ACK确认
 - 尽快响应
 - 由硬件完成 而非驱动层
 - T/S:1/13
 
- PS-Poll(1010)
 - RF系统的放大器
- 主要耗电的组件
 - 发射前放大信号,接收并放大还原信号
 
 - 省电模式
- 关闭信号发射器节省电源耗电(几乎完全关闭)
 
 - AID——Association ID
 - STA省电模式唤醒
- 数据发送至AP(AP缓存数据包)
 - 通过Beacon发送TIM(traffic indication map)
- 其中包含AID
 
 - STA对比AID后唤醒网卡
 - STA发送PS-Poll帧,请求从AP缓存中取回数据
- 每个帧都需要ACK确认
 - ACK确认后AP从缓存中删除数据帧
 - 传输过程中STA保持唤醒状态
 - 传输结束后STA恢复省电状态
 
 
 
-  AP接收PS-Poll帧
- 立刻响应
 - 延迟响应
- 简单响应帧
 
 
 - AID:关联ID
 - BSSID:STA正关联的AP地址
 - TA:发送此帧的STA地址
 
- RTS/CTS(1011/1100)
 
RTS/CT是CSMA/CA方法的一种补充手段
- 降低冲突产生的可能性
 - 正式通信之前通过请求应答机制,确信通信介质的可用性
 - 并锁定传输介质和预约通信时间
 - 只有在传输长帧时使用,传输短帧时不会使用
- 驱动接口提供阈值的自定义
 - 大于阈值的帧被视为长帧,反之则视为短帧
 
 
- Node1发送Request to Send包给Node2
 - 如果未发生冲突,Node2返回Clear to Send给Node1
 - Node1传输数据
 - 数据正常接收,Node2返回ACK,否则Node1什么也不会收到
 - 有线网络介质访问方式:CSMA/CD
 - 无线网络介质访问方法:CSMA/CA
 - 隐藏节点
 - RTS帧长度20字
 
- CTS帧长度14字节
 
- 管理帧(Management Frame)
 - 用于协商和控制STA与AP之间的关系
 
- Baecon Frames(8)
 - AP发送的广播帧,通告无线网络的存在(BSSID)
 - 发包频率
- 102.4ms (可变)
 - 时间单位1024microseconds(60s)
 
 - SSID网络名
- 隐藏AP不发SSID广播
 
 
-  IBSSI Status
- 0 : infrasructure
 - 1 : AD-HOC
 
 - Privicy
- Wep
 
 - ESSID
- 名称、长度
 
 - 速率
- 802.11g(1——54Mbit)
 
 - 信道
- 11
 
 - PROBE REQUEST FRAMES(4)
 - 用于STA扫描现有AP
- 发现连接过的AP
 - 发现未连连接的AP
 
 
- 发现连接过的AP时,速率和ESSID相同的AP响应
 
- AUTHENTICATION FRAMES(11)
 
- Authentication Algorithm身份认证类型
- 0:开放系统身份验证
 - 1:共享密钥身份验证
 
 - 身份认证有多个帧交换过程组成
 - Authentication Seq
- 每次身份验证过程Seq唯一
 - 1-65535
 
 - Challenge text
- 只有共享密钥方式才有此字段
 
 - Status Code:成功/失败
 - ASSOCIATION/REASSOCIATION FRAMES(0、1、2、3)
 - 身份验证成功后,STA执行关联操作,加入无线网络
- Association Request
 - Reassociation Request
 - Association Response
 
 - ASSOCIATION REQUEST FRAMES
 
- REASSOCIATION REQUEST FRAME
 
-  ASSOCIATION RESPONSE
- AP对STA的关联请求的响应
 - 状态码:关联成功/失败
 
 
- DISASSOCIATION/DEAUTHENTICATION(10)
- 由AP发出
- 2个字节
 
 
 - 由AP发出
 
- DISASSOCIATION/DEAUTHENTICATION(10、12)
 
- ATIM FRAMES(9)
 - 只在AD-HOC网络下使用
- STA使用此帧通知接收者其有缓存的数据要发送
 
 
- 数据帧(DATA FRAME)
 
- AUTHENTICATION FRAMES
 - 传输用户数据
- DATA frame
 
 - 空数据帧
- Null data frame
 - 只包含MAC头和FCS
 - STA用于声明自己将要进入省电模式
 
 
- 无线通信过程
 - 连接到无线网络
 
- Probe
- STA向所有信道发出probe帧,发现AP
 - AP应道Response
 
 - Authentication
- STA向AP发出验证请求
 - 发生认证过程(步骤可变)
 - AP响应STA的认证结果
 
 - Association
- STA发出关联请求
 - AP响应关联请求
 - 关联成功,开始通信
 
 - WEP探测过程
- Beacon标识使用WEP加密
 - STA发送普通Probe帧
 - AP响应Probe Response帧声明其采用WEP加密
 
 - WPA探测过程
- 两个AP的Beacon包内容不同,但都声明采用了WPA加密
- 不同厂商对802.11标准的实现方式不同
 
 - 包头包含WPA1字段信息
 
 - 两个AP的Beacon包内容不同,但都声明采用了WPA加密
 - WEP OPEN认证过程    
- WEP Open 认证与open认证通信过程相同
 - 正确认证后通信数据被WEP加密
 - 如果认证时客户端输入错误密码
- 认证依然可以通过
 - AP将丢弃该STA的数据包
- 起始向量被错误地密钥解密后完整性被破坏
 - 但数据传输将失败
 
 
 
 - 认证响应正确,身份验证成功
 - WPA PSK认证过程
 
- STA发认证请求
 - AP返回随机Challenge消息
 - STA使用PSK加密Cha并发回给AP
 - AP使用PSK解密密文,获得Cha并与原始Cha比对,相同则验证成功,不同则验证失败;
 - 大部分无线驱动首先尝试open验证,如果失败则尝试PSK
 - WEP共享密钥认证过程
- 无论使用什么加密架构,关联过程完全相同
- STA向AP发送关联请求
 - AP向STA发送关联成功或失败结果
 
 - 隐藏AP
- STA关联包中必须包含目标AP的ESSID
 - 嗅探到此关联包,说明有隐藏AP存在
 
 
 - 无论使用什么加密架构,关联过程完全相同
 - 加密
- 无线安全根源
- 802.11基于无线电波发射信息
 - 嗅探侦听是主要问题
 - 加密机制是必须手段
 
 - Wired Equivalent Privacy(WEP)
- 802.11标准的一部分
 - 发布后不久被发现存在安全漏洞
 
 - Wi-Fi Protected Access(WPA)取代WEP
- WPA2(802.11i标准)
 
 
 - 无线安全根源
 - OPEN无加密网络
- 无任何加密机制
 - 所有数据都可以被嗅探
 - STA和AP只协商拼配参数即可连入网络
 
 - WEP加密系统
- 使用Rivest Cipher 4(RC4)算法加密流量内容,实现机密性
 - CRC32算法检查数据完整性
 - 标准采用使用24位initialization vector(IV4)
 - 受美国加密技术出口限制法律要求
- 高于64bit key禁止出口
 - 所以除24bit IV之外真实的key只有40bit的版本被允许出口
 - 出口限制法律撤销后实现了128bit key的WEP版本(使用相同的24bit IV)
 
 
 - RC4算法
 - RSA实验室研发的对称加密流算法
- 实现简单
 - 速度快
 
 - 加密:对明文和密钥流进行XOR计算
 - 解密:对密文和密钥流进行XOR计算
 - RC4算法key由两个过程生成
- 合并IV和SKA,利用Key Scheduling Algorithm(KSA)算法生成起始状态表
 - Pseudo-Random Generation Algorithm (PRGA)算法生成最终密钥流
 
 
- 加密流程
 
- 解密流程
 
- WPA安全系统
- Wi-Fi Protected Access
 - 802.11i组为提高无线安全,开发两个新的链路层加密协议
- Temporal Key Intergrity Protocol (TKIP)
- WPA1(较之WEP可动态改变密钥)
 
 - Counter Mode with CBC-MAC(CCMP)
- WPA2
 
 
 - Temporal Key Intergrity Protocol (TKIP)
 - WPA加密的两种安全类型
- WPA个人:使用预设共享密钥实现身份验证
 - WPA企业:使用802.1X和Radius服务器实现AAA
 
 
 - WPA1
- 802.11i第三版草案
 - 与WEP比较
- 都采用逐包进行密钥加密
 - 128位的key和48位的初向量(IV)
 - RC4流加密数据
 - 帧计数器避免重放攻击
 - TKIP使用Michael算法进行完整性校验(MIC)
- WEP CRC32
 
 - 兼容早期版本硬件
 
 
 - WPA2 
- 依据802.11i完全重新设计实现
- 也被称为Robust Security Network (RSN)
 - CCMP替代TKIP
 - AES加密算法取代了RC4
 - 不兼容早期版本硬件
 
 
 - 依据802.11i完全重新设计实现
 - WPA企业连接过程
- 协商安全协议
 - 身份认证
 - 密钥分发和验证
 - 数据加密完整性
 
 
- WPA-PSK
 - 协商安全协议
 - 密钥分发和验证
 - 数据加密完整性
 
- 协商安全协议
- 协商认证方式
- PSK/802.1X
 
 - 单播和组播/广播流量加密套件
- TKIP/CCMP
 
 - STA通过probe获取无线网络信息
- 速率
 - 加密
 - 通道
 - 名称
 
 
 - 协商认证方式
 - 身份认证(WPA企业)
- 身份认证基于Extensible Authentication Protocol (EAP)实现
- EAP-TLS,需要客户端和服务器证书
 - EAP-TTLS
 - PEAP混合身份验证,只需要服务器证书
 
 - 客户端选择身份认证方式
 - AP发送身份验证信息给Radius Server
 - Radius Server返回“Radius Accept”表示认证成功
- 其中包含Master Key(MK)
 
 - AP通过EAP消息通知STA认证成功
 
 - 身份认证基于Extensible Authentication Protocol (EAP)实现
 - 密钥交换
 
- 无线网络设计用于一组无线设备通信
- 关联到同一AP的设备共享无线信道
 - 单播、广播、组播
- 安全特性要求不同
 - 单播通信需要单独密钥加密通信双方流量
 - pairwise key:对偶密钥(PTK)
 - 组播通信需要信任域内所有成员共享的同一密钥
 - group key:组密钥(GTK)
 
 
 - PMK
- 安全上下文的顶级密钥
- MK进行TLS-PRF加密得出PMK
 
 - 基于服务密钥
- 由上层身份验证方法服务器生成
 - 从服务器通过radius传给AP
 - 从AP通过EAP消息传给所有STA
 
 - 基于PSK共享密钥
- ESSID+PSK+迭代次数4096——Hash计算生成
 - STA和AP分别计算得出PMK,并不在网络中传递交换
 
 - 256位即32字节
 
 - 安全上下文的顶级密钥
 - 密钥交换
- PTK的生成过程
- HMAC-SHA1散列算法
 - PRF-X散列算法
 
 
 - PTK的生成过程
 
- 四步握手过程生成PTK
- AP发送Anonce给STA
 - STA生成Snonce计算出PTK
 - Snonce加PTK的MIC发给AP
 - AP拿到Snonce计算出PTK
 - AP计算MIC与接收的MIC比对
 - MIC一致说明确定STA知道PMK
 - AP发GTK给STA
 - STA回复ACK并使用密钥加密
 
 - 数据加密和完整性
- 三种算法
- Temporal Key Integrity Protocol (TKIP) 4
 - Counter Mode with CBC-MAC (CCMP) 5
 - Wireless Robust Authenticated Protocol (WRAP) 6
 
 
 - 三种算法
 
- 无线渗透实操
- aircrack-ng基础
- 无线渗透及审计
 - 包含各种功能的工具套件
- 网络检测
 - 嗅探抓包
 - 包注入
 - 密码破解
 
 
 
 - aircrack-ng基础
 
airmon-ng
- 检查网卡驱动
- airmon-ng check
 - airmon-ng check kill
- 用以检查网卡驱动并查杀一些可能影响网卡进入侦听模式的进程
 
 
 
- 
- 开启和停止无线侦听
- airmon-ng start wlan1 (1~13)可选择工作信道
 
 
 - 开启和停止无线侦听
 
- 
- 
- iwlist wlan1mon channel (查看正在工作的信道)
 
 
 - 
 
- 
- 
- airmon-ng stop wlan1mon
 
 
 - 
 
airodump-ng
- 无线抓包
- airodump-ng wlan1mon
 - airodump-ng wlan1mon(抓包网卡 必须已置入monitor模式) -c 1(选择信道,不选择的话默认进入hopping模式,在各信道间循环;信道间会有重叠 可能会抓到指定信道外的包) -bssid 00:00:00:00:00:00(选择bssid) -w filename.cap(保存为filename.cap) -ivs(破解WEP时,仅抓可用于破解的ivs包) (更多参数可用man指令查看)
 
 
- CH:网卡当前所处的信道
 - Elapsed:进程已运行的时长
 - 当前操作系统时间
 - 安全方案采用WPA或WPA2的AP被连接上时,四步握手包已被抓到 并把AP的MAC地址显示出来
 
- BSSID:AP的MAC地址,“(not associated)”表示客户端没有连接到任何接入点。在这种没有连接的状态下,它一直会搜寻接入点。
 -  PWR:网卡接收到的信号强度,距离越近信号越强(越接近0越强,一般超过130被认为不可接收)
- -1:驱动不支持信号强度,STA距离超出信号接受范围:如果部分station的PWR是-1,则表示网卡能接收到接入点的数据包,但是却超出了网卡的传输范围。这就意味着我们只能监听到1/2的信息交流。如果所有station都是-1,则表明驱动不支持显示信号水平。
 
 - RXQ(仅在使用-c指定信道时出现):近10秒成功接收的数据帧的百分比(数据帧,管理帧)
 - Beacons: 接收到此AP发送的beacon帧数量
 - #Data: 抓到的数据帧数量(WEP表示IV数量),包含广播数据帧
 - #/s: 最近10s内,每秒平均抓到的帧的数量
 - CH: 信道号(从beacon帧中获得),信道重叠时可能发现其他信道
 - MB: AP支持的最大速率
 - ENC: 采用的无线安全技术(WEP、WPA、WPA2、OPEN)
 - CIPHER: 采用的加密套件(CCMP、TKIP、WEP40、WEP104)
 - AUTH: 身份认证方式,使用的认证协议(GMT(WPA/WPA2 使用单独的认证服务器),SKA(WEP共享密钥) ,PSK(WPA/WPA2 预共享密钥),或者OPEN(WEP开放认证))
 - ESSID: 无线网络名称,隐藏AP此值可能为空,从airodump和probe和association request帧中可发现隐藏AP
 
- STATION: 每一个已连接或者正尝试连接用户的MAC地址,还没有连接上接入点的用户的BSSID是“not associated”
 - Lost: 通过sequence number 判断最近10秒STA发送丢失的数据包数量(管理帧,数据帧)
- 造成lost的原因一般为干扰或距离过远,也可能因为太高的传输功率导致数据包丢失(可能靠接入点太近)
 - 发包时不能收包,收包时不能发包,也会造成丢包
 
 - Frames :STA发送的数据包数量
 - Notes: 备注
 - Probes: 用户探测的无线网络名称,如果还没有连接那么它是用户正尝试连接的网络名称
 
aireplay-ng
- 产生或者加速无线通信流量
- 向网络中注入数据包
- 伪造身份验证
 - 强制重新身份验证
 - 抓包重放
 
 - 用于后续WEP和WPA密码破解
 - 支持10种包注入
 
 - 向网络中注入数据包
 
- 获得包的途径
- 指定无线接口,通过过滤筛选再发出去(-i)
 - 抓包文件pcap (-r)
 
 - aireplay-ng 
<接口名,一定要是启用了侦听之后的网络接口名>  
- Filter(筛选)命令选项(除了0,1两种攻击方式)
 
aireplay-ng排错
- aireplay-ng命令挂起没有任何输出
- 无线网卡与AP工作在不同信道
 
 - 可注入速度很慢,并提示内核消息“rtc: lost some interrupts at 1024Hz”
- 可以启动多个aireplay-ng命令提高速度
 - 使用-h参数指定注入MAC地址与网卡MAC地址不一致报错
- 可使用macchange保持一致(改之前需要先把网卡down掉)
 
 
 
aireplay-ng包注入测试
- 检测网卡是否可以注入包
 - 检测AP的响应时间
- 回包率可以反映链路质量
 
 - 如果有两个无线网卡,可以检测具体可以注入哪种攻击
 - 如果测试检验AP对probe广播的响应
- 向每个AP发30个包
 - 网卡成功发送并可接收包的能力
 
 - 基本测试(只能检测是否可以注包)
- aireplay-ng -9 wlan1mon
 
 
-  向隐藏AP/指定SSID注入
- aireplay-ng -9 -e(essid) name -a(无线AP的MAC地址) EC:26:CA:FA:02:DC wlan2mon
 
 
- card to card 注入测试(需要两个网卡,一个用以模拟AP)
- 可以检测每个具体的攻击方式
 - 使用-i 指定作为AP的网卡
 - aireplay-ng -9 -i wlan0mon wlan1mon
 
 
-  -5/-7 可能是由于mac地址不匹配导致的失败
- 注入MAC和真实MAC相同可能可以正常使用
 
 
-  -5/-7 可能是由于mac地址不匹配导致的失败
 
MAC地址绑定攻击
- 管理员误以为MAC绑定是一种安全机制
 - 限制可以关联的客户端MAC地址
 - 通过修改MAC地址绕过过滤
 
WEP共享密钥破解
- WEP密码破解原理
- IV并非完全的随机
 - 每224个包可能出现一次IV重用
 - 收集大量IV之后找出相同的IV及其对应密文,分析得出共享密码
 - ARP回包中包含IV
 - IV足够多的情况下,任何复杂程度的WEP密码都可以被破解
 
 - WEP密码破解流程
- 启动monitor模式
 - 启动抓包并保存抓包
 - 使用aireplay发送Deauthentication包解除已连接的STA的关联,并在重新关联的过程中抓取XOR文件(aireplay-ng -0 1(发送次数) -a 00:00:00:00:00:00(AP的MAC地址) -c 00:00:00:00:00:00(关联的STA的MAC地址) wlan1mon(使用的网卡))
 - 利用XOR文件与AP建立关联(使用aireplay的fakeauthentication aireplay-ng -1 60(每次重新关联的时间,保证一直处于关联状态) -e name(AP的essid) -y name.xor(抓到的xor文件名) -a 00:00:00:00:00:00(AP的mac地址) -h 00:00:00:00:00:00(攻击者网卡的mac地址))
 - 执行ARP重放(aireplay -3 -b 00:00:00:00:00:00(AP的MAC地址) -h 00:00:00:00:00:00(攻击者的MAC地址))
 - 使用 Deauthentication触发ARP数据包
 - 收集够足够DATA后破解密码
- aircrack-ng filename.cap
 
 
 - Fake authentication
- WEP破解首先需要伪造认证,以便与AP进行正常通信
 - 不会产生ARP数据包
 - 参数见man
 
 - Fake authentication排错    
- 某些AP验证客户端MAC地址oui信息(全球MAC地址的厂商分配)
 - MAC地址过滤
 - Denied (Code 1) is WPA in use
- WPA/WPA2不支持fake authentication
 
 - 解决方案
- 使用真实的MAC地址
 - 物理靠近AP
 - 侦听信道正确
 
 
 - Deauthentication攻击
- 强制客户端与AP断开关联
- 重连生成ARP请求,AP回包包含IV
 - WPA重连过程中抓取4步握手过程
 - 无客户端情况下此攻击无效
 
 - 不指定-c参数时会广播给所有客户端
 - 每次攻击发送128个包,64个给AP,64个给STA
 - 物理足够接近被攻击者
 
 - 强制客户端与AP断开关联
 - Deauthentication排错
- 与被攻击者使用相同的无线标准b、n、g
 - 客户端可能拒绝广播帧,可以指定客户端
 
 - ARP重放
- 侦听正常的ARP包并重放给AP
 - AP回包中包含大量的弱IV
 - Airodump-ng data字段
- 64bit密钥:25w
 - 128bit密钥:150w
 
 
 
WPA攻击
- WPA PSK攻击  
- 只有一种密码破解方法
- WPA不存在WEP的弱点
 
 - 只能暴力破解
- CPU资源
 - 时间
 - 字典质量
- 网络上共享的字典
 - 密码泄露
 - Crunch生成字典
 - ……
 
 
 
 - 只有一种密码破解方法
 - PSK破解过程
- 
- 启动monitor
 - 开始抓包并保存
 - Deauthentication攻击获取四步握手信息
 - 使用字典暴力破解
 
 - 无AP情况下的WPA密码破解
- 启动monitor
 - 开始抓包并保存
 - 根据probe信息伪造相同ESSID的AP
 - 抓取四步握手的前两个包
 - 使用字典暴力破解
 
 
 - 
 
-  airolib破解密码
- 设计用于存储ESSID和密码列表
- 提前计算生成不变的PMK(计算资源消耗型)
 - PMK在破解阶段被用于计算PTK(速度快,计算资源要求少)
 - 通过完整性摘要怕值破解密码
 - SQLite3数据库存储数据
 
 - echo ap的essid > essid.txt
 - airolib-ng db --import essid essid.txt(导入essid)
 - airolib-ng db --stats(查看数据)
 - airolib-ng db --import passwd <字典>
- 会自动剔除不符合密码要求的密码
 
 - airolib-ng db -batch
- 生成PMK
 
 - aircrack-ng -r db wpa.cap
 
 - 设计用于存储ESSID和密码列表
 - 其他暴力破解密码工具
- JTR(John the ripper)
 - cowpatty(不仅可以使用字典,还可以使用彩虹表)
 - pyrit
- pyrit可以运用GPU强大的运算能力加速生成PMK
 - 本身支持抓包获取四步握手过程,无需使用airodump抓包
 - 也支持传统的读取airodump抓包获取四步握手的方式
 - pyrit -r wlan1mon -o wpapyrit.cap stripLive(剔除不需要的数据包)
 - pyrit -r wpapyrit.cap analyze
 - 从airodump抓包导入并筛选
- pyrit -r wpa.cap -o wpapyrit.cap strip
 
 - 使用字典直接破解密码
- pyrit -r wpapyrit.cap -i password.lst -b 
attack_passthrough  
 - pyrit -r wpapyrit.cap -i password.lst -b 
 - 数据库模式破解
- 默认使用基于文件的数据库,支持连接sql数据库,将计算的PMK存入数据库
 - 查看默认数据库状态: pyrit eval
 - 导入密码字典: pyrit -i password.lst import_passwords(会剔除不合格的密码)
 - 指定ESSID: pyrit -e essidname create_essid
 - 计算PMK: pyrit batch
 - 破解密码: pyrit -r wpapyrit.cap -b 
attack_db  
 
 
 
WPS(Wireless protected setup)攻击
- WPS是Wifi联盟2006年开发的一项技术
- 通过pin码来简化无线接入的操作,无需记住PSK
 - 路由器和网卡各按一个按钮就能接入无线
 - PIN码是分为前后各4位的2段共8位数字
 
 - 安全漏洞
- 2011年被发现安全涉及漏洞
 - 接入发起方可以根据路由器返回信息判断前4位是否正确
 - 而PIN码的后4位只有1000种定义的组合(最后一位是check sum)
 - 所以全部穷举破解只需要11000次尝试
- PSK:218,340,105,584,896次
 
 - 标准本身没有锁定机制,厂商会实现锁定机制
 
 - 攻击步骤
- 启动侦听模式后,发现支持WPS的AP
- wash -C -i wlan0mon
 - airodump-ng wlan0mon --wps
 
 - 爆破pin码
- reaver -i wlan0mon -b 
-vv  
 - reaver -i wlan0mon -b 
 - 秒破pin码
- reaver -i wlan0mon -b 
-vv -K 1  - pixiewps
 - 只适用于固定厂商的芯片,成功率低
 
 - reaver -i wlan0mon -b 
 - reaver -i wlan0mon -b 
-vv -p 88888888  
 - 启动侦听模式后,发现支持WPS的AP
 - 问题
- 厂家实现了锁定机制,爆破时要注意限速
 - 一旦触发锁定,可尝试耗尽AP连接数,令其重启并解除WPS锁定
 
 
综合自动化无线密码破解工具wifite
无线接入攻击工具 EVIL TWIN AP/rouge AP
其他air-crack套件工具
airdecap-ng
- 去除802.11头
- airdecap-ng -b 
1.pcap  
 - airdecap-ng -b 
 - 解密WEP加密数据
- airdecap-ng -w 
-b 1.pcap  - 必须有与AP建立关联关系
 
 - airdecap-ng -w 
 - 解密WPA加密数据
- airdecap-ng -e kifi -p 
-b 1.pcap  - 抓包文件中必须包含四步握手信息,否则无解
 
 - airdecap-ng -e kifi -p 
 
airserv-ng
- 通过网络提供无线网卡服务器
- 某些网卡不支持客户端/服务器模式
 
 - 启动无线侦听
 - 服务器端
- airserv-ng -p 3333(开放的端口号) -d wlan1mon
 
 - 客户端
- airodump-ng 192.168.1.1:3333
 
 - 某些防火墙会影响C/S间的通信
 
airtun-ng(虚拟隧道接口创建者)
- 监视所有加密流量以实现wIDS(无线入侵检测系统)
- 无线密码和BSSID
 - 需要获取握手信息
 
 - 中继和重放(将任意流量注入网络)
- repeate/replay
 
 - wIDS
- WEP: airtun-ng -a 
-w SKA wlan1mon  - WPA: airtun-ng -a 
-p PSK -e essid wlan1mon  - ifconfig at0 up
 - 四步握手
 - 理论上支持多AP的wIDS,但2个AP以上时可靠性会下降
- WPA: airtun-ng -a 
-p PSK -e kifi1 wlan1mon  - ifconfig at1 up
 - 多AP不同信道时airodump -c 1,11 wlan1mon
 
 - WPA: airtun-ng -a 
 
 - WEP: airtun-ng -a 
 - Repeate
- WDS/Bridge
 - 扩展无线侦听的距离
 - 要求两块网卡都置入monitor模式
 - airtun-ng -a 
--repeat --bssid -i wlan0mon wlan1mon - wlan0mon为收包的网卡
 - wlan1mon为发包的网卡
 - -a为发包的源地址
 - --bssid为过滤只发指定源地址的包(可选)
 
 
 - Replay
- 将抓取的CAP文件重放到指定网卡
 -  airtun-ng -a 
-r 1.cap  
 - 其他工具
- bessid-ng 用于直接发起deauthentication攻击 只能用于WPA加密
 - fern wifi cracker 一个集成的无线攻击工具
 
 
无线侦查
- kismet:字符界面的无线网络嗅探工具
 - GISkismet:它是一种无线侦察可视化工具, 可以灵活地表示使用Kismet收集的数据(可以分析GPS信息,与谷歌地球一起使用以标识出具体地理位置)。
 
更多无线工具:http://www.srcmini.com/19000.html