使用reaver破解WPA加密的WiFi网络

Frank发布

索引
[隐藏]

我们经常可以在无线路由器的宣传中看到这样的内容:


传统的破解WPA加密的方式是抓到足够多的cap包,然后用字典进行暴力猜解。但前提是必须要有一个足以包含世界上所有奇奇怪怪的密码的强大字典。之后 WPS(WiFi Protected setup)的出现使得设置无线加密更加便利,但事实上,它给破解WiFi密码提供了一个新的思路。如果目标路由器标有“可使用WPS”等字样,那么恭喜,你可以使用本文所述的方法进行破解。P.s.网传目前被破的主要是TP-LINK的路由器,你可以在【这里】通过BSSID查到目标路由的制造商。
本文所述的环境虽然是树莓派,但是如果你使用一台普通的Linux PC,这篇教程同样适用,但是在某些命令上会有些差别。
本文所述内容仅用于研究网络安全相关内容,入侵他人局域网络是违法行为!

准备工作

硬件

  1. 树莓派一台(raspbian wheezy)
  2. TPLINK无线网卡(芯片为ath9k,用于破解)
  3. 一个强劲的电源以及有源USB HUB
  4. 散热设备(如果需要)

我把全套装备都塞进一个盒子里,在家的时候放在书柜顶上插着电运行,出门的时候放在包里走到哪黑到哪,闷声作大死的必备神器。

软件

  1. aircrack及其依赖
  2. reaver及其依赖
  3. macchanger(用于伪造MAC地址,可选)
  4. sshd(raspbian自带)
  5. 相关驱动及编译环境
  6. screen (用于使ssh中运行的进程不随ssh连接断开而被终止)

环境配置

  • 安装一大堆软件包:

  • 编译安装aircrack:

  •  编译安装reaver

 

搜寻目标AP

启动网卡监听模式

(由于在RPi上实机运行时没有截图,以下的截图是在Linux Mint16 虚拟机中截得,反正都基于Debian,大同小异。)

  • 查看网卡是否被识别

  •  查看驱动是否正确加载

  • 查看自己的网卡是哪个接口(interface)并将其bring up,我的是wlan0。

  • 在wlan0启动监听模式,然后系统会给你回显监听模式在哪个接口上被启动了(通常是mon0)

 

获取目标AP信息并确认其支持WPS

  • 开始抓包


这时候你需要把网卡摆到最佳的位置(但是不建议使用延长线),让PWR(信号强度)尽可能地高,记住BSSID和CH栏显示的数字(信道),然后按Ctrl+c终止。
还有最重要的,你需要确定目标路由器支持WPS 。怎么来确定呢?如果你的系统中有WASH或wlash,你可以使用它们,如果没有,你只需要打开Android手机中的WLAN,手机上会显示目标路由是否支持WPS。

【更新:上图中的MB一栏显示的内容,官方文档是这么解释的:

MB :Maximum speed supported by the AP. If MB = 11, it’s 802.11b, if MB = 22 it’s 802.11b+ and higher rates are 802.11g. The dot (after 54 above) indicates short preamble is supported. Displays “e” following the MB speed value if the network has QoS enabled.

AP支持的最高速率。如果值为11,则AP为802.11b标准;如果值为22则是802.11b+,更高的是802.11g标准。后面的点代表支持短序文(short preamble)(我的理解是验证pin时先验证前四位?我也不清楚….)。e代表路由器开启了QoS(因为貌似只有802.11n支持QoS,所以基本可以确定是802.11n标准)

所以按我的理解就是:攻击带有.和e的路由器成功率更高?…我也是猜的,如果你知道明确的答案请告诉我 (>^ω^<)】

一切准备停当之后,就可以祭出神器reaver了

使用适当的参数启动reaver

注意:如果你使用ssh的话,请在screen中运行reaver。

(-b后面换成你的目标路由的BSSID )(-i 后面换成监听模式运行的接口)(-c后面换成目标使用的信道)

(这是我使用的参数,你可以根据实际情况进行调整,尤其是目标的信号强度一般的情况下,请务必去掉-S 参数,并在-d和-t参数中设置较长的延时)

各项参数

