Wi-Fi 渗透测试 | 第一部分(网络基础)

admin 2025年6月15日23:50:51评论2 views字数 6142阅读20分28秒阅读模式

扫码领资料

获网安教程

Wi-Fi 渗透测试 | 第一部分(网络基础)
Wi-Fi 渗透测试 | 第一部分(网络基础)

Track安全社区投稿~  

赢千元稿费!还有保底奖励~(https://bbs.zkaq.cn)

在本文中,我们将搭建 Wi-Fi 渗透测试的环境,并了解 Wi-Fi 网络的基础知识。

环境搭建

概述、所需软件与硬件

本系列博客,特别是第 2、3、4 部分将是实践操作。为了进行所有的练习,我们需要搭建一个实验环境。搭建该实验环境需要以下内容:

硬件:
  • • 至少 8GB 内存的 Windows 或 Mac(主机)
  • • Windows 或 Mac(受害机)
  • • 路由器
  • • 支持监控模式和数据包注入的无线网卡
软件:
  • • VirtualBox 软件
  • • Kali Linux VirtualBox 镜像

在 VirtualBox 中安装 Kali Linux

我们将操作系统安装为虚拟机,因为即使虚拟机出现故障,也不会影响我们的主操作系统。在安装 Kali Linux 之前,我们需要先安装虚拟化软件,它允许我们在主机中创建多个虚拟计算机。这里我们使用 VirtualBox。

安装 VirtualBox

  • • 点击这里 下载 VirtualBox 软件
  • • 使用默认设置安装 VirtualBox 软件
注意:
  • • 要在 VirtualBox 中运行虚拟机,必须在笔记本电脑的 BIOS 中启用虚拟化功能

安装 Kali Linux

  • • 要安装 Kali Linux 镜像,请访问:https://www.kali.org/downloads/-https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download 下载 Kali Linux 64 位 VirtualBox 镜像
  • • 双击下载的文件,它将在 VirtualBox 中自动打开,然后点击“Import(导入)”
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 开始导入
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 完成导入后, 点击n “Settings” 并选择 “System”
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 分配内存 2GB 并点击 “Network”.
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 现在,点击启用网络适配器,在“连接方式(Attached to)”中选择“桥接适配器(Bridged Adapter)”,然后点击“确定(OK)”。
Wi-Fi 渗透测试 | 第一部分(网络基础)

启动你的虚拟机并探索 Kali Linux

将无线网卡连接到虚拟机

什么是无线网卡?

无线适配器是一种 USB 设备,可以连接到你的计算机,使你能够连接无线网络。大多数电脑和笔记本电脑都内置了无线网卡。

既然我们有内置无线网卡,为什么还需要外接无线适配器?

问题在于:首先,虚拟机无法访问内置无线网卡;其次,即使你将 Kali 安装在主机上,内置网卡也不适合用于黑客测试,因为我们需要一块支持“监控模式(Monitor Mode)”和“数据包注入(Packet Injection)”的高性能网卡。而大多数内置无线网卡并不支持这些模式,因此不能用于渗透测试。这也是为什么推荐使用高性能的外接 Wi-Fi 适配器。

Wi-Fi 渗透测试 | 第一部分(网络基础)

一些已在 Kali Linux 中测试过的 USB 无线网卡

现在让我们将无线适配器连接到 Kali Linux。

  • • 打开 VirtualBox,选择你想连接适配器的虚拟机,然后进入“设置”。
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 选择USB
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 检查是否启用了 USB,并且我们需要选择与你的 Wi-Fi 适配器兼容的 USB 类型。可能是 USB 1.1、2.0 或 3.0。我的适配器是 USB 3.0(我使用的是 ALFA AWUS 1900),然后在右侧点击“添加 USB”。
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 将你的 USB 无线网卡插入电脑端口,在此处选择它,然后点击“确定(OK)”。
Wi-Fi 渗透测试 | 第一部分(网络基础)
  • • 你可以看到你的USB设备已经连接好了,点击 “Ok”
Wi-Fi 渗透测试 | 第一部分(网络基础)
注意:
  • • 如果你看不到 USB 2.0 和 USB 3.0 的选项,请确保已安装 VirtualBox 扩展包
  • • 一些无线适配器是即插即用的,但有些适配器需要手动安装驱动程序。

网络基础

Wi-Fi 及其网络的基本理解

Wi-Fi,全称为无线保真(Wireless Fidelity),是一种无线网络技术,允许诸如计算机(笔记本和台式机)、移动设备(智能手机和可穿戴设备)以及其他设备(打印机和摄像头)连接互联网。它使这些设备及更多设备之间可以相互交换信息,形成一个网络。Wi-Fi 是通过空气传输信号的。

IEEE 802.11 标准

IEEE 802.11,也被称为无线保真(Wi-Fi),设计用于有限的地理区域(如家庭、办公楼、校园)。IEEE 802.11 Wi-Fi 的接入方式是 CSMA/CA(载波监听多路访问/冲突避免)。IEEE 802.11 使用多种频段,包括但不限于 2.4 GHz、5 GHz、6 GHz 和 60 GHz 频段。它定义了用于当前 Wi-Fi 无线设备(包括无线路由器和无线接入点)之间通信的协议。

802.11 Wi-Fi 数据帧

Wi-Fi 渗透测试 | 第一部分(网络基础)

帧控制(Frame Control) – 包含有关所使用协议、帧类型或安全类型的信息。

持续时间(Duration) – 指示该字段的传输将持续多久,让其他设备知道信道何时会再次可用。

地址 1(Address 1) – 来源/发送者的 MAC 地址。

地址 2(Address 2) – 发射者地址,通常指的是接入点(AP)的 MAC 地址。

地址 3(Address 3) – 接收者地址,也指接入点(AP)的 MAC 地址。

序列控制(Sequence Control) – 表示一个大包是如何被分片的。

地址 4(Address 4) – 目的 MAC 地址。

数据(Data) – 帧中承载的内容,例如 IP 数据包。

帧校验序列(Frame Check Sequence) – 一种错误检测机制,用于确保帧完整无误。

Wi-Fi 频段:2.4GHz 与 5GHz

Wi-Fi 网络中使用的两个主要频段是 2.4GHz 和 5GHz。

2.4GHz 频段 范围为 2.4GHz 到 2.4835GHz。该频段用于 802.11b、802.11g 和 802.11n 标准。2.4GHz 频段被划分为 14 个固定频率信道,每个信道宽度为 20MHz。

5GHz 频段 被 802.11a、802.11n 和 802.11ac 标准使用。5GHz 频段被划分为 UNII-1、UNII-2 扩展、UNII-3 和 ISM。UNII 代表“无许可证国家信息基础设施”,ISM 代表“工业、科学和医疗”。这些只是对频段不同部分的标签、规范和规定,例如 UNII-1 频段主要设计用于室内 Wi-Fi 网络。

Wi-Fi 安全协议:

  1. 1. WEP(Wired Equivalent Privacy,有线等效加密)这是最早用于无线网络的安全协议,开发于 1999 年,使用 40 位加密密钥。后来发现其加密方式存在严重漏洞,安全性极低。
  2. 2. WPA(Wi-Fi Protected Access,Wi-Fi 保护访问)为解决 WEP 的问题而开发。WPA 比 WEP 更强大,因为它使用了一种更强的加密方式——TKIP(临时密钥完整性协议)。TKIP 会动态更换密钥,确保数据完整性。但由于 TKIP 自身也存在漏洞,如今 WPA 已被淘汰。
  3. 3. WPA2为了提供比 WPA 更强的安全性而开发。WPA2 使用 AES(高级加密标准),AES 是一种对称加密算法,足够强大,可以抵御暴力破解攻击。
  4. 4. WPA3于 2018 年推出。根据官方 Wi-Fi 网站(https://www.wi-fi.org/),WPA3 为市场带来了先进的安全协议。WPA3 用“同时认证等值(SAE)”交换方式替代了传统的预共享密钥(PSK)交换,该方法最初引入自 IEEE 802.11s,在个人模式下实现了更安全的初始密钥交换,并提供了前向保密性。Wi-Fi 联盟还宣称,WPA3 可缓解弱密码带来的安全问题,并简化无显示界面的设备的设置流程。

理解接入点(AP)与客户端的通信方式(重要)

现在,我们来理解这些设备是如何在各个阶段建立连接并开始传输数据的。

Wi-Fi 渗透测试 | 第一部分(网络基础)

连接 Wi-Fi 网络的阶段

整个连接过程分为三个主要部分:

PROBE(探测阶段)

这是连接无线网络的第一阶段:

  1. 1. 探测请求(Probe Request,广播请求) – 当你开启 Wi-Fi 连接时,客户端会在所有信道上广播探测请求,用于寻找附近的接入点(AP)。
  2. 2. 探测响应(Probe Response) – 附近的接入点接收到请求后,会向客户端发送探测响应。这时你就能在设备上看到附近的 Wi-Fi 列表。

认证(AUTHENTICATION)

  1. 1. 认证请求(Authentication Request) – 当我们从列表中选择某个接入点后,客户端会向该接入点发送认证请求数据包。
  2. 2. 认证响应(Authentication Response) – 如果认证请求成功,接入点会发送认证成功的响应给客户端。

关联(ASSOCIATION,最终阶段)

  1. 1. 关联请求(Association Request) – 客户端向接入点发送该请求,表示它准备开始通信。
  2. 2. 关联响应(Association Response) – 接入点最终向客户端发送关联响应。

在这三个主要步骤完成后,数据传输就开始了。

在下方的图示中,我使用 Wireshark 抓取了我的手机与接入点(Wi-Fi)之间的连接请求数据包,你可以清晰地看到我们所讲到的每一个数据包。

Wi-Fi 渗透测试 | 第一部分(网络基础)

MAC 地址

什么是 MAC 地址?

媒体访问控制地址(MAC 地址)是一种硬件地址,用于唯一标识网络中的每个节点。它由设备制造商分配。MAC 地址在网络内部用于识别设备,并在设备之间传输数据。因此,网络中发送的每个数据包都包含源 MAC 地址和目的 MAC 地址。MAC 地址是12位十六进制数字(长度为48位)。

(制造商)MM-MM-MM-SS-SS-SS(序列号)

00 : A0 : C9 : 14 : C8 :29

为什么要更改 MAC 地址?

MAC 地址是每个网络设备唯一的物理地址,用于识别设备,改变它可以让你在网络中保持匿名。

如何隐藏 MAC 地址?

你可能会想,计算机的 MAC 地址是从硬件读取的,怎么能更改呢?实际上,你并不是修改硬件,而是修改内存。当计算机启动时,MAC 地址被加载到内存(RAM)中,我们更改的是已经加载到内存中的 MAC 地址。所以,当你更改了 MAC 地址,目标设备看到的就是伪造的 MAC 地址,他们就无法追踪你了。

如何更改 MAC 地址

从虚拟机启动 Kali 系统并打开终端。我将使用 ifconfig 命令列出机器上所有可用的网络接口。

Wi-Fi 渗透测试 | 第一部分(网络基础)

在上图中,你可以看到 eth0 是由 VirtualBox 创建的虚拟接口,lo 是 Linux 的默认接口,wlan0 是我们的无线网卡。

方法一(更改 MAC 地址)

现在,我们要更改 wlan0 接口中 ether 后面的 MAC 地址。要更改任何接口的值(如上图所示),首先必须禁用该接口。

禁用接口的命令是:ifconfig 后面跟接口名,再跟 down,用于禁用它。最终命令格式如下:

ifconfig <接口名> down(此命令会停止所有无线服务,且在更改网络卡的任何值之前必须先停止它)

接下来,我们要更改由 ether 表示的 MAC 地址。输入命令格式是:

ifconfig + 你想更改的接口名 + 你想更改的选项(这里是硬件地址 hw ether),然后跟上你想设置的新 MAC 地址。

命令格式:

ifconfig <接口名> hw ether <MAC 地址>(例如:ifconfig wlan0 hw ether 00:11:12:13:14:15,你可以用任意符合格式的地址,确保你的地址以 00: 开头)

最后,我们需要重新启用之前禁用的接口,命令是:

ifconfig <接口名> up

再次运行 ifconfig,你就能看到 MAC 地址已经被更改了。

Wi-Fi 渗透测试 | 第一部分(网络基础)
方法二(更改 MAC 地址)

Kali Linux 预装了一个名为 “macchanger” 的程序,它可以让我们更改已加载的 MAC 地址。

打开终端

首先,我们需要停止无线网卡,以便更改 MAC 地址。

ifconfig wlan0 down(与方法一相同)

然后输入以下命令:

macchanger –help(该命令调用 macchanger 并显示帮助信息,里面有程序的使用说明)

在我的例子中,我将使用随机 MAC 地址,输入:

macchanger –random wlan0

macchanger 是程序名称,–random 是选项,wlan0 是无线网卡。如果一切正常,屏幕应该会显示如下图所示内容。

Wi-Fi 渗透测试 | 第一部分(网络基础)

无线模式(管理模式与监听模式解释)

如果我们想破解 Wi-Fi,需要捕获“握手包(Handshake)”。这个握手是受害者电脑与无线网络之间的连接,有了这个握手包,我们就能破解密码和 Wi-Fi 名称(这将在第2部分进行)。

网络中所有数据都以数据包形式发送,网络设备通过 MAC 地址确保这些数据包朝正确的方向传输。所以,每个数据包都有源 MAC 地址和目标 MAC 地址,数据包从源头流向目的地。

既然 MAC 地址用来确保数据包传输到正确的位置,那么我们如何捕获这些数据包呢?

这只适用于无线网卡的默认模式,即“**管理模式(managed mode)”。

当我们处于 Wi-Fi 信号范围内时,能够捕获所有这些通信,因为这些数据包是在空气中发送的,即使这些数据包的目标 MAC 地址不是我们的,我们也能捕获到。

监听模式(monitor mode)允许无线网卡“监听”收到的所有数据包,不做任何过滤。在使用某些无线驱动时,此模式还允许发送原始的 802.11 帧。

要实现这一点,我们需要将无线接口的工作模式切换为监听模式。

Wi-Fi 渗透测试 | 第一部分(网络基础)

在上图中,我们可以看到该无线适配器的模式被设置为“managed”(管理模式)。这意味着,这是所有无线设备的默认模式,也就是说该设备只会捕获目标 MAC 地址是本设备 MAC 地址的数据包。简单来说,它只会捕获发送给我们 Kali 机器的数据包,但这并不是我们想要的。我们希望能捕获范围内所有的数据包,即使这些数据包是发给路由器的,或者目标是其他设备的。为此,我们需要将模式设置为“监听模式”(Monitor Mode)。

将无线网卡切换到监听模式

在更改接口选项之前,必须先禁用接口,我们可以使用以下命令:

ifconfig <接口名称> down

接下来可以启用监听模式,但在此之前,我们运行一个命令来终止可能干扰监听模式运行的进程。杀掉这些进程不是强制的,但这样做会让后续的攻击效果更好。命令如下:

airmon-ng check kill

运行此命令后,你会发现它会关闭网络管理器(Network Manager),因此会断开网络连接。不过没关系,因为只有在运行预连接攻击时才需要监听模式,这时不需要网络连接。(第2部分会有更多说明)

现在,启用监听模式:

方法一:

iwconfig <接口名称> mode monitor

方法二:

airmon-ng start <接口名称>

之后,像之前更改 MAC 地址时一样,重新启用接口:

ifconfig <接口名称> up (仅方法一需要执行)

我列出这两种方法,是为了让你更容易理解命令。运行下图中的所有命令后,你会看到模式已经成功切换为监听模式。

Wi-Fi 渗透测试 | 第一部分(网络基础)

方法1

Wi-Fi 渗透测试 | 第一部分(网络基础)

方法 2

注意:

  • • 模式切换为监听模式后,接口名称可能会变成 wlan0、mon0 或 wlan0mon0。所以这不是问题,只需根据运行 iwconfig 后显示的名称选择即可。
  • • 并非所有无线适配器都支持监听模式。
获取更多精彩内容,尽在Track安全社区~:https://bbs.zkaq.cn

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。

原文始发于微信公众号(白帽子左一):Wi-Fi 渗透测试 | 第一部分(网络基础)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月15日23:50:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Wi-Fi 渗透测试 | 第一部分(网络基础)https://cn-sec.com/archives/4167500.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息