《Kali渗透基础》14. 无线渗透(四)

kali渗透

  • 1:相关工具
    • 1.1:Aircrack-ng
      • 1.1.1:airmon-ng
      • 1.1.2:airodump-ng
      • 1.1.3:aireplay-ng
      • 1.1.4:airolib-ng
      • 1.1.5:bessid-ng
    • 1.2:JTR
    • 1.3:Evil Twin Attacker
    • 1.4:Wifipumpkin3
    • 1.6:Fern-WiFi-Cracker
    • 1.7:Kismet
    • 1.8:Reaver
    • 1.9:WiFite
  • 2:无线攻击类型
  • 3:MAC 地址绑定攻击
  • 4:WEP 攻击
  • 5:WPA STA - AP 攻击
  • 6:WPA 无 AP 攻击
  • 7:WPA 企业攻击
  • 8:WPS 攻击


本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《安全工具录》。

本文以 kali-linux-2023.2-vmware-amd64 为例。
无线网卡使用 MT7612u 芯片。

无线渗透与其他章节独立,涵盖面广。
无线技术变化快,难度大。
理论是本章最有价值的部分。

1:相关工具

1.1:Aircrack-ng

Aircrack-ng 是一个用于无线网络安全评估和渗透测试的工具集。

无线渗透和审计神器,包含各种功能的工具套件:

  • 网络检测
  • 嗅探抓包
  • 包注入
  • 密码破解
工具描述
airmon-ng将网卡设定为监听模式
airodump-ng无线数据包嗅探
aireplay-ng数据包注入 / 抓包工具,可以根据需要创建特殊的无线网络数据报文及流量
aircrack-ng字典攻击,破解密钥
airbase-ngAP 伪造,用于攻击客户端而不是接入点本身
airdecap-ng通过已知秘钥解密处于加密状态数据包
airtun-ng创建虚拟管道
airolib-ng保存、管理 ESSID 密码列表
packetforge-ng创建数据包注入用的加密包
tkiptun-ngWPA / TKIP 攻击
easside-ng和 AP 接入点通讯
airserv-ng允许不同的进程访问无线网卡
airdriver-ng无线设备驱动管理工具
bessid-ng尝试破解 WEP 网络,记录所有 WPA 握手信息

下面介绍部分常用套件工具。

1.1.1:airmon-ng

airmon-ng 主要功能是启用和管理无线网络监控模式。

部分命令如下:

检查网卡驱动
airmon-ng

检测冲突
airmon-ng check

停止冲突进程
airmon-ng check kill

启用 monitor 模式
airmon-ng start <网卡> [<信道>]

在这里插入图片描述

停止 monitor 模式
airmon-ng stop <网卡接口>

1.1.2:airodump-ng

airodump-ng 主要用于捕获无线网络流量,包括信号强度、加密类型、客户端设备等。

部分命令如下:

抓包
airodump-ng <网卡接口>

在这里插入图片描述

在这里插入图片描述

抓取指定信道的数据包
airodump-ng <网卡接口> -c <信道>

抓取指定 BSSID 的数据包
airodump-ng <网卡接口> -c <信道> --bssid <BSSID>

保存抓取到的数据包
airodump-ng <网卡接口> -w test

在这里插入图片描述

在这里插入图片描述

获取 WPS 信息
airodump-ng wlan0mon --wps

1.1.3:aireplay-ng

aireplay-ng 主要用于生成和注入数据包,以进行重放攻击、认证攻击和反身攻击等。

  • 产生或者加速无线通信流量
  • 向无线网络中注入数据包
    • 伪造身份验证
    • 强制重新身份验证
    • 抓包重放
  • 用于 WEP 和 WPA 密码破解

部分命令如下:

测试包注入质量
aireplay-ng -9 <网卡接口>

在这里插入图片描述

指定 BSSID 注入测试
aireplay-ng -9 <网卡接口> -a <BSSID>

在这里插入图片描述

指定 ESSID 注入测试
aireplay-ng -9 <网卡接口> -e <ESSID>

在这里插入图片描述

1.1.4:airolib-ng

airolib-ng 用于管理和操作预计算的 PMK 哈希表,可以提高效率。

PMK(Pairwise Master Key)是在 WPA1 和 WPA2 安全协议中用于加密无线网络流量的密钥。

部分命令如下:

将要攻击的 AP 写入一个文件
echo <ESSID> > <ESSID文件>

