《Kali渗透基础》13. 无线渗透(三)
@
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
本文以 kali-linux-2023.2-vmware-amd64 为例。
无线网卡使用 MT7612u 芯片。
无线渗透与其他章节独立,涵盖面广。
无线技术变化快,难度大。
理论是本章最有价值的部分。
1:无线通信过程

- 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 字段信息
1.1:Open 认证
WEP Open 认证与 Open 认证通信过程相同。
- 成功认证后通信数据被 WEP 加密
- 如果认证时客户端输入错误密码,认证依然可以通过
- 起始向量被错误的密钥解密,完整性被破坏
- 数据传输将失败
- AP 将丢弃该 STA 的数据包
- 认证响应正确,身份验证成功
1.2:PSK 认证
PSK(Per-Shared Key),预共享密钥。

- STA 发送认证请求
- AP 返回随机 Challenge 消息(Cha)
- STA 使用 PSK 加密 Cha 并发回给 AP
- AP 使用 PSK 解密密文,获得 Cha 并与原始 Cha 比对
- 相同则验证成功,不同则验证失败
大部分无线驱动首先尝试 Open 验证,如失败则尝试 PSK。
1.3:关联请求
- STA 向 AP 发送关联请求。
- AP 向 STA 发送关联成功或失败结果
无论使用什么加密架构,关联过程完全相同。
对于隐藏 AP,STA 关联包中必须包含目标 AP 的 ESSID。
嗅探到此关联包,说明有隐藏 AP 存在。
2:加密
无线安全根源:
- 802.11 基于无线电波发射信息
- 嗅探侦听是主要问题
- 加密机制是必须手段
加密机制:
- Wired Equivalent Privacy(WEP)
- 802.11 标准的一部分
- 发布后不久被发现存在安全漏洞
- Wi-Fi Protected Access(WPA)
- WPA1
- WPA2(802.11i 标准)
2.1:Open 无加密网络
- 无任何加密机制
- 所有数据都可以被嗅探
- STA 和 AP 协商拼配参数即可连入网络
2.2:WEP 加密系统
WEP(Wired Equivalent Privacy)加密系统使用 RC4(Rivest Cipher 4)算法加密流量内容,实现机密性。
WEP 使用 RC4 算法产生伪随机序列流,将其与要传输的明文进行 xor 运算,再利用 CRC 算法生成 ICV 完整性校验值,再将刚刚的 xor 内容和 ICV 组合在一起,完成传输。
- 使用 CRC-32 校验和来检测数据完整性。
- 标准采用使用 24 位 Initialization Vector(IV)
IV 重用问题(IV 冲撞问题),即不同的数据帧加密时使用的 IV 值相同。
- 使用相同的数据帧加密密钥加密是不安全的。
- 数据帧加密密钥是基密钥与 IV 串联而成。
- 实际上用户普遍使用的基密钥是 Key ID 为 0 的 default key,因而不同的数据帧加密使用相同的 IV 是不安全的。
- 而且,IV 是明文传送的,攻击者可以获得使用相同加密密钥的数据帧,由此获得密钥。
- 所以要避免使用相同的 IV。不仅同一个用户站点要避免使用重复的 IV,而且要避免使用别的用户站点使用过的 IV。
2.3:WPA 安全系统
WPA,Wi-Fi Protected Access。
802.11i 组为提高无线安全,开发两个新的链路层加密协议。
WPA1:Temporal Key Integrity Protocol(TKIP)
较之 WEP 可动态改变密钥WPA2:Counter Mode with CBC-MAC(CCMP)
WPA 两种安全类型:
WPA 个人:使用预设共享密钥(PSK)实现身份验证
即常说的 WiFi 密码。WPA 企业:使用 802.1X 和 Radius 服务器实现验证
使用 Radius 服务器做 802.1X 认证,分发不同的密钥给各个终端用户。
2.3.1:WPA1
802.11i 第三版草案。
与 WEP 比较:
- 都采用逐包进行密钥加密
- 128 位的 key 和 48 位的初向量(IV)
- RC4 流加密数据
- 帧计数器避免重放攻击
- TKIP 使用 Michael 算法进行完整性校验(MIC)
- WEP 使用 CRC-32 进行完整性校验
- 兼容早期版本硬件
2.3.2:WPA2
依据 802.11i 完全重新设计实现。
- 也被称为 Robust Security Network(RSN)
- CCMP 替代 TKIP
- AES 加密算法取代了 RC4
- 不兼容早期版本硬件
3:安全协议协商
协商认证方式:
- PSK
- 802.1X
单播和组播 / 广播流量加密套件:
- TKIP
- CCMP
STA 通过 Probe 获取无线网络信息。
3.1:企业 WPA 连接过程

- 协商安全协议
- 身份认证
- 密钥分发和验证
- 数据加密完整性
WPA 企业身份认证基于 Extensible Authentication Protocol(EAP)实现。
- EAP-TLS,需要客户端和服务器证书
- EAP-TTLS
- PEAP 混合身份验证,只需要服务器证书
认证过程:
- 客户端选择身份认证方式
- AP 发送身份验证信息给 Radius Server
- Radius Server 返回 “ Radius Accept ” 表示认证成功
其中包含 Master Key(MK) - AP 通过 EAP 消息通知 STA 认证成功
3.2:个人 WPA 连接过程

- 协商安全协议
- 密钥分发和验证
- 数据加密完整性
4:密钥交换
无线网络用于一组无线设备通信,关联到同一 AP 的设备共享无线信道。
对于单播、广播、组播,安全特性要求不同:
单播通信需要单独密钥加密通信双方流量。
pairwise key:对偶密钥(PTK)组播通信需要信任域内所有成员共享的同一密钥。
group key:组密钥(GTK)

PMK(Pairwise Master Key),是在安全上下文中的最高级别密钥,通过对主密钥(Master Key,MK)进行 TLS-PRF 加密而获得。
对于企业服务密钥方式:
- 由上层身份验证方法服务器生成。
- 服务器通过 Radius 传递给 AP。
- AP 通过 EAP 消息将密钥传递给所有 STA。
对于预共享密钥方式:
- 使用 ESSID、PSK 和迭代运算,进行散列计算生成。
- STA 和 AP 分别计算获得各自的 PMK,这一过程不在网络中传递或交换。
- PMK 长度为 256 位,即 32 字节。
四步握手过程生成 PTK(Pairwise Transient Key):
- AP 向 STA 发送 Anonce。
- STA 使用自己的随机数(Snonce)计算出 PTK。
- STA 将 Snonce 与 PTK 的消息完整性码(Message Integrity Code,MIC)发送给 AP。
- AP 使用 Snonce 计算出相同的 PTK。
- AP 计算 MIC,并将其与接收到的 MIC 进行比对。
- 如果 MIC 一致,表明 STA 知晓 PMK。
- AP 向 STA 发送 Group Transient Key(GTK)。
- STA 回复 ACK,并使用密钥加密通信。
沉恨细思,不如桃杏,犹解嫁东风。
——《一丛花令》(宋)张先
《Kali渗透基础》13. 无线渗透(三)的更多相关文章
- Kali Linux渗透基础知识整理(三):漏洞利用
漏洞利用阶段利用已获得的信息和各种攻击手段实施渗透.网络应用程序漏洞诊断项目的加密通信漏洞诊断是必须执行的.顾名思义,利用漏洞,达到攻击的目的. Metasploit Framework rdeskt ...
- kali linux之无线渗透
无线技术变化大,难度大,既新鲜刺激,又压力山大.一半协议 一半理论 无线技术特点: 行业发展迅猛 互联网的重要入口 边界模糊 安全实施缺失而且困难 对技术不了解造成配置不当 企业网络私自接入ap破坏 ...
- Kali Linux 秘籍/Web渗透秘籍/无线渗透入门
Kali Linux 秘籍 原书:Kali Linux Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 目录: 第一章 安装和启动Kali ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- Kali Linux渗透基础知识整理(二)漏洞扫描
Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...
- 全能无线渗透测试工具,一个LAZY就搞定了
近来一直在研究无线安全方面的东西,特别是在无线渗透测试这块,每次渗透测试时总要来回不停的切换操作和挑选利器,很是麻烦.就想看看是否可以有一款功能全面的集合型工具. 正所谓功夫不负有心人,还真有这么一个 ...
- 域渗透基础之NTLM认证协议
域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...
- kali linux 2.0 web 渗透测试 电子书
原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...
- 无线渗透wep加密路由器
停掉网络服务 service network-manager stop 检查现在的环境适不适合使用airmon-ng airmon-ng check 杀死可能冲突的进程 开启网卡monitor模式 a ...
- 无线渗透之ettercap
无线渗透之ettercap ettercap命令查看 # ettercap -h Usage: ettercap [OPTIONS] [TARGET1] [TARGET2] TARGET is in ...
随机推荐
- 记一次 Oracle 下的 SQL 优化过程
1. 介绍 事情是这样的,UAT 环境的测试小伙伴向我扔来一个小 bug,说是一个放大镜的查询很慢,转几分钟才出数据,我立马上开发环境试了一下,很快啊我说,放大镜的数据立马就出来了,然后我登录 UAT ...
- Cesium中监听MOUSE_MOVE事件获取经纬度和高度
有时候在这个圆球上获取精确的经度纬度还不容易,特别是高度 还好在cesium提供了接口,看 let selft = this; const scene = this.viewer.scene; var ...
- 现代 CSS 解决方案:CSS 原生支持的三角函数
在 CSS 中,存在许多数学函数,这些函数能够通过简单的计算操作来生成某些属性值,例如 : calc():用于计算任意长度.百分比或数值型数据,并将其作为 CSS 属性值. min() 和 max() ...
- Unity框架与.NET, Mono框架的关系
什么是C# C#是一种面向对象的编程语言. 什么是.NET .NET是一个开发框架,它遵循并采用CIL(Common Intermediate Language)和CLR(Common Languag ...
- From Java To Kotlin 2:Kotlin 类型系统与泛型
上期主要分享了 From Java To Kotlin 1 :空安全.扩展.函数.Lambda. 这是 From Java to Kotlin 第二期. From Java to Kotlin ...
- 【问题解决】 网关代理Nginx 301暴露自身端口号
一般项目上常用Nginx做负载均衡和静态资源服务器,本案例中项目上使用Nginx作为静态资源服务器出现了很奇怪的现象,我们一起来看看. "诡异"的现象 部署架构如下图,Nginx作 ...
- tvm relay IR 可视化
本文地址: https://www.cnblogs.com/wanger-sjtu/p/16819877.html 发现最近relay 的可视化已经在tvm主线上支持了,这里有一个简单的demo代码记 ...
- 容器基础-- namespace,Cgoup 和 UnionFS
Namespace 什么是 Namespace ? 这里的 "namespace" 指的是 Linux namespace 技术,它是 Linux 内核实现的一种隔离方案.简而言之 ...
- 技术选型|K歌App中的实时合唱如何进行选型
摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理.实时音频传输和同步.音频压缩和解压缩.设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法. 前言 前面 ...
- 我开源了团队内部基于SpringBoot Web快速开发的API脚手架stater
我们现在使用SpringBoot 做Web 开发已经比之前SprngMvc 那一套强大很多了. 但是 用SpringBoot Web 做API 开发还是不够简洁有一些. 每次Web API常用功能都需 ...