Overview
Reaver implements a brute force attack against Wifi Protected Setup (WPS) registrar PINs in order to recover WPA/WPA2 passphrases, as described in Brute forcing Wi-Fi Protected Setup When poor design meets poor implementation. by Stefan Viehböck.
Reaver has been designed to be a robust and practical attack against Wi-Fi Protected Setup (WPS) registrar PINs in order to recover WPA/WPA2 passphrases and has been tested against a wide variety of access points and WPS implementations.
Depending on the target's Access Point (AP), to recover the plain text WPA/WPA2 passphrase the average amount of time for the transitional online brute force method is between 4-10 hours. In practice, it will generally take half this time to guess the correct WPS pin and recover the passphrase.
When using the offline attack, if the AP is vulnerable, it may take only a matter of seconds to minutes.
The first version of reaver-wps (reaver 1.0) was created by Craig Heffner in 2011.
reaver-wps-fork-t6x version 1.6.x is a community forked version which includes various bug fixes, new features and additional attack method (such as the offline Pixie Dust attack).
- The original Reaver (version 1.0 to 1.4) can be found in google code archives.
- The discontinued reaver-wps-fork-t6x community edition, reaver version 1.5.3, which includes the Pixie Dust attack, is now the old-master branch from this repository.
- The latest revison of reaver-wps-fork-t6x community edition is the master branch from this repository.
Reaver versioning was updated to 1.6.x in order to identify the new cycle.
All stable relases since the first beta version of reaver 1.6 can be downloaded from our Releases page. - More information about the Pixie Dust attack (including which APs are vulnerable) can be found in pixiewps repository, pixie dust thread in Kali forum))
Requirements
Build-time dependencies
- libpcap-dev
- build-essentials
Runtime-time dependencies
- pixiewps (optional, required for pixiedust attack)
- aircrack-ng (optional, though recommended)
Example
sudo apt -y install build-essential libpcap-dev aircrack-ng pixiewps
The example uses Kali Linux as the Operating System (OS) as pixiewps
is included.
You must already have Wiire's Pixiewps installed to perform a pixie dust attack, latest version can be found in its official github repository.
Setup
Download
git clone https://github.com/t6x/reaver-wps-fork-t6x
or
wget https://github.com/t6x/reaver-wps-fork-t6x/archive/master.zip && unzip master.zip
Locate the shell
cd reaver-wps-fork-t6x*
cd src
Compile
./configure
make
Install
sudo make install
Reaver Usage
```Reaver v1.6.4 WiFi Protected Setup Attack Tool Copyright (c) 2011, Tactical Network Solutions, Craig Heffner cheffner@tacnetsol.com
Required Arguments:
-i, --interface=
Optional Arguments:
-m, --mac=
Advanced Options:
-p, --pin=
Example: ./reaver -i wlan0mon -b 00:90:4C:C1:AC:21 -vv ```
Options description and examples of use can be found in the Readme from Craig Heffner. Here comes a description of the new options introduced since then:
-K or -Z // --pixie-dust
The -K
and -Z
option perform the offline attack, Pixie Dust (pixiewps
), by automatically passing the PKE, PKR, E-Hash1, E-Hash2, E-Nonce and Authkey variables. pixiewps
will then try to attack Ralink, Broadcom and Realtek detected chipset.
Special note: If you are attacking a Realtek AP, do NOT use small DH Keys (-S
) option.
User will have to execute reaver with the cracked PIN (option -p) to get the WPA pass-phrase.
This is a temporary solution and an option to do a full attack will be implemented soon
-p with arbitrary string // --pin=
See our wiki: Introducing a new way to crack WPS: Option p with an Arbitrary String
Wash Usage
Wash v1.6.3 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner
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]
-D, --daemonize Daemonize wash
-5, --5ghz Use 5GHz 802.11 channels
-s, --scan Use scan mode
-u, --survey Use survey mode [default]
-a, --all Show all APs, even those without WPS
-j, --json print extended WPS info as json
-h, --help Show help
Example:
wash -i wlan0mon
A detailed description of the options with concrete syntax examples can be found in Craig Heffner's wash readme.
About the new options:
-a // --all
The option -a
of Wash will list all access points, including those without WPS enabled.
-j // --json
The extended WPS information (serial, model...) from the AP probe answer will be printed in the terminal (in json format)
Notice that wash output can be piped into other commands. For more information see the wiki article Everything about the new options from wash
Acknowledgements
Contribution
Creator of reaver-wps-fork-t6x "community edition":
t6x
Main developer since version 1.6b:
rofl0r
Modifications made by:
t6_x
, DataHead
, Soxrok2212
, Wiire
, AAnarchYY
, kib0rg
, KokoSoft
, rofl0r
, horrorho
, binarymaster
, Ǹotaz
Some ideas made by:
nuroo
, kcdtv
Bug fixes made by:
alxchk
, USUARIONUEVO
, ldm314
, vk496
, falsovsky
, rofl0r
, xhebox
Special Thanks
Soxrok2212
for all work done to help in the development of toolsWiire
for developing PixiewpsCraig Heffner
for creating Reaver and for the creation of default pin generators (D-Link, Belkin) - http://www.devttys0.com/Dominique Bongard
for discovering the Pixie Dust attack.
Commit History @debian/1.6.4-0kali1
- Fix up changelog Mati Aharoni (Kali Developer) 6 years ago
- Upstream update Mati Aharoni (Kali Developer) 6 years ago
- Update upstream source from tag 'upstream/1.6.4' Mati Aharoni (Kali Developer) 6 years ago
- New upstream version 1.6.4 Mati Aharoni (Kali Developer) 6 years ago
- Import new upstream release Sophie Brun 6 years ago
- Update upstream source from tag 'upstream/1.6.3' Sophie Brun 6 years ago
- New upstream version 1.6.3 Sophie Brun 6 years ago
- Import new usptream release Sophie Brun 6 years ago
- Updated version 1.6.2 from 'upstream/1.6.2' Sophie Brun 6 years ago
- New upstream version 1.6.2 Sophie Brun 6 years ago