导入 ESSID
airolib-ng db --import essid <ESSID文件>

显示数据库信息
airolib-ng db --stats

将密码字典导入数据库。会自动剔除不合格的 WPA 密码:
airolib-ng db --import passwd <字典>

生成 PMK hash 表
airolib-ng db -batch

调用 PMK 哈希表进行密码破解
aircrack-ng -r db <cap文件>

1.1.5:bessid-ng

bessid-ng 可用于识别隐藏的无线网络。

  • 隐藏网络识别
  • 主动探测
  • 频道定位

1.2:JTR

John The Ripper(JTR),一个开源密码破解工具,支持基于规则扩展密码字典。

配置文件:/etc/john/john.conf

部分使用示例:

查看基于规则扩展的密码字典
john --wordlist=<基本字典> --rules --stdout

aircrack-ng 破解调用
john --wordlist=<基本字典> --rules --stdout | aircrack-ng -e <ESSID> -w - <cap 文件>

1.3:Evil Twin Attacker

Evil Twin Attacker 用于创建虚假无线网络,欺骗用户连接后,可以截获用户网络流量、收集敏感信息,进行中间人攻击等。

现在已被 Wifipumpkin3 取代。

官方网站:https://github.com/P0cL4bs/WiFi-Pumpkin-deprecated

1.4:Wifipumpkin3

Wifipumpkin3,用于无线网络渗透。

主要功能:

  • 热点伪装
  • Evil Twin 攻击
  • 中间人攻击

官方网站:https://wifipumpkin3.github.io/

1.6:Fern-WiFi-Cracker

Fern-WiFi-Cracker,一款图形化无线网路渗透综合工具。

  • 图形化界面
  • 密码破解
  • 字典攻击
  • 握手包破解
  • 网络扫描

在这里插入图片描述

1.7:Kismet

Kismet,开源无线网络探测和监控工具,用于扫描、跟踪和分析附近的无线网络。可用于无线侦查。

  • 无线网络扫描
  • 实时监控
  • 设备跟踪

基本命令
kismet [选项]

1.8:Reaver

Reaver 主要用于利用 WPS 漏洞来破解受保护的无线网络密码。

部分命令如下:

快速破解 PIN 码
reaver -i <网卡接口> -b <BSSID> -vv -c <信道> -K 1

爆破 PIN 码
reaver -i <网卡接口> -b <BSSID> -vv -c <信道>

使用 PIN 破解密码
reaver -i <网卡接口> -b <BSSID> -vv -p <破解的 PIN 值>

1.9:WiFite

WiFite 是一个用于自动化无线网络渗透测试的工具。

在这里插入图片描述

2:无线攻击类型

对于无线网络攻击,可分为以下类型:

  • MAC 地址绑定攻击
    绕过网络的 MAC 地址过滤措施。
  • WEP 攻击
    通过 WEP 的缺陷破解密码。
  • WPA PSK 攻击
    • STA - AP 攻击
      在 STA 与 AP 连接时进行攻击,抓取敏感数据破解密码。
    • 无 AP 攻击
      当 STA 不在已连接的 AP 范围内时,通过伪造 AP 抓包破解密码
  • WPA 企业攻击
    针对 WPA 企业的认证进行密码破解。
  • WPS 攻击
    通过 WPS 技术进行密码破解。
  • 无线侦查
    识别和收集某个区域内无线网络相关信息,绘制侦查地图。

3:MAC 地址绑定攻击

MAC 地址绑定,通过限制可以关联的客户端 MAC 地址。

  • 一些管理员误以为 MAC 绑定是一种安全机制。

如果发现无线网络是 open 认证,但无法连接,可以考虑是 MAC 地址绑定。

开启监听,使监听接口工作在与 AP 同一信道
airmon-ng start <网卡> <信道>

抓取指定 AP 数据包
airodump-ng <网卡接口> -c <信道> --bssid <BSSID>

通过观察连接上的 STA,修改相应的 MAC 地址
1、ifconfig <网卡接口> down
2、macchanger -m <mac地址> <网卡接口>
3、ifconfig <网卡接口> up

即可尝试连接。

4:WEP 攻击

WEP 密码破解原理

  • IV 并非完全随机
  • 每 224 个包可能出现一次 IV 重用
  • 收集大量 IV 后找出相同 IV 及其对应密文,分析得出共享密码
  • ARP 回包中包含 IV
  • 数据包足够多的情况下,任何复杂程度的密码都可以被破解

