在openwrt路由器上跑reaver破解wifi(附reaver用法详解)

声明:本文仅作无线安全审计之用,请勿用于非法用途

 

熟悉pin破解的同学应该知道reaver是个好东西,然而开着电脑跑reaver既不环保又不节能,关键没有可用的usb网卡的时候就比较蛋疼。但路由就有一堆,所以琢磨着在路由上跑reaver试试。

由于自己的固件私货太多,把opkg都去掉了,所以就去openwrt官方下一个标准的固件,我这里以ar9331为例。下了个最新的cc版本固件连luci都没有的……

因为要在线联网安装软件……所以就要想办法联网……例如这样

连接外网_cr

不要吐槽我房子杂乱的布线……

首先当然是更新软件包列表……

如果软件包下载失败请自行扶墙……我的上级路由是拆过墙的……

先把管理界面装了

安装成功应该和我一样:

安装luci

 

嗯……改密码开wifi什么的就不说了……

然后安装这几个包(一个个装,不要急)


然后发现我们的主角reaver竟然没有在线安装,其实之前是有的,后来自从bb版本就去掉了,估计是这玩意传播影响不太好?不过我们还是可以在aa版本或者bb版本的oldpackage里面找到下载链接(这里以ar971xx为例,其他的自己可以翻翻http://downloads.openwrt.org):

于是我们使用以下命令下载安装:

成功安装应该和我一样:

reaverinstall


然后接下来就是常规的reaver使用教程了~

首先查看可用无线网卡

airmon-ng

嗯,我这里是wlan0。然后启用wlan0的监控模式:

mon0

看起来成功挂载在mon0上了。接下来我们扫描下附近都有些什么wifi……

扫描的wifi信号

嗯……这附近的信号真是多_(:3」∠)_(按Ctrl+C中止扫描)

然后我们尝试用wash命令看看哪些wifi支持pin破解:

wash-nossid

然后瞬间逗逼了,什么都没有!能扫描出这么多信号首先说明路由器网卡是工作正常的,难道我周围一个wifi都不支持wps吗??现在wifi都这么先进了卧槽?

我不信,于是我拿起了我的手机(刷的miui系统,我的手机支持5G和2.4G)来扫描下:

可使用wps

看到红圈的地方没,支持WPS!也就是说,我周围支持pin破解的wifi不少!MIUI系统的wifi列表真是太人性化了_(:3」∠)_

既然是支持的为啥扫描不出来呢?我再随便找了个支持的wifi来尝试运行reaver破解:

尝试使用reaver随便pin一个wifi

真是日了狗了,一堆FAIL是什么情况……(按Ctrl+C中止)


后来想想可能是库文件的问题毕竟reaver是基于aa版本的openwrt生成的,使用太新的库可能会不正常。经过一番探索,发现是libpcap搞的鬼,把他换回aa版本的1.1.1就好了。附上下载链接:

下载之后把ipk后缀改成tar.gz就可以解压出来提取库文件去上传替换新版本的libpcap了。当然也可以执行我这个精心构造的命令脚本:


好了,现在我们再来用wash命令尝试扫描下支持pin破解的wifi:

wash成功了

卧槽看到没,一堆一堆的……

然后我们再随便找个wifi来用reaver尝试pin一下……

reaver测试很好!成功了!!!pin工作很正常!

接下来就是reaver的一些命令的使用方法了,有兴趣可以往下看~

Usage原文:

Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <[email protected]>

Required Arguments:
-i, –interface=<wlan> Name of the monitor-mode interface to use
-b, –bssid=<mac> BSSID of the target AP

Optional Arguments:
-m, –mac=<mac> MAC of the host system
-e, –essid=<ssid> ESSID of the target AP
-c, –channel=<channel> Set the 802.11 channel for the interface (implies -f)
-o, –out-file=<file> Send output to a log file [stdout]
-s, –session=<file> Restore a previous session file
-C, –exec=<command> Execute the supplied command upon successful pin recovery
-D, –daemonize Daemonize reaver
-a, –auto Auto detect the best advanced options for the target AP
-f, –fixed Disable channel hopping
-5, –5ghz Use 5GHz 802.11 channels
-v, –verbose Display non-critical warnings (-vv for more)
-q, –quiet Only display critical messages
-h, –help Show help

Advanced Options:
-p, –pin=<wps pin> Use the specified 4 or 8 digit WPS pin
-d, –delay=<seconds> Set the delay between pin attempts [1]
-l, –lock-delay=<seconds> Set the time to wait if the AP locks WPS pin attempts [60]
-g, –max-attempts=<num> Quit after num pin attempts
-x, –fail-wait=<seconds> Set the time to sleep after 10 unexpected failures [0]
-r, –recurring-delay=<x:y> Sleep for y seconds every x pin attempts
-t, –timeout=<seconds> Set the receive timeout period [5]
-T, –m57-timeout=<seconds> Set the M5/M7 timeout period [0.20]
-A, –no-associate Do not associate with the AP (association must be done by another application)
-N, –no-nacks Do not send NACK messages when out of order packets are received
-S, –dh-small Use small DH keys to improve crack speed
-L, –ignore-locks Ignore locked state reported by the target AP
-E, –eap-terminate Terminate each WPS session with an EAP FAIL packet
-n, –nack Target AP always sends a NACK [Auto]
-w, –win7 Mimic a Windows 7 registrar [False]

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

 

参数详解(原创):


使用实例

假设目标路由MAC是00:90:4C:C1:AC:21,信道为6,名字为TPLINK-0A9F,监控接口是mon0

普通用法

推荐用法:

 

当信号好到爆表的时候,加个不延迟参数:

信号非常好的时候,只要0.5延迟:

信号很差的时候……


关于进度保存位置,1.3版本的reaver默认保存在/etc/reaver/[目标路由MAC].wpc

1.4版本(路由装的是1.4)默认保存在/usr/local/etc/reaver/[目标路由MAC].wpc。

经过我实测,路由装ipk的版本的保存位置是你运行命令的目录(如果你没有用参数去指定的话),一般是/root/,下面有很多wpc文件。/etc/reaver有个reaver.db文件,应该与进度无关。


 

总结

一、网卡监控模式挂载

首先查看可用无线网卡,一般路由器自带的就是wlan0

使用内置网卡的话要把wlan0停掉

airmon-ng

然后是挂载网卡为监控模式,

 

mon0

二、关于信号的选择

1 先用wash命令列出可进行pin的AP列表

注意,wash出来的信号不一定是支持wps的,用电脑或者手机查看是最准确的。

wash成功了

2用手机查看哪个wifi信号比较强并且可以进行wps的(如果自带的wifi列表不方便查看的话可以下载一个叫 wifi分析仪 的软件)

可使用wps

 

wifi分析仪

3如果没有手机的话可以使用命令

 

扫描的wifi信号

查看那个信号比较好(信号是负数,表示越接近,-60比-80信号好,一般超过-80是很难连上的了,普通信号-60到-70是极限了,-60到-50是一般的信号,-30到-40是不错的信号)

三、关于Screen命令的使用

screen命令的作用是你离开ssh之后,可以关闭电脑,在后台开一个screen,这样在你下次登入ssh的时候恢复一下screen就可以看到离开前的进度了。

实例:

然后在screen里面随便做点什么:

screen做点什么

嗯,然后这时我想去逛个街把电脑先关了,那么我可以按下Ctrl+A+D来暂时退出这个Screen会话:

screen退出

可以看到退出的时候提供了这个screen的id:17067

好了,我现在逛完街回来了,打开电脑连接ssh路由,然后键入

然后就回到我们原来的screen会话啦~!

screen恢复

如果你想退出当前screen可以输入exit,当然screen还有很多组合键可以使用,这里提供个列表:

Ctrl+a+?显示所有键绑定信息
Ctrl+a w显示所有窗口列表
Ctrl+a+C-a切换到之前显示的窗口
Ctrl+a+c创建一个新的运行shell的窗口并切换到该窗口
Ctrl+a+n切换到下一个窗口
Ctrl+a+p切换到前一个窗口(与C-a n相对)
Ctrl+a+0..9切换到窗口0..9
Ctrl+a+a发送 C-a到当前窗口
Ctrl+a+d暂时断开screen会话
Ctrl+a+k杀掉当前窗口
Ctrl+a+[进入拷贝/回滚模式

原文链接:https://03k.org/openwrt-reaver.html

本站博文无特别声明均为原创,转载请注明原文链接。本站软件均搜集自互联网,供学习研究之用,请下载后24小时内删除。

疑问OR交流点我加QQ群喵喵喵!


  1. yueduz Google Chrome 49.0.2623.105 Android 5.1.1

    找到问题了,是没有在路由web管理页将无线网卡设为监听模式,所以频道被锁定了,只能扫描通道6。我现在能扫描哪些ap支持破解了,可是开始破解的时候说: Failed to assoctate with 40:33:df(tp_sdf),一直重复这个

    回复
  2. winsel Firefox 44.0 Windows 7 x64 Edition

    wr703n ar9331的CPU,其他都行,就是reaver命令跑不动pin码

    回复
    1. kissshot Google Chrome 45.0.2454.101 Windows 10 x64 Edition

      跑不动pin码可能跟目标路由器有关,也可能是芯片兼容性,像8187这类兼容性会好点。

      回复
      1. winsel Firefox 45.0 Windows 7 x64 Edition

        谢谢,我下载试试…

        回复
  3. yueduz Google Chrome 49.0.2623.105 Android 5.1.1

    请问你这是什么路由器?用的openwrt是什么版本

    回复
    1. kissshot Google Chrome 37.0.2049.0 GNU/Linux x64

      普通的ar9341/ar9331路由,用的openwrt官网的snapshot固件。
      其实用usb挂卡的方式效果会更好,不过还得买usb的路由和特定芯片网卡。

      回复
      1. yueduz Firefox 45.0 Android 5.1.1

        使用 15.05 版 装了1.1的libpcap ,还是无法扫描。无解了。

        回复
        1. kissshot Google Chrome 45.0.2454.101 Windows 10 x64 Edition

          你可以用aa版的openwrt试试

          回复
  4. holybug Google Chrome 47.0.2526.106 Windows 7 x64 Edition

    写的太好了!找了几天,只有你这个对新手最有指导性和可操作性,照着一步一步做下来成功了!感谢!

    回复
  5. 大米 Google Chrome 45.0.2454.101 Windows 10 x64 Edition

    這教學對我太有用了,感謝你的無私奉獻

    回复

发表评论

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