引言
WEP (Wired Equivalent Privacy) 是一种过时且不安全的 Wi-Fi 安全协议。其主要弱点在于初始化向量 (Initialization Vectors, IVs) 的实现方式,IVs 在加密过程中被使用。通过捕获大量 IVs,攻击者可以分析它们来发现 WEP 密钥。
在本实验中,你将学习 WEP 攻击的第一个也是最关键的阶段:捕获包含这些有价值 IVs 的网络数据包。你将使用 airodump-ng,这是 Aircrack-ng 套件中的一个强大工具,来监控目标 WEP 网络并收集必要的数据。本实验为你理解 WEP 漏洞如何在实践中被利用奠定了基础。
启动 airodump-ng 针对 WEP 加密网络
在此步骤中,你将首先把无线网卡置于“监听模式”(monitor mode)。此模式允许网卡监听空中所有的 Wi-Fi 流量,而不仅仅是发往自身地址的流量。然后,你将使用 airodump-ng 来开始捕获特定目标网络的流量包。
首先,让我们在 wlan0 接口上启用监听模式。airmon-ng 命令用于此目的。它可能会创建一个新的虚拟接口,通常命名为 wlan0mon。
在你的终端中执行以下命令:
sudo airmon-ng start wlan0
输出将确认监听模式已启用。现在,你可以使用 airodump-ng 来针对特定网络。在本实验中,我们将假设我们的目标网络 BSSID 为 00:11:22:33:44:55,并且运行在信道 6 上。
运行以下命令。这将启动捕获过程,你的终端将充满关于目标网络的信息。
注意:此命令将占用你当前的终端窗口。你需要点击终端标签栏中的 "+" 图标打开一个新的终端来执行后续步骤。请保持此命令运行。
sudo airodump-ng --bssid 00:11:22:33:44:55 --channel 6 wlan0mon
--bssid 00:11:22:33:44:55: 此选项告诉airodump-ng只捕获来自此特定 MAC 地址接入点 (access point) 的流量包。--channel 6: 此选项指定目标网络所在的信道。wlan0mon: 这是我们处于监听模式的接口名称。
观察 airodump-ng 输出
在此步骤中,你将分析 airodump-ng 显示的信息。在你的第一个终端中,让上一步的命令继续运行,然后我们来检查它的输出。
airodump-ng 屏幕分为两个主要部分。上半部分列出了它检测到的接入点 (access points),下半部分列出了连接到它们的客户端。
以下是上半部分示例:
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 10 0 0 6 54 WEP WEP MyWEPNetwork
让我们来解析一下对我们任务最重要的几列:
BSSID: 接入点的 MAC 地址。PWR: 信号强度级别。数值越大(越接近 0),信号越强。Beacons: 这是接入点发送的管理帧,用于宣告其存在。#Data: 这是 WEP 攻击中最关键的一列。它统计了包含初始化向量 (IVs) 的已捕获数据包的数量。CH: 网络运行的信道。ESSID: Wi-Fi 网络的可读名称。
在有活跃用户的真实环境中,你会看到 #Data 计数稳定增加。每一次增加都代表捕获了一个新的 IV,让你离破解密钥更近一步。在本实验中,由于没有实时流量,该数字可能不会增加。
理解 IVs 在 WEP 破解中的重要性
在此步骤中,我们将花点时间来理解为什么收集数据包对于破解 WEP 加密如此重要。这是一个概念性的步骤,无需运行任何命令。
WEP 加密使用一个共享密钥,并结合一个称为初始化向量 (Initialization Vector, IV) 的 24 位值来加密每个数据包。IV 作为数据包的一部分以明文形式发送,这是一个根本性的设计缺陷。
这就是为什么这是一个问题:
- IV 大小有限: 24 位的 IV 意味着只有大约 1670 万个可能的 IV。在繁忙的网络中,这些 IV 会很快被重复使用。
- IV 重复使用: 当相同的 IV 与相同的密钥重复使用时,会在加密数据中产生可供分析的模式。
- 弱 IV: 这些 IV 中的一部分被认为是“弱的”。捕获到的弱 IV 会泄露少量关于密钥本身的信息。
WEP 攻击的核心原理是收集大量数据包,从中提取 IV,并分析这些 IV 的集合(尤其是弱 IV)来统计推导出原始 WEP 密钥。你在 airodump-ng 中观察到的 #Data 列,直接统计了你收集到的这些关键 IV 的数量。如果没有足够数量的 IV,像 aircrack-ng 这样的破解工具将没有数据可用,从而导致失败。
等待足够的数据包累积
在此步骤中,你通常需要等待 airodump-ng 中的 #Data 计数达到足够高的数字。这是真实世界 WEP 攻击中最耗时的部分。
多少 IV 才算“足够”?
- 对于 64 位 WEP 密钥(通常称为 40 位),你通常需要大约 5,000 到 10,000 个 IV。
- 对于 128 位 WEP 密钥(通常称为 104 位),需求要高得多,通常在 20,000 到 100,000 个 IV 之间,甚至更多。
你收集的 IV 越多,成功破解的概率就越高。在真实场景中,你会让 airodump-ng 进程持续运行,等待这个数字增长。为了加快速度,攻击者可能会执行“ARP 重放攻击”来主动生成大量流量,但这超出了本实验的范围。
在本实验中,我们将假设已经过去了足够的时间,并收集了足够数量的数据包。你现在可以继续进行最后一步,保存捕获的数据。
将包含 IVs 的捕获数据保存到文件
在最后一步,你将停止捕获进程并将所有收集到的数据保存到文件中。这个文件随后可以被其他工具(如 aircrack-ng)使用,以执行实际的密钥破解。
首先,回到运行 airodump-ng 的终端,按下 Ctrl+C 来停止它。
现在,我们将再次运行该命令,但这次会添加 --write(或 -w)选项来保存输出。这会告诉 airodump-ng 将所有捕获的数据包写入文件。
在你的终端中,运行以下命令。我们将捕获文件命名为 wep_capture。
sudo airodump-ng --bssid 00:11:22:33:44:55 --channel 6 --write wep_capture wlan0mon
让该命令运行几秒钟,然后按下 Ctrl+C 来停止它。
现在,使用 ls 命令查看在你的 ~/project 目录中创建的文件。
ls -l
你应该会看到几个以 wep_capture 开头的文件,包括 wep_capture-01.cap。
-rw-r--r-- 1 root root 1234 Jan 01 12:00 wep_capture-01.cap
-rw-r--r-- 1 root root 5678 Jan 01 12:00 wep_capture-01.csv
...
最重要的文件是 wep_capture-01.cap。这个 .cap 文件包含原始数据包数据,包括你收集到的所有 IV。它是 WEP 破解过程的主要输入。
总结
在本实验中,你成功完成了 WEP 攻击的第一阶段,也是最基础的阶段。你学会了如何使用 Aircrack-ng 套件中的工具来捕获破解 WEP 密钥所需的数据。
具体来说,你学会了:
- 使用
airmon-ng在无线接口上启用监听模式(monitor mode)。 - 使用
airodump-ng通过 BSSID 和信道来定位特定的 WEP 加密网络。 - 理解
airodump-ng的输出,特别是#Data列的重要性,该列统计了捕获到的初始化向量(IVs)数量。 - 认识到为什么需要大量的 IVs 来利用 WEP 协议的弱点。
- 将捕获的数据包数据保存到
.cap文件,该文件现在已准备好进行分析。
你创建的 wep_capture-01.cap 文件是此过程的关键产物。在后续的实验中,你将把这个文件输入到 aircrack-ng 中,以执行最后一步:破解 WEP 密钥。