破解过程

  • 启动 monitor 模式
  • 启动抓包并保存抓包
  • Deauthentication 抓取 XOR 文件
  • 利用 XOR 文件与 AP 建立关联
  • 执行 ARP 重放
  • Deauthentication 触发 ARP 数据包收集足够 DATA 之后破解密码

在这里插入图片描述

WEP 破解需要首先伪造认证,以便与 AP 进行正常通信。

Deauthentication 攻击:

  • 强制客户端与 AP 断开关联
  • 重连生成 ARP 请求,AP 回包包含 IV
  • 重连过程抓取 4 步握手过程
  • 无客户端情况下此攻击无效

ARP 重放:

  • 侦听正常的 ARP 包并重放给 AP
  • 加速数据包获取
  • AP 回包中包含大量弱 IV

对于 64bit 密钥,建议抓 25 万个包
对于 128bit 密钥,建议抓 150 万个包

由于没有 WEP 加密的无线资源,仅记录思路步骤。

抓取指定 AP 数据包并保存
airodump-ng <网卡接口> -c <信道> --bssid <BSSID> -w <文件项目名>

在这里插入图片描述

在这里插入图片描述

如果是 wep 加密,在抓到 xor(用户身份认证)包时,还有如下一个文件(密文密钥流):

在这里插入图片描述

Deauthentication 攻击抓取 xor 文件
aireplay-ng -0 <攻击次数> -a <BSSID> -c <STA mac 地址> <网卡接口>

在这里插入图片描述

使用密文密钥流关联到 AP
aireplay-ng -1 <间隔时间> -e <ESSID> -y <密钥流文件> -a <BSSID> -h <网卡 mac 地址> <网卡接口>

开始 ARP 重放攻击
aireplay-ng -3 -b <BSSID> -h <网卡 mac 地址> <网卡接口>

触发 ARP 重放攻击
aireplay-ng -0 <攻击次数> -a <BSSID> -c <STA mac 地址> <网卡接口>

密码破解
aircrack-ng <cap 文件>

5:WPA STA - AP 攻击

WPA PSK 认证方式,生活中最常见的方式,如 Wi-Fi、热点等。

WPA 不存在 WEP 的弱点,只能暴力破解。

字典质量:

  • 网上共享字典
  • 泄露密码
  • 地区电话号码段
  • Kali 中自带的字典文件

PSK 破解过程:

  • 启动 monitor
  • 开始抓包并保存
  • Deauthentication 攻击获取 4 步握手信息
  • 使用字典暴力破解

抓取指定 AP 数据包并保存
airodump-ng <网卡接口> -c <信道> --bssid <BSSID> -w <文件项目名>

在这里插入图片描述

Deauthentication 攻击
aireplay-ng -0 <攻击次数> -a <BSSID> -c <STA mac 地址> <网卡接口>

在这里插入图片描述

攻击成功后抓取四步握手过程:

在这里插入图片描述

kali 自带的密码字典:
/usr/share/john/password.lst
/usr/share/wordlists/rockyou.txt

进行密码破解
aircrack-ng -w <字典> <cap 文件>

在这里插入图片描述

在这里插入图片描述

6:WPA 无 AP 攻击

如果 STA 曾连接过某个 AP,STA 会间隔发送探测该 AP 的数据包,尝试获取连接。

基于此,可以进行无 AP 攻击。但即使攻击成功获得密钥,也需要确定 AP 的位置。

在这里插入图片描述

无 AP 情况下的 WPA 密码破解

  • 启动 monitor
  • 开始抓包并保存
  • 根据 probe 信息伪造相同 ESSID 的 AP
  • 抓取四步握手中的前两个包
  • 使用字典暴力破解

伪造指定 ESSID 的 AP(open 认证):
airbase-ng --essid <AP 名> -c <信道> <网卡接口>

在这里插入图片描述

伪造 WAP1 的 AP
airbase-ng --essid <AP 名> -c <信道> -z <认证类型> <网卡接口>

伪造 WAP2 的 AP
airbase-ng --essid <AP 名> -c <信道> -Z <认证类型> <网卡接口>

伪造相应的 AP 后 STA 即会建立连接。
接下来的过程与 WPA STA - AP 攻击相同。

7:WPA 企业攻击

