Reaver笔记及技巧

Submitted by Dot on Tue, 03/22/2016 - 18:29

Reaver是一个暴力破解WPS/QSS PIN码的程序。

PIN码由8位数字组成,最后一位是校验位,由前7位计算出。

PIN前4位与后4位分开验证,这意味着可以被分开破解。所以理论上最多尝试104+103=11000次即可得到PIN码。而通过PIN码可直接得到WPA密码。利用这一原理,破解开启了WPS/QSS的路由器密码只需数小时。

这正是Reaver做的事。

Reaver有两个必需参数:-i  网络接口  -b 目标BSSID,通常我们还要加上-vv让屏幕显示点东西,所以一个完整的命令应该是这样的:

reaver -i mon0 -b 12:34:56:78:9A:BC -vv

有时我们等不了数小时,不得不中止进程。好在Reaver的会话机制可以保存进度。

如果不带-s选项,会在当前目录生成以BSSID.wps命名的session文件,并将实时进度写入其中,下次启动Reaver时加上-s指定文件路径即可恢复进度。

进度是怎么保存的呢?看看session文件的结构就知道了。

文件共11003行,分三段:

  • 第1行第2行分别记录PIN码前4位与5-7位的破解进度,以当前尝试字串的行号表示,缺省0;第3行缺省为0,前4位破解,为1,5-7位破解,为2
  • 4-10003是破解前4位PIN码的字典
  • 10004-11003则是5-7位的字典

 

由此可以看出,我们能通过修改前两行的值来控制跑字典的起点。

这有什么用呢?比如说,如果知道PIN码第一位是9,我们把第一行改成9000,就能省掉前面的9000次尝试。

这个假设好像有些无聊。

那咱们来个实际点儿的。

如果我们开10个Reaver进程,各加载一个不同的session,十个session的第一行分别是0、1000、2000、3000、4000、5000、6000、7000、8000、9000,那么,理论上最多只用原本十分之一的时间即可得出前4位。看上去像这样:

287287

 

好像不太稳定,很多timeout很多failed。不过至少两个进度是没问题的:

287

 

最后说句题外话。百度上有种说法,airodump-ng的MB字段里带点,表示开了WPS。bullshit!

287

要用airodump-ng检测WPS,请加上--wps选项。

287

 

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.