Wi-Fi 网络的安全性往往是容易被人忽视的重要问题,如果你使用了常见的弱口令密码,那么就非常容易被弱口令爆破,从而被“蹭网”

基本原理

弱口令爆破的基本原理很简单,主要是根据 Wi-Fi 的WPA/WPA2 加密协议所使用的 4 次握手协议来的:

4 次握手过程:

  1. 路由器发送随机数(Nonce)给客户端:作为加密密钥的一部分。
  2. 客户端使用随机数生成加密响应:发送回路由器。
  3. 路由器验证加密响应是否正确:如果正确,发送自己的确认信息。
  4. 客户端确认连接建立:会话密钥生成,开始加密通信。

在这个过程中,会产生握手包,包含了加密的密码校验值(由 Wi-Fi 密码和随机数生成)

Wi-Fi 网络中,握手包是在客户端设备和无线接入点(AP)建立安全连接时自动生成的。在以下情况下会触发握手:

  1. 初次连接网络:当设备输入正确密码并连接到无线网络时。
  2. 重新连接网络:当设备因任何原因断开后需要重新连接时。

握手包就是这次认证和加密密钥交换过程中交换的 4 次握手(Four-Way Handshake)数据。

通过强制断开连接,向目标客户端发送伪造的 Deauthentication 数据包,模拟无线接入点(AP)命令客户端断开连接。客户端在接收到这个假断开请求后,会认为连接已失效,并主动与路由器重新建立连接。

当目标设备尝试重新连接到无线网络时,Wi-Fi 协议会再次执行 4 次握手过程,用于:

  • 验证客户端的身份(基于 Wi-Fi 密码)。
  • 生成新的加密密钥以保护后续通信。

这时,监控模式下的无线网卡可以捕获到握手包

检查方法

检查的方式也很简单,首先需要安装网络安全工具 aircrack-ng,基本使用步骤如下:

  1. 启用无线网卡监控模式
    • 在终端输入命令:sudo airmon-ng start wlan0
    • 这会这会将无线网卡 wlan0 切换为监控模式,原来的 wlan0 接口就会被替换为 wlan0mon
    • 无线网卡通常有两种工作模式:托管模式(Managed Mode)和监控模式(Monitor Mode),托管模式下无线网卡连接到指定的 Wi-Fi 网络并只接收目标网络的数据包,监控模式能接收不同信道上的所有无线流量,无论数据包是否针对它
  2. 扫描附近的 Wi-Fi 网络
    • 在终端输入命令扫描 Wi-Fi 网络:sudo airodump-ng wlan0mon
    • 这将显示网络名称(ESSID)、MAC 地址(BSSID)、信号强度(PWR)等信息
    • 在搜索到想要的 Wi-Fi 后,ctrl+c 关闭搜索
  3. 捕获网络数据包
    • 选择目标 Wi-Fi 的 BSSID 和信道(CH),然后运行:sudo airodump-ng --bssid <BSSID> --channel <CH> --write capture wlan0mon
    • 这会将捕获的数据包保存到一个名为 capture-01.cap 的文件中
    • 这里需要注意,通常握手包不会自动发送,因此我们需要通过“断开设备连接”来强制握手:sudo aireplay-ng --deauth 10 -a <BSSID> wlan0mon,其中 10 表示断开 10 个数据包,提示 handshake 则表明成功捕获
  4. 字典破解密码
    • 下载字典并进行破解:sudo aircrack-ng -w /path/to/wordlist.txt -b <BSSID> capture-01.cap,其中 -w 是字典文件位置
    • 使用 hashcat 可以借用 GPU 的算力加速破解进程

如果上述方法没有成功破解你的密码,那么恭喜你,说明你的 Wi-Fi 不存在弱口令安全问题。同时为了进一步降低 Wi-Fi 的安全风险,可以设置 mac 地址的访问控制,只允许指定 mac 地址的电子设备访问,这样也多一道防护~