WPA 企业攻击与无 AP 攻击类似,但企业认证除了密码还需要用户名。需要伪造相应的 AP,并在攻击机上配置伪造证书。

参考文章:企业级WPA破解

8:WPS 攻击

WPS(Wi-Fi Protected Setup),用于简化无线网络设备连接的过程。
QSS(Quick Secure Setup),与 WPS 类似。

通过 WPS 或 QSS,用户可以使用 PIN 码、按键等方式快速建立连接,无需手动输入密码。

WPS 标准本身没有设计锁定机制,但目前多个厂商已实现锁定机制。

  • 很多厂家的无线路由器无法关闭 WPS 功能
  • 即使在 WEB 界面中关闭 WPS,配置也不会生效
  • 攻击难度相对较低,防御却十分困难

很多厂家实现了锁定机制,所以爆破时应注意限速。
一旦触发锁定,可尝试耗尽 AP 连接数,令其重启并解除 WPS 锁定。

发现支持 WPS 的 AP
方式一:wash -F -i <网卡接口>
方式二:airodump-ng <网卡接口> --wps

快速破解 PIN 码
reaver -i <网卡接口> -b <BSSID> -vv -c <信道> -K 1

只适用于固定厂商的芯片,成功率很低。

爆破 PIN 码
reaver -i <网卡接口> -b <BSSID> -vv -c <信道>

使用 PIN 破解密码
reaver -i <网卡接口> -b <BSSID> -vv -p <破解的 PIN 值>


末俗以繁华相尚,终觉冷淡处趣味弥长。

——《围炉夜话》(清)王永彬

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

clickhouse调研报告2

由Distributed表发送分片数据 clickhouse分区目录合并 clickhouse副本协同流程 clickhouse索引查询逻辑 clickhouse一级索引生成逻辑(两主键) clickhouse的data目录下包含如下目录: [root@brfs-stress-01 201403_10_10_0]# ll /data01/clickhouse/data total 4 drwxr-x---…

【webpack】动态配置cdn,多模板入口项目搭建

动态配置多模板 按照这个模板创建项目 安装glob,获取目录下的文件名称 封装方法utilsConfig&#xff0c;动态生产 page // pages 多入口配置 const path require("path");// glob 是 webpack 安装时依赖的一个第三方模块&#xff0c;该模块允许你使用 * 等符号, …

RaabitMQ(三) - RabbitMQ队列类型、死信消息与死信队列、懒队列、集群模式、MQ常见消息问题

RabbitMQ队列类型 Classic经典队列 这是RabbitMQ最为经典的队列类型。在单机环境中&#xff0c;拥有比较高的消息可靠性。 经典队列可以选择是否持久化(Durability)以及是否自动删除(Auto delete)两个属性。 Durability有两个选项&#xff0c;Durable和Transient。 Durable表…

图像 检测 - DETR: End-to-End Object Detection with Transformers (arXiv 2020)

图像 检测 - DETR: End-to-End Object Detection with Transformers - 端到端目标检测的Transformers&#xff08;arXiv 2020&#xff09; 摘要1. 引言2. 相关工作2.1 集预测2.2 Transformers和并行解码2.3 目标检测 3. DETR模型References 声明&#xff1a;此翻译仅为个人学习…

【VisualGLM】大模型之 VisualGLM 部署

目录 1. VisualGLM 效果展示 2. VisualGLM 介绍 3. VisualGLM 部署 1. VisualGLM 效果展示 VisualGLM 问答 原始图片 2. VisualGLM 介绍 VisualGLM 主要做的是通过图像生成文字&#xff0c;而 Stable Diffusion 是通过文字生成图像。 一种方法是将图像当作一种特殊的语言进…

SAS-数据集SQL水平合并

一、SQL水平合并基本语法 sql的合并有两步&#xff0c;step1&#xff1a;进行笛卡尔乘积运算&#xff0c;第一个表的每一行合并第二个表的每一行&#xff0c;即表a有3行&#xff0c;表b有3行&#xff0c;则合并后3*39行。笛卡尔过程包含源数据的所有列&#xff0c;相同列名会合…

