专栏首页FreeBufWifi密码破解实战

Wifi密码破解实战

声明:此文章仅供研究学习和技术交流,请勿用于破解他人 WIFI 密码!如果你有这些时间和精力,完全可以新买一坨无线路由器,何必蹭别人家的无线网!!!!

前言

网上类似的教程不少,但是大部分都是没讲完整,或者搭建一个足够简单的环境,使用类似123456这样的简单密码,导致的结果是,看教程感觉很容易很顺利,可实际操作起来才发现困难重重。

经常听说,WIFI 密码要设置复杂一些,可是复杂的密码使用时很不方便,最重要的是,复杂密码就能保证自己的 WIFI 绝对安全吗?为了消除这些疑虑,我决定亲自尝试一下。

我对无线网络的各种协议没有研究,所以这里不讨论,只是通过网上的教程,选择合适的工具,在已有的硬件条件下提高破解效率。

选择工具的原则很简单,有中文的就绝对不用英文的,有带界面的就绝对不用命令行的,有开源的就绝对不用花钱的,有 Windows 版的就绝对不用 Linux 版的。。。总之,怎么简单怎么来。

接下来,开始行动。

准备工作

先说一下大概的流程:扫描无线网—获取握手包(抓包)—暴力破解握手包(跑包)—得出密码。 其中,抓包和跑包是最关键的两个步骤,可能耗费大量的时间,还有些运气成分。

主要工具: CDLinux:小型的 Linux 系统,用于抓包,中文带界面,可以放到U盘中;

hashcat:异常强大的密码破解工具,支持 GPU 加速,除了支持破解 WPA,还能破解 md5、zip 等密码;

U盘:运行 CDLinux,保存抓包文件,容量在512M以上;

带无线网卡的 PC 机:笔记本或者有外置无线网卡的台式机均可,最好有独立显卡,可以提高跑包效率。

辅助工具: UltraISO、BOOTICE、grldr 和 menu.lst,用于从U盘启动 CDLinux。

下载地址:https://pan.baidu.com/s/1bo4Xw0f

第一步:安装 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. WPA\WPA2 密码并非绝对安全,但是增加密码复杂度可以提高破解难度;推荐密码为字母+标点+数字,这样输入起来比较方便;

4. 抓的包越多,破解的成功率越高;

5. 我想换4路 GTX1080。。。

尾巴

实践是检验真理的唯一标准。

纸上得来终觉浅,绝知此事要躬行。

。。。。。

破解 WIFI 密码从失败到成功,从成功到写成记录,每一步都比想象的要曲折。最早看的教程,以破解 WEP 的密码为主,号称100%破解,可是悲催的我发现,周围根本就没用 WEP 加密的。

后来流行一阵子破解 pin 码,尝试了一下,结果到99%时卡死了,原因好像是路由器挂了。。。每次充足的准备之后,都是意料之外的结局。包括制作启动U盘的部分,随手做完竟然没有记录,在收藏夹翻到的教程竟然是错的。

还好,这些都成为了故事。所以么,无论做什么,只要方向正确,持续尝试,及时纠错,再加上一些运气,结局都不会太差。

以上就是全部的破解过程,更高级的生成字典、生成 Hash Table 文件加速破解留着以后再研究。最后感谢我的邻居,为我提供了完善的测试环境。。。好人一生平安!

谢谢观看!祝鸡年大吉吧!!!

本文分享自微信公众号 - FreeBuf(freebuf),作者:schip

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-02-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在密码重置请求包中添加X-Forwarded-Host实现受害者账户完全劫持

    今天分享的这篇Writeup为作者通过利用目标网站“忘记密码”功能,在重置密码请求发包中添加X-Forwarded-Host主机信息,欺骗目标网站把重置密码的链...

    FB客服
  • TLS 1.3遇上麻烦了

    近期,研究人员发现了一种新型的Bleichenbacher攻击变种,而这种新型的加密攻击可以破坏加密的TLS流量。

    FB客服
  • 我是如何获取全域用户明文密码的?

    简介 在组策略之外,Windows 允许你自定义密码策略,滥用这个机制可以实现一些恶意行为。今天为大家科普下 当我们按下 CTRL + ALT + DEL,修改...

    FB客服
  • 网络安全自学篇(十六)| Python攻防之弱口令、自定义字典生成及网站暴库防护

    免责声明:本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安全+的观点,若有无意侵权或转...

    天钧
  • 六大原则 动态代理

    代理模式中,中介类与委托类的关系,在编写中介类时就确定了。中介类会控制对委托类对象的访问,。 装饰者模式的装饰关系是在运行时才知道,比如下面的代码。

    平凡的学生族
  • 位运算权限控制

    大家玩Linux的时候应该知道读1写2执行4,其实这样的数据都是因为位运算 比如:在网站中经常使用的权限控制(增删改的权限)[很多大公司都是使用这个] 使用三位...

    苦咖啡
  • 网站安全登录 web应用安全登录 密码 防截获

    用户1258909
  • WCF版的PetShop之三:实现分布式的Membership和上下文传递

    通过上一篇了解了模块内基本的层次划分之后,接下来我们来聊聊PetShop中一些基本基础功能的实现,以及一些设计、架构上的应用如何同WCF进行集成。本篇讨论两个问...

    蒋金楠
  • CentOS 7 sytemctl 自定义服务开机启动

    CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得系统服务的/etc/init.d的启动脚本的方式发生...

    阳光岛主
  • 2019-07-10

    协作障碍是业务应用开发项目的时间线中,最终结果的主要贡献者从业务设计团队到软件开发人员转移的一个时刻。

    吾真本

扫码关注云+社区

领取腾讯云代金券