《Kali渗透基础》13. 无线渗透(三)

news2024/11/18 11:25:10

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,并使用密钥加密通信。

沉恨细思,不如桃杏,犹解嫁东风。

——《一丛花令》(宋)张先

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/837602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

修复 Adob​​e After Effects 预览无法工作/播放的方法技巧

Adobe After Effects 允许您预览视频和音频,而无需将其渲染为最终输出。当您无法在此应用程序中预览视频和音频时,一定会感到沮丧。不过不用担心,您可以尝试以下方法来修复 After Effects 预览不起作用的问题。 技巧1:重启After …

SHEIN还说TEMU,2023跨境电商怎么选?

2023年要说跨境热门的平台有哪些,SHEIN与TEMU应该是名列前茅的。这两家一直以来给人感觉也都是比较相似的,他们的跨境斗法从未停歇。其实两者有相似之处,也有不同之处!作为跨境玩家,我们应该如何选择适合自己的平台呢?往下看。 一…

Qt 6. 其他类调用Ui中的控件

1. 把主类指针this传给其他类,tcpClientSocket new TcpClient(this); //ex2.cpp #include "ex2.h" #include "ui_ex2.h"Ex2::Ex2(QWidget *parent): QDialog(parent), ui(new Ui::Ex2) {ui->setupUi(this);tcpClientSocket new TcpClient…

一百四十一、Kettle——kettle8.2在Windows本地开启carte服务以及配置子服务器

一、目的 在kettle建好共享资源库后,为了给在服务器上部署kettle的carte服务躺雷,先在Windows本地测试一下怎么玩carte服务 二、Kettle版本以及在Windows本地安装路径 kettle版本是8.2 pdi-ce-8.2.0.0-342 kettle本地安装路径是D:\j…

【动态规划刷题 4】礼物的最大价值下降路径最小和

礼物的最大价值 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值…

Flutter iOS 集成使用 fluter boost

在 Flutter项目中集成完 flutter boost,并且已经使用了 flutter boost进行了路由管理,这时如果需要和iOS混合开发,这时就要到 原生端进行集成。 注意:之前建的项目必须是 Flutter module项目,并且原生项目和flutter m…

Kotlin~Visitor访问者模式

概念 将数据结构和操作分离,使操作集合可以独立于数据结构变化。 角色介绍 Visitor:抽象访问者,为对象结构每个具体元素类声明一个访问操作。Element:抽象元素,定义一个accept方法ConcreteElement:具体元…

HTML编码

目录 1.HTML编码概述2.实体编码3.URLcode编码4.unicode编码5.解码实例 1.HTML编码概述 通常一个网页中可解析的总共有三种编码,每种编码都能用来代替表示字符,按解析顺序依次是“html实体编码”“urlcode码”“Unicode码”,在执行过程中会在…

Flowable-顺序流

目录 顺序流标准顺序流定义图形标记XML内容使用示例 条件顺序流定义图形标记XML内容界面操作 默认顺序流定义图形标记XML内容使用示例视频教程 顺序流 顺序流是一端带有箭头的实线,可在流程图中连接流程内的各个元素,并显示各个元素的执行顺序。 Flowa…

Flink学习教程

最近因为用到了Flink,所以博主开了《Flink教程》专栏来记录Flink的学习笔记。 【Apache Flink v1.16 中文文档】 【官网 - Apache Flink v1.3 中文文档】 一、基础 参考链接如下: Flink教程(01)- Flink知识图谱Flink教程&…

[Docker实现测试部署CI/CD----自由风格的CI操作[最终架构](5)]

目录 11、自由风格的CI操作(最终)Jenkins容器化实现方案修改 docker.sock 权限修改 Jenkins 启动命令后重启 Jenkins构建镜像推送到Harbor修改 daemon.json 文件Jenkins 删除构建后操作Jenkins 添加 shell 命令重新构建 Jenkins通知目标服务器拉取镜像目…

Java阶段五Day18

Java阶段五Day18 文章目录 Java阶段五Day18缓存方案面试题整理 项目功能新增审核业务流程图 账户账户表格和ER图账号服务功能账号的创建当前实现功能时序图(对应全景图) 抢单相关时序图供应商和需求单 附录布隆过滤器 缓存方案 面试题整理 目标&#xf…

【Unity3D应用案例系列】Unity3D中实现文字转语音的工具开发

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中,会遇到将文字转语音输出的需求&#xff0…

[每周一更]-(第57期):用Docker、Docker-compose部署一个完整的前后端go+vue分离项目

文章目录 1.参考项目2.技能点3.GO的Dockerfile配置后端的结构如图Dockerfile先手动docker调试服务是否可以启动报错 4.Vue的Dockerfile配置前端的结构如图nginx_docker.confDockerfile构建 5.docker-compose 整合前后端docker-compose.yml错误记录(1)ip端…

宇树Unitree Z1机械臂使用教程

宇树Unitree Z1机械臂使用教程 作者:Herman Ye Galbot Auromix Auromix是一个机器人爱好者组织,欢迎参与我们Github上的开源项目 更新日期:2023/08/04 注意:此文档在该日期下测试有效。 以下内容参考宇树官方的Z1 Docs。 由宇树…

idea调节文字大小、日志颜色、git改动信息、单击打开代码覆盖原标签问题

idea调节菜单栏文字大小: 调节代码文字大小: 按住ctrl滚动滑轮可以调节代码文字大小: ctrl单击打开代码覆盖原标签问题: idea在控制台对不同级别的日志打印不同颜色 : “grep console”插件 点击某一行的时候&#x…

docker-compose --version报错

在部署docker-compose后,查看版本时有如下报错: 解决方法: 解决方法: 直接在release中下载对应的linux发行版【docker-compose-linux-x86_64】 https://github.com/docker/compose/releases/tag/v2.18.1 下载完后将软件上传至 Linux的【/usr/local/bin】…

高忆管理:教你一招短线选股法?

投资者在进行短线买卖时,需求把握一些可行的股票战略,以进步成功率。本文将从商场状况、技能剖析、基本面剖析和资金流向四个视点,教你一招短线选股法。 一、商场状况 在短线买卖中,行情是至关重要的。商场上有“牛市”和“熊市”…

【前端实习生备战秋招】—HTML面试题汇总,建议收藏

【前端实习生备战秋招】—HTML面试题汇总,建议收藏 文章目录 【前端实习生备战秋招】—HTML面试题汇总,建议收藏1. src和href的区别2. 对HTML语义化的理解3. DOCTYPE(⽂档类型) 的作⽤4. script标签中defer和async的区别5. 常⽤的meta标签有哪些6. HTML5…

14-3_Qt 5.9 C++开发指南_QUdpSocket实现 UDP 通信_UDP 单播和广播

文章目录 1.UDP通信概述2. UDP 单播和广播2.1 UDP 通信实例程序功能2.2 主窗口类定义和构造函数2.3 UDP通信的实现2.4 源码2.4.1 可视化UI设计2.4.2 mainwindow.h2.4.3 mainwindow.cpp 1.UDP通信概述 UDP(User Datagram Protocol,用户数据报协议)是轻量的、不可靠的…