@


本系列侧重方法论,各工具只是实现目标的载体。

命令与工具只做简单介绍,其使用另见《安全工具录》。

本文以 kali-linux-2023.2-vmware-amd64 为例。

无线网卡使用 MT7612u 芯片。

无线渗透与其他章节独立,涵盖面广。

无线技术变化快,难度大。

理论是本章最有价值的部分。

1:相关工具

1.1:Aircrack-ng

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

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

  • 网络检测
  • 嗅探抓包
  • 包注入
  • 密码破解
工具 描述
airmon-ng 将网卡设定为监听模式
airodump-ng 无线数据包嗅探
aireplay-ng 数据包注入 / 抓包工具,可以根据需要创建特殊的无线网络数据报文及流量
aircrack-ng 字典攻击,破解密钥
airbase-ng AP 伪造,用于攻击客户端而不是接入点本身
airdecap-ng 通过已知秘钥解密处于加密状态数据包
airtun-ng 创建虚拟管道
airolib-ng 保存、管理 ESSID 密码列表
packetforge-ng 创建数据包注入用的加密包
tkiptun-ng WPA / 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 值>


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

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

《Kali渗透基础》14. 无线渗透(四)的更多相关文章

  1. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  2. Kali Linux 秘籍/Web渗透秘籍/无线渗透入门

    Kali Linux 秘籍 原书:Kali Linux Cookbook 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 Github Git@OSC 目录: 第一章 安装和启动Kali ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持

    Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...

  5. kali linux之无线渗透

    无线技术变化大,难度大,既新鲜刺激,又压力山大.一半协议  一半理论 无线技术特点: 行业发展迅猛 互联网的重要入口 边界模糊 安全实施缺失而且困难 对技术不了解造成配置不当 企业网络私自接入ap破坏 ...

  6. 域渗透基础之NTLM认证协议

    域渗透基础的两个认证协议ntlm和Kerberos协议是必须总结的~ 这篇简单总结下ntlm协议 晚上写下kerberos 0x01 NTLM简介 NTLM使用在Windows NT和Windows ...

  7. 全能无线渗透测试工具,一个LAZY就搞定了

    近来一直在研究无线安全方面的东西,特别是在无线渗透测试这块,每次渗透测试时总要来回不停的切换操作和挑选利器,很是麻烦.就想看看是否可以有一款功能全面的集合型工具. 正所谓功夫不负有心人,还真有这么一个 ...

  8. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

  9. 十四. Python基础(14)--递归

    十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...

  10. 无线渗透wep加密路由器

    停掉网络服务 service network-manager stop 检查现在的环境适不适合使用airmon-ng airmon-ng check 杀死可能冲突的进程 开启网卡monitor模式 a ...

随机推荐

  1. 牧云 • 主机管理助手|正式开放应用市场,梦幻联动雷池WAF等多款开源软件

    0x00 前言 上个月,我司长亭开源了雷池WAF,不到三天就吸引了超过上千个师傅使用,几个交流群里,师傅们讨论的热火朝天,其中两个话题引起了我们牧云 • 主机管理助手 ( Collie ) 团队的关注 ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (26)-- 算法导论5.1 1题

    一.证明:假设在过程 HIRE-ASSISTANT 的第 4 行中,我们总能决定哪一个应聘者最佳.则意味着我们知道应聘者排名的全部次序. 文心一言: 证明: 假设在过程 HIRE-ASSISTANT ...

  3. C++面试八股文:C++中指针、引用、解引用和取地址有什么不同?

    某日小二参加XXX科技公司的C++工程师开发岗位2面: 面试官:指针.引用.解引用和取地址是C++中的重要概念,请问它们在语法和语义上有所不同? 小二:指针是一个变量,它存储了一个内存地址. 小二:引 ...

  4. 9.3. Hibernate框架

    Hibernate是一个开源的持久层框架,它可以帮助我们将Java对象映射到数据库表中,并实现对象的持久化操作.Hibernate提供了丰富的API,可以方便地进行CRUD(增删改查)操作,而无需手动 ...

  5. Java中打印对象输出的字符串到底是什么?

    前言 我们在进行 Java 编程时,经常要打印对象,有的是查看是否拿到了该对象,有的是查看该对象中的数据.打印输出的却是一知半解的字符串,那么这个字符串是怎么来的?代表什么?我们如何打印出对象中的数据 ...

  6. 【Python】sqlmodel: Python 数据库管理ORM 的终极形态?

    ORM 大家都知道ORM(Object Relational Mapping)是一种将对象和关系数据库中的表进行映射的技术,它可以让开发者更加方便地操作数据库,而不用直接使用SQL语句. 直接使用SQ ...

  7. 通过redis学网络(1)-用go基于epoll实现最简单网络通信框架

    本系列主要是为了对redis的网络模型进行学习,我会用golang实现一个reactor网络模型,并实现对redis协议的解析. 系列源码已经上传github https://github.com/H ...

  8. celery笔记四之在Django中使用celery

    本文首发于公众号:Hunter后端 原文链接:celery笔记四之在Django中使用celery 这一篇笔记介绍一下如何在 Django 系统中使用 celery. 如果是想纯粹使用 celery, ...

  9. SPSS统计教程:卡方检验

    本文简要的介绍了卡方分布.卡方概率密度函数和卡方检验,并通过SPSS实现了一个卡方检验例子,不仅对结果进行了解释,而且还给出了卡方.自由度和渐近显著性的计算过程.本文用到的数据"2.2.sa ...

  10. 前端vue uni-app基于uQRCode封装简单快速实用全端二维码生成插件

    快速实现基于uQRCode封装简单快速实用全端二维码生成插件; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12677 效果图 ...