我对无线网络的各种协议没有深入研究,因此本文不会涉及这方面的内容。但是,通过网上的教程,我们可以选择适当的工具,在现有的硬件条件下提高破解效率。在选择工具时,我们有一些简单的原则:绝对不使用英文界面的工具,只选择中文界面的;绝对不使用命令行工具,只选择带有图形界面的工具;绝对不花钱,只选择开源工具;绝对不使用Linux版,只使用Windows版。总之,我们要尽量选择简单易用的工具。接下来,让我们开始行动。
准备工作
首先,让我简要介绍一下整个流程:扫描无线网络-获取握手包(抓包)-暴力破解握手包(跑包)-得出密码。其中,抓包和跑包是最关键的两个步骤,可能需要花费很长时间,并且有一定的运气成分。
主要工具:
- CDLinux:这是一个小型的Linux系统,用于抓包。它带有中文界面,并且可以将其放入U盘中使用。
- hashcat:这是一个非常强大的密码破解工具,支持GPU加速。除了破解WPA密码外,它还可以破解md5、zip等密码。
- U盘:用于运行CDLinux,并保存抓包文件。建议容量在512M以上。
- 带有无线网卡的PC机:可以是笔记本电脑或者带有外置无线网卡的台式机。最好配备独立显卡,以提高跑包效率。
辅助工具:
- UltraISO、BOOTICE、grldr和menu.lst:用于从U盘启动CDLinux。
下载地址:
第一步:安装CDLinux
我们需要使用UltraISO、BOOTICE、grldr、menu.lst和CDLinux来完成这一步骤。
- 格式化U盘,将文件系统设置为FAT32,并将卷标设置为CDLINUX。
- 运行UltraISO,依次点击”文件”-“打开”,选择下载好的CDLinux文件并打开。
- 在UltraISO的左上角窗口中,选择CDLINUX,然后将右侧窗口中的CDLinux目录和mkisofs.sh文件复制到U盘的根目录中。如下图所示:
请注意,此时还不能从U盘启动。
- 关闭UltraISO,将grldr和menu.lst两个文件复制到U盘中。
- 运行BOOTICE.EXE,选择U盘作为目标磁盘,然后点击”主引导记录”,选择”GRUB4DOS”,点击”安装/配置”。在新窗口中,选中”禁止搜索软盘上的GLLDR”、”禁止按C无条件进入命令行控制台”、”禁止引导分区别表无效的原引导记录”,在”引导文件名”中输入”GRLDR”(自动转为大写),然后点击”写入磁盘”。在提示成功后,点击”确定”。
图片说明
- 关闭BOOTICE.EXE,将U盘插入带有无线网卡的电脑中,开启无线网卡,然后重启电脑并选择从U盘启动。
第二步:抓包
在这一步中,我们需要使用已经安装CDLinux的U盘。
- 进入CDLinux的桌面后,运行minidwep-gtk。该程序的图标位于左下角,形状像水滴。当弹出警告窗口时,点击”OK”。
- 点击”扫描”按钮,附近的无线网络信息将会显示出来。
- 我们首先选择信号强度较强且有客户端的无线网络。在第三列中,选择负数值越接近0的网络,表示信号越强。在最后一列中,选择有客户端MAC地址的网络,这样更容易抓包。如果没有客户端MAC地址,可以调整天线位置后重新扫描。
- 点击”启动”按钮,开始抓包。抓包的成功与否完全取决于运气,因此建议在上网高峰时段进行抓包,成功率会更高。
- 当抓到握手包时,会提示是否搜索密码。选择”NO”,我们稍后会使用其他工具进行跑包。
- 接下来,会提示将文件保存在/tmp目录下。点击”OK”后,会再次提示是否保存到硬盘分区。请将类似于MAC地址handshake.cap.hccap的文件保存好。在本文中,我将其保存为A8handshake.cap.hccap,稍后在跑包时会用到。
第三步:跑包
在这一步中,我们需要使用hashcat工具。
跑包是整个过程中最重要的一步,核心思路是穷举密码,进行暴力破解。这个过程可能非常耗时。我尝试过一些工具,但速度太慢,完全无法用于实际操作。如果要穷举所有可能的密码,显然是不现实的。我们可以先从8位纯数字密码入手,因为这是我们常用的密码之一。hashcat正好符合我们的要求,在GPU加速的情况下,破解8位纯数字密码大约需要15分钟,这在可接受范围内。hashcat的帮助文档和官方Wiki非常详细,按照示例操作即可运行。
首先,解压hashcat-3.30.7z,并将之前保存的握手包A8_handshake.cap.hccap复制到该目录下。然后,以管理员身份启动cmd,并进入hashcat目录。接下来,创建一个批处理文件Run.bat,并编辑它,将下面的内容复制并保存:
这里简要解释一下各个参数的作用:
其余详细的参数信息,请参考hashcat的帮助提示。由于内容非常多,滚屏查看不太方便,因此我们需要将帮助信息重定向输出到文件中:
查看help.txt文件会更方便。
运行Run.bat,然后只需等待。运行时的界面如下所示:
这次运气不错,破解速度很快,只用了三分半钟。很明显,密码是8位出生年月日:
下面的两张图显示了破解11位纯数字密码和8位数字字母标点混合密码所需的时间:
总结
- 不要再使用8位纯数字密码,因为它们太容易被破解。
- 大小写混合字母+数字+标点符号的密码,即使位数较少,也比位数更长的纯数字密码更难破解。
- WPA/WPA2密码并非绝对安全,但增加密码复杂度可以提高破解难度。建议使用包含字母、标点符号和数字的密码,这样输入起来更方便。
- 抓包的数量越多,破解成功的几率越高。
以上就是整个破解过程的详细步骤。更高级的生成字典和生成Hash Table文件加速破解的方法将在以后的研究中探讨。