Example:
reaver -i mon0 -b 00:90:4C:C1:AC:21 -vv


然后就是漫长的等待……(在运行中你可以随时按ctrl+c终止reaver,它会自动保存当前进度,下次你输入同一个BSSID时reaver会自动加载上一次保存的进度)
…………………………
…………………………
…………………………
在等待的时间里我们来了解下reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup 也就是WPS)的一个弱点,WPS可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码认证的一个缺陷。因此只要有足够的时间,它就能破解WPA或WPA2的密码。PIN码分前4和后4,先猜解前4位,只有一万个组合,再猜解后4位中的前3位,只有一千个组合,一共就是一万一千个密码组合。 当reaver确定前4位PIN后,进度将直接跳至90.9%。猜解出整个8位数字的pin之后,就可以直接得到psk。

【更新:如果你想了解更多,请参考 这个网页 和 这个

破解的速度取决于信号强度以及目标路由器的安全设置,还有信道的拥挤程度。官方文档说reaver通常会运行4-10小时来解出pin,但实际上我在信号满格(同一位置,手机上)的情况下运行了一天一夜+大半天。

成功

当进度达到100%时,你会得到一个大礼包,也就是如下的画面,其中的WPA-PSK就是密码。
(这是在RPi实机运行时用VNC截的图)

故障排除

reaver会根据目标的当前状态来调整猜解的速度和配置,所以在过程中并不需要一直盯着它的运行状态,但是你也还是需要时不时地看一下,确保reaver没有报错或卡死

报错

  1. 出现failed to associate with XX:XX:XX:XX:XX:XX ,说明目标路由器不支持WPS。
  2. 出现failed to re-initialize interface mon0,这有可能是你的网卡掉线造成的,把网卡重新插上并从头执行所有指令。【尤其是在使用树莓派的时候,当你遇到这个报错,检查你的电源和USB HUB的供电,我的两次掉线都是由这个引起的】
  3. 其他报错,比如我有一次遇到了Segmentation Fault…….原因及解决方法未知…..

卡死

如果运行到一定进度,发现窗口中显示的PIN码不变,进度也不走,那么恭喜你遇上死循环了。

  • 遇到卡死,如果进度不是在90%或者99%,首先尝试Ctrl+c并重新输入刚才的命令,如果程序继续运行,那么故障排除;如果没有,我也不知道怎么办。
  • 如果卡在90%的位置,说明前四位已解出,使用下面的命令

  • 如果卡死在99.99%,查看/etc/reaver/【目标MAC】.wpc文件,找出剩余的那个PIN(8位的完整pin),使用

如果一切正常可以直接显示结果。

  • 如果没有显示结果仍然卡死,那么可能是漏掉了正确的PIN码,使用

重跑后三位;如果仍然卡死,问题可能出现在前四位,只能删掉存档重新运行reaver,有必要的话设置参数把速度降下来。

还有一种情况

(本段来自网络,未亲测)
破密正常运行中,信号质量也很好的情况下,突然出现出现同码循环和大量timeout,可能是如下原因造成的(排除关机状态)。
reaver只支持11N的PIN破密,11n先验证前4位码,11g也有PIN功能,是全码验证。
现在多数AP的无线模式是混和11bgn,当有11g设备接入时,AP自动从11N降至11g,此时,reaver会出现同码循环重复timeout! 甚至会出现WARNING: Failed to associate with。实证中,在排除同频干扰因素后,通过扫描无线
网络,发现路由器,确实从54e.模式降为54.模式了。有人把此种现象称为临时性WPS、PIN功能自锁。

解决办法:

  1. 等待11g设备退出无线接入,断电重启。
  2. 使用mdk3向路由器发起攻击使其死机,迫使路由器主人重启。
  3. 终极大招:找到目标所在的人家,拉电闸再推上去。

18 条评论

STAN · 2014 年 9 月 18 日 下午 11:58

TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition

