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