我对无线网络的各种协议没有研究,所以这里不讨论,只是通过网上的教程,选择合适的工具,在已有的硬件条件下提高破解效率。选择工具的原则很简单,有中文的就绝对不用英文的,有带界面的就绝对不用命令行的,有开源的就绝对不用花钱的,有 Windows 版的就绝对不用 Linux 版的。。。总之,怎么简单怎么来。
接下来,开始行动。
准备工作
先说一下大概的流程:扫描无线网—获取握手包(抓包)—暴力破解握手包(跑包)—得出密码。 其中,抓包和跑包是最关键的两个步骤,可能耗费大量的时间,还有些运气成分。
主要工具: CDLinux:小型的 Linux 系统,用于抓包,中文带界面,可以放到U盘中;
hashcat:异常强大的密码破解工具,支持 GPU 加速,除了支持破解 WPA,还能破解 md5、zip 等密码;
U盘:运行 CDLinux,保存抓包文件,容量在512M以上;
带无线网卡的 PC 机:笔记本或者有外置无线网卡的台式机均可,最好有独立显卡,可以提高跑包效率。
辅助工具: UltraISO、BOOTICE、grldr 和 menu.lst,用于从U盘启动 CDLinux。
相关工具下载地址:关注微信公众号回复:Wifi密码破解实战之CDLinux使用教程
第一步:安装 CDLinux
需要用到 UltraISO、BOOTICE、grldr、menu.lst、CDLinux。
1. 格式化U盘,文件系统为 FAT32,卷标设置为 CDLINUX;
2. 运行 UltraISO,依次点击文件–打开–选择下载好的 CDLinux –打开;点击左上角窗口的 CDLINUX,将右侧窗口的 CDLinux 目录和 mkisofs.sh 文件复制到U盘根目录;
如下图所示:
注意,此时还不能从U盘启动;
3. 关闭 UltraISO,把 grldr 和 menu.lst 两个文件复制到U盘;
4. 运行 BOOTICE.EXE,目标磁盘选择U盘,然后点击主引导记录,选择 GRUB4DOS,点击 安装/配置,新窗口中,选中 禁止搜索软盘上的 GLLDR、禁止按 C 无条件进入命令行控制台、禁止引导分区别表无效的原引导记录,引导文件名输入 GRLDR(自动转大写),然后点击写入磁盘,提示成功后点击确定。
5. 关闭 BOOTICE.EXE,将U盘插到带无线网卡的电脑上,开启无线网卡,重启电脑,选择从U盘启动。
第二步:抓包
需要用到已经安装 CDLinux 的U盘。
1. 进入到 CDLinux 的桌面后,运行 minidwep-gtk,图标在左下角,像水滴一样,弹出的警告窗口点 OK;
2. 点击扫描按钮,附近的无线网络信息都会显示出来;
3. 优先选择信号强并且有客户端的无线网络:
第三列,强度,都是负数那一列,越接近0表示信号越强;
最后一列,客户端 MAC,有 MAC 地址时,容易抓包;如果没有,调整天线位置,重新扫描;
4. 点击启动,开始抓包;有没有握手包,完全看运气,所以尽量在上网高峰时段抓包,成功率更高;
5. 抓到握手包时,会提示是否搜索密码,选择 NO,一会用别的工具跑包;
6. 然后会提示文件保存在 /tmp 目录下,点击 OK 后,提示是否保存到硬盘分区,将类似 MAC 地址_handshake.cap.hccap 的文件保存好,我这保存为 A8_handshake.cap.hccap,一会跑包时会用到。
第三步:跑包
需要用到 hashcat。
跑包是整个过程的重中之重,核心思路就是穷举密码,暴力破解。这个环节很耗时,我尝试过若干工具均不理想,速度太慢,完全不能用于实际操作。
如果要穷举所有密码,肯定不现实。想一下我们常用的密码,基本是8位纯数字,所以我们先从8位纯数字密码入手。hashcat 刚好符合要求,在 GPU 加速的情况下,跑8位纯数字密码大约15分钟,在可接受的范围,帮助文档和官方 Wiki 足够详细,照着例子抄就能跑起来。
解压 hashcat-3.30.7z,将刚才保存的握手包 A8_handshake.cap.hccap 拷贝进来,以管理员身份启动 cmd,进入到 hashcat 目录; 新建批处理 Run.bat,并编辑,将下面的内容复制进去并保存:
hashcat64.exe -m 2500 -a3 A8_handshake.cap.hccap #d#d#d#d#d#d#d#dpause
大概解释一下各个参数作用:
-m 2500:破解 WPA2 密码
-a3:暴力破解
A8_handshake.cap.hccap:握手包文件
#d#d#d#d#d#d#d#d:每个 #d 表示数字,连在一起表示8位纯数字
pause 是批处理命令,防止 hashcat 运行结束后自动退出。
其余详细的参数信息,参考 hashcat 的帮助提示,因为内容非常多,滚屏查看很不方便,所以需要将帮助信息重定向输出到文件中:
hashcat64.exe --help > help.txt
查看 help.txt 就方便多了。
运行 Run.bat,然后就是等待了,这是运行时的样子:
这次运气不错,很快就跑出来了,耗时三分半钟。很明显,密码是8位出生年月日:
下面两张图,是破解11位纯数字密码和8位数字字母标点混合密码所需要的时间:
总结
1. 8位纯数字密码不要再使用了,太容易被破解了;
2. 大小写混合字母 + 数字 + 标点符号,即使位数较少,也比位数更长的纯数字密码更难破解;
3. WPAWPA2 密码并非绝对安全,但是增加密码复杂度可以提高破解难度;推荐密码为字母+标点+数字,这样输入起来比较方便;
4. 抓的包越多,破解的成功率越高;
5. 我想换4路 GTX1080。。。
尾巴
实践是检验真理的唯一标准。
纸上得来终觉浅,绝知此事要躬行。
。。。。。
破解 WIFI 密码从失败到成功,从成功到写成记录,每一步都比想象的要曲折。最早看的教程,以破解 WEP 的密码为主,号称100%破解,可是悲催的我发现,周围根本就没用 WEP 加密的。后来流行一阵子破解 pin 码,尝试了一下,结果到99%时卡死了,原因好像是路由器挂了。。。每次充足的准备之后,都是意料之外的结局。包括制作启动U盘的部分,随手做完竟然没有记录,在收藏夹翻到的教程竟然是错的。还好,这些都成为了故事。所以么,无论做什么,只要方向正确,持续尝试,及时纠错,再加上一些运气,结局都不会太差。
以上就是全部的破解过程,更高级的生成字典、生成 Hash Table 文件加速破解留着以后再研究。最后感谢我的邻居,为我提供了完善的测试环境。。。好人一生平安!