这样破,一般得多长时间

    Frank  Mod · 2014 年 9 月 19 日 上午 12:05

    WebView 4.0 WebView 4.0 Android 4.4.4 Android 4.4.4

    官方文档说4-10小时,我实际用了一天一夜+大半天。速度取决于目标信号强度和pin码。

      STAN · 2014 年 9 月 19 日 上午 12:13

      TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition

      所以我想带出去用 就不太现实了吧

        Frank  Mod · 2014 年 9 月 19 日 上午 12:19

        WebView 4.0 WebView 4.0 Android 4.4.4 Android 4.4.4

        那看是什么地方了。如果是常去的地方,一天破一点也没什么问题

猫箱内の巴托拉 · 2014 年 9 月 27 日 下午 10:18

Google Chrome 37.0.2062.103 Google Chrome 37.0.2062.103 Windows 7 x64 Edition Windows 7 x64 Edition

QAQ没钱……

    Frank  Mod · 2014 年 9 月 28 日 下午 10:46

    WebView 4.0 WebView 4.0 Android 4.4.4 Android 4.4.4

    QAQ(就是因为不想付额外的上网费所以才去蹭网的嘛

貍肽 · 2015 年 3 月 6 日 下午 11:27

Google Chrome 42.0.2311.4 Google Chrome 42.0.2311.4 Windows 8.1 x64 Edition Windows 8.1 x64 Edition

博主 编译安装aircrack 时候 无法编译。。。 求指导

common.mak:100 :cannot find development files for any supported version of libnl. install either libnl1 or libnl3 .. stop .

    Frank  Mod · 2015 年 3 月 8 日 上午 9:17

    WebView 4.0 WebView 4.0 HTC Sensation HTC Sensation

    那就照他说的去做。安装libnl1或libnl3。

寇蕾 · 2015 年 3 月 8 日 下午 10:38

Safari 8.0.3 Safari 8.0.3 Mac OS X  10.10.2 Mac OS X 10.10.2

求网卡具体型号。

    Frank  Mod · 2015 年 3 月 8 日 下午 11:20

    WebView 4.0 WebView 4.0 HTC Sensation HTC Sensation

    wl-wn322g+。上面的图片里显示的有。

      寇蕾 · 2015 年 3 月 9 日 下午 2:07

      Google Chrome 31.0.1650.63 Google Chrome 31.0.1650.63 Windows 7 x64 Edition Windows 7 x64 Edition

      没有细心看。。sorry

    Frank  Mod · 2015 年 3 月 8 日 下午 11:20

    WebView 4.0 WebView 4.0 HTC Sensation HTC Sensation

    不用纠结具体型号,只要是系统支持的芯片就可以。

      寇蕾 · 2015 年 3 月 9 日 下午 2:05

      Google Chrome 31.0.1650.63 Google Chrome 31.0.1650.63 Windows 7 x64 Edition Windows 7 x64 Edition

      阿里嘎都~

黄黑 · 2015 年 7 月 13 日 下午 11:41

Google Chrome 43.0.2357.81 Google Chrome 43.0.2357.81 Windows 7 x64 Edition Windows 7 x64 Edition

你好~我这里出现了airmon-ng start wlan0之后Driver 显示问号 ???

    Frank  Mod · 2015 年 7 月 14 日 上午 12:24

    Google Chrome 44.0.2403.84 Google Chrome 44.0.2403.84 Android 5.1.1 Android 5.1.1

    有截图吗

Mud_Egg · 2016 年 8 月 4 日 下午 1:49

Google Chrome 52.0.2743.82 Google Chrome 52.0.2743.82 Windows 10 x64 Edition Windows 10 x64 Edition

咦似乎很久了,那个我也是有显示问号,图片的话我发贴吧里了(就不另挂了
http://tieba.baidu.com/p/4711827365

    Frank  Mod · 2016 年 8 月 4 日 下午 3:46

    Google Chrome 52.0.2743.91 Google Chrome 52.0.2743.91 Android 7.0 Android 7.0

    有可能是网卡或者驱动不支持,试试用外置网卡吧。我笔记本的网卡也开不了监听模式。

      Mud_Egg · 2016 年 8 月 5 日 上午 11:34

      Safari 9.0 Safari 9.0 iPhone iOS 9.3.3 iPhone iOS 9.3.3

      似乎树莓派3的板载网卡是不支持监听…我另买吧

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha *

%d 博主赞过: