《Kali渗透基础》13. 无线渗透(三)
kali渗透
- 1:无线通信过程
- 1.1:Open 认证
- 1.2:PSK 认证
- 1.3:关联请求
- 2:加密
- 2.1:Open 无加密网络
- 2.2:WEP 加密系统
- 2.3:WPA 安全系统
- 2.3.1:WPA1
- 2.3.2:WPA2
- 3:安全协议协商
- 3.1:企业 WPA 连接过程
- 3.2:个人 WPA 连接过程
- 4:密钥交换
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。
本文以 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渗透 1:无线通信过程1.1:Open 认证1.2:PSK 认证1.3:关联请求 2:加密2.1:Open 无加密网络2.2:WEP 加密系统2.3:WPA 安全系统2.3.1:WPA12.3.2:WPA2 3&#…...
python——案例六:判断字符串的长度
案例六:判断字符串的长度str"Study"print(len(str))#输出结果如下: #5...
PC-windows-安卓-Linux音频系统框架概论
+我V hezkz17进数字音频系统研究开发交流答疑群(课题组) 一 PC 音频系统工作原理 PC音频系统的工作原理可以简要概括为以下几个步骤: 音频输入:音频信号可以通过多种方式输入到计算机,例如麦克风、线路输入、数字音频接口等。这些音频源会将声音转换为电信号。 模数转换…...
Web Worker API
Web Worker API Web Worker 使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务,使主线程(通常是 UI 线程)的运行不会被阻塞/放慢。 Web Worker概念与用法 Wor…...
1.4 MA多头/空头排列是真的吗?
MA策略验证——金叉和死叉 文章目录 MA策略验证——金叉和死叉公共代码论证步骤论证代码论证结果写在最后公共代码 code = 注意,这里改成股票代码 pro = ts.pro_api(tushare的token)df = pro.daily(ts_code=code)[...
基于SpringBoot+Vue的CSGO赛事管理系统设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
Android系统APP之SettingsProvider
前言 SettingsProvider顾名思义是一个提供设置数据共享的Provider,SettingsProvider和Android系统其它Provider有很多不一样的地方,如: SettingsProvider只接受int、float、string等基本类型的数据;SettingsProvider由Android系…...
go入门实践二-tcp服务端
文章目录 前言接口与方法并发-协程项目管理bufio包使用其他代码 前言 上一篇,我们通过go语言的hello-world入门,搭建了go的编程环境,并对go语法有了简单的了解。本文实现一个go的tcp服务端。借用这个示例,展示接口、协程、bufio的…...
SprinMVC获取请求参数
SprinMVC获取请求参数 Spring MVC 提供的获取请求参数的方式 通过 HttpServletRequest 获取请求参数通过控制器方法的形参获取请求参数使用 RequestParam 注解获取请求参数通过实体类对象获取请求参数(推荐) 通过ServlstAPI获取 将HttpServletRequest…...
orangepi 4lts ubuntu安装RabbitMQ
4lts的emmc 系统安装选文件系统格式 ext4 需先安装erlang: sudo apt install erlang 安装RabbitMQ: sudo apt install rabbitmq-server - 添加用户以便远程访问: - 账号密码都是admin: sudo rabbitmqctl add_user admin admin -sudo rabbitmqct…...
SolidWorks 3D Interconnect介绍
目前市面上有的三维设计软件有很多,如UG、Pro/E、CATIA等,而且每个三维设计软件都会生成自己文件格式。由于产品设计的原因,我们避免不了的会需要去使用不同三维设计软件的文件,这对于工程师来说其实是一件比较麻烦的事。 为什么…...
MBG中update语句的区别
int updateByPrimaryKey(User record) thorws SQLException 按主键更新 int updateByPrimaryKeySelective(User record) thorws SQLException 按主键更新值不为null的字段 使用以上的方式更新数据时必须提供主键,MyBatis根据主键进行数据记录的更新。 int updateBy…...
论文阅读 - Few-shot Network Anomaly Detection via Cross-network Meta-learning
论文链接:https://arxiv.org/pdf/2102.11165.pdf 目录 摘要: 引言 问题定义 方法 Graph Deviation Networks Cross-network Meta-learning 摘要: 网络异常检测旨在找到与绝大多数行为显着不同的网络元素(例如节点、边、子图…...
秋招算法备战第37天 | 738.单调递增的数字、968.监控二叉树、贪心算法总结
738. 单调递增的数字 - 力扣(LeetCode) 这个问题是关于找到一个小于或等于给定数字n的最大单调递增数字。 我们可以将数字n转换为字符数组,然后从左到右扫描,寻找第一个违反单调递增条件的位置。一旦找到这样的位置,…...
Windows server上用nginx部署vue3项目
Windows server上用nginx部署vue3项目 一、Node中node_modules文件夹及package.json文件的作用说明二、VUE3项目打包三、Windows Server上的Nginx部署 一、Node中node_modules文件夹及package.json文件的作用说明 node_modules是安装node后用来存放用包管理工具下载安装的包的…...
计算机视觉与图形学-神经渲染专题-pi-GAN and CIPS-3D
《pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis》 摘要 我们见证了3D感知图像合成的快速进展,利用了生成视觉模型和神经渲染的最新进展。然而,现有的方法在两方面存在不足:首先,它们…...
【FAQ】EasyGBS平台通道显示在线,视频无法播放并报错400的排查
EasyGBS是基于国标GB28181协议的视频云服务平台,它可以支持国标协议的设备接入,在视频能力上能实现直播、录像存储、检索与回放、云台控制、告警上报、语音对讲、平台级联等功能,既能作为业务平台使用,也能作为能力层平台调用。 我…...
G1和CMS
G1垃圾回收器要点: 1.什么是G1垃圾回收器: G1是一款专门针对于拥有多核处理器和大内存的机器的收集器,在满足了GC响应时间的延迟可控的情况下,也会尽可能提高的程序的吞吐量 2.G1垃圾回收器的优点: ①与CMS收集器一…...
详解Linux中的socket函数
2023年8月3日,周四下午 目录 函数原型参数domain参数type参数protocol举例说明参数type和参数protocol之间的关系 函数原型 #include <sys/socket.h>int socket(int domain, int type, int protocol);参数domain domain是“域”的意思,其值为AF…...
React Antd 实现表格合计功能
思路:首先拿到 表格数组对象,然后写一个工具类,然后向数组对象最后插入一条数据,这条数据的字段时根据表格数组里合计算出来的。 代码如下,需根据各自业务稍作改动: <Table dataSource{tableData}column…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