mysql进阶篇(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

3.2用互斥元保护共享数据

概述 于是&#xff0c;你有一个类似于上一节中链表那样的共享数据结构&#xff0c;你想要保护它免于竞争条件以及可能因此产生的不变量损坏。如果你可以将所有访问该数据结构的代码块标记为互斥的&#xff08;mutually exclusive)&#xff0c;岂不是很好&#xff1f;如果任何线…

DuDuTalk:AI语音工牌在家装行业门店销售场景有何应用价值?

随着科技的不断发展&#xff0c;人工智能技术的应用也越来越广泛。作为人工智能技术的一种应用形式&#xff0c;AI语音工牌在家装行业门店销售场景中起到了重要的作用。本文将从AI语音工牌的定义、功能、应用场景以及优势等方面&#xff0c;探讨它在家装行业门店销售场景的应用…

Qt多线程编程

本章介绍Qt多线程编程。 1.方法 Qt多线程编程通常有2种方法&#xff1a; 1)通过继承QThread类&#xff0c;实现run()方法。 2)采用QObject::moveToThread()方法。 方法2是Qt官方推荐的方法&#xff0c;本文介绍第2种。 2.步骤 1)创建Worker类 这里的Worker类就是我们需要…

【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题

目录 背景 Windows Docker 安装 安装docker toolbox cmder 解决cmder 连接失败问题 资料获取方法 背景 时常有容器方面的需求&#xff0c;经常构建调试导致测试环境有些混乱&#xff0c;所以想在本地构建一套环境&#xff0c;镜像调试稳定后再放到测试环境中。 Windows …

音视频--视频数据传输

参考文献 H264码流RTP封装方式详解&#xff1a;https://blog.csdn.net/water1209/article/details/126019272H264视频传输、编解码----RTP协议对H264数据帧拆包、打包、解包过程&#xff1a; https://blog.csdn.net/wujian946110509/article/details/79129338H264之NALU解析&a…

汽车维修保养记录查询API:实现车辆健康状况一手掌握

在当今的数字化世界中&#xff0c;汽车维修保养记录的查询和管理变得前所未有地简单和便捷。通过API&#xff0c;我们可以轻松地获取车辆的维修和保养记录&#xff0c;从而实现对手中车辆健康状况的实时掌握。 API&#xff08;应用程序接口&#xff09;是进行数据交换和通信的标…

RocketMQ第二课-核心编程模型以及生产环境最佳实践

一、回顾RocketMQ的消息模型 ​ 上一章节我们从试验整理出了RocketMQ的消息模型&#xff0c;这也是我们使用RocketMQ时最直接的指导。 二、深入理解RocketMQ的消息模型 1、RocketMQ客户端基本流程 <dependency><groupId>org.apache.rocketmq</groupId>&…

以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)

注意&#xff1a;http_proxy和ajp_proxy的稳定性不如mod_jk 一.http_proxy方式 1.下载mod_proxy_html.x86_64 2.在apache下创建http_proxy.conf文件&#xff08;或者直接写到conf/httpd.conf文件最后&#xff09; 3.查看server.xml文件 到tomcat的安装目录下的conf/serve…

【word密码】word设置只读,如何取消?

Word文件打开之后发现是只读模式&#xff0c;那么我们如何取消word文档的只读模式呢&#xff1f;今天给大家介绍几种只读模式的取消方法。 属性只读 有些文件可能是在文件属性中添加了只读属性&#xff0c;这种情况&#xff0c;我们只需要点击文件&#xff0c;再次查看文件属…

命令模式(C++)

定义 将一个请求(行为)封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 应用场景 在软件构建过程中&#xff0c;“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合——比…

后端进阶之路——深入理解Spring Security配置(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ 解决算法&#xff0c;一个专栏就够了★ ★ 架…

CAD绘制法兰、添加光源、材质并渲染

首先绘制两个圆柱体&#xff0c;相互嵌套 在顶部继续绘制圆柱体&#xff0c;这是之后要挖掉的部分 在中央位置绘制正方形 用圆角工具&#xff1a; 将矩形的四个角分别处理&#xff0c;效果&#xff1a; 用拉伸工具 向上拉伸到和之前绘制的圆柱体高度齐平 绘制一个圆柱体&#…

golang 自定义exporter - 端口连接数 portConnCount_exporter

需求&#xff1a; 1、计算当前6379 、3306 服务的连接数 2、可prometheus 语法查询 下面代码可直接使用&#xff1a; 注&#xff1a; 1、windows 与linux的区分 第38行代码 localAddr : fields[1] //windows为fields[1] &#xff0c; linux为fields[3] 2、如需求 增加/修改/删除…