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 (无线访问点))
  1. AP维护SSID
  2.  Service Set Identifier (SSID)
  3. AP每秒约10次通过beacon帧广播SSID
  4. 客户端连接到无线网络后也会宣告SSID
  5. 至少包含一个AP和一个STATION,形成一个Basic Service Set (BSS)
  6. AP连接到有线网络,称为Distribution System(分布式系统)(DS)
  7. 连接到同一个DS的多个AP形成一个Extended Service Set (ESS)
  • AD-HOC (热点 快传)
  1. 也被称为Independent Basic Service Set (IBSS)
  2. 有至少2个STAs直接通信组成
  3. 也称为peer to peer模式(p2p)
  4. 其中一个STA负责AP的工作
  5. 通过baecon广播SSID
  6. 对其他STAs进行身份认证
  • WIRELESS DISTRIBUTION SYSTEM(WDS)
  1. 与有线DS类似,只是通过无线连接的多个AP组成的网络
  2. Bridging——只有AP间彼此通信
  3. Repeating——允许所有AP和STA进行通信

  • MONITOR MODE
  1. 并不是一种真的无线模式
  2. 对无线渗透至关重要
  3. 允许无线网卡没有任何筛选的抓包(802.11包头)
  4. 与有线网络的混杂模式可以类比
  5. 适合的网卡和驱动不但可以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头
  1. 802.11帧发射和接收的事实标准,802.11依赖Radiotap完成通信过程
  2. Linux系统在驱动和API中内建支持Radiotap
  3. 802.11帧发射之前,网卡驱动在802.11头前面添加Radiotap头,反之当网卡接受到无线帧时,驱动通知MAC层,此帧头包含Radiotap头
  4. Radiotap为802.11帧传递的额外信息,厂家可自定义,因此头长度不固定
  5. 不破坏原始头结构,增加传递的信息
  • 具体结构
  • 分为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
  • 注: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个字节

  • 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字段信息
  • 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
    • 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
      • 不兼容早期版本硬件
  • 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认证成功
  • 密钥交换

  • 无线网络设计用于一组无线设备通信
    • 关联到同一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
    • 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基础
      • 无线渗透及审计
      • 包含各种功能的工具套件
        • 网络检测
        • 嗅探抓包
        • 包注入
        • 密码破解

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相同可能可以正常使用

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
    • 物理足够接近被攻击者
  • 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
  • 其他暴力破解密码工具
    • 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
      • 数据库模式破解
        • 默认使用基于文件的数据库,支持连接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
    • 秒破pin码
      • reaver -i wlan0mon -b -vv -K 1
      • pixiewps
      • 只适用于固定厂商的芯片,成功率低
    • reaver -i wlan0mon -b -vv -p 88888888
  • 问题
    • 厂家实现了锁定机制,爆破时要注意限速
    • 一旦触发锁定,可尝试耗尽AP连接数,令其重启并解除WPS锁定

综合自动化无线密码破解工具wifite

无线接入攻击工具 EVIL TWIN AP/rouge AP

其他air-crack套件工具

airdecap-ng

  • 去除802.11头
    • airdecap-ng -b 1.pcap
  • 解密WEP加密数据
    • airdecap-ng -w -b 1.pcap
    • 必须有与AP建立关联关系
  • 解密WPA加密数据
    • airdecap-ng -e kifi -p -b 1.pcap
    • 抓包文件中必须包含四步握手信息,否则无解

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
  • 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

相关