Wireless password cracking has been around for a long time, when done by "Whitehats" (the good guys) it is to expose a flaw so that manufacturers can fix the flaw, when done by "Blackhats" (the bad guys) it's at best to use your internet for free, at worst to gain access to your computer and everything else in you home (LAN) network.
A little bit of history, when wireless access was introduced back in 1997 it was fully accepted that only those with the password would be able to connect to the router and that all information between the device and the router should be private. Wired Equivalent Privacy (WEP) was introduced, its intention was to provide data confidentiality comparable to that of a traditional wired network. It didn't take long before it was revealed the password could be found in minutes.
Along came Wi-Fi Protected Access (WPA) in 2003 closely followed by WPA2 a year later, much more secure and things looked good.
.gif)
Then in 2006 along came WPS, press a button enter an 8 digit number and you're connected. Oh dear.
.gif)
In 2011 Crag Heffner of Tactical Network Solutions released a program called Reaver that exploited this flaw. (For those interested I'll explain the flaw at the end ).
Next came Bully, based on the Reaver progam but more aggressive in the brute force attack. Then along came Dominique Bongard who found further flaws in certain chip manufacturers equipment, namely Broadcom, Realtek, Ralink, MediaTek and Celeno, and the Pixie Dust Attack was born, soon incorporated into both Bully and Reaver and now seconds, not minutes to find your password.
.gif)
Most, if not all vendors of routers who use these chips have pushed out firmware updates to stop this exploit but if in doubt check that WPS is disabled in your router. As an aside those that use their own routers make sure your fimware is up to date for it.
Now to the point of this thread.
If you use ISP supplied equipment then the format of the WiFi password is well known. For instance in the UK Sky routers use A-Z and are 8 letters long,
Virgin Media use a-z again 8 letters (except the new Superhub 3) BT use a-f and 34678 for a total of 10 digits. There is now a community website where a .cap file can be uploaded (I'll explain in a mo) and the default password can be found within 3 days.
So, what's a .cap file? (Foggy I'm trying to keep this simple for the non-tekkies).
Every time you connect a device to your router there is what is called a 4 way handshake. Basically your device calls the router and asks to connect, the router asks who you are, you give the password and the router says "Yes OK"
Within that 4 way handshake contains the password, to find it takes a lot of processing power but the community site must have it to produce results so quickly.
Bottom line, if you have ISP supplied equipment change that default password, preferrably use a phrase you like and remember. Keep yourself safe!
.gif)
Now for the tekkies.
How does Reaver (and the Bully derivative) work?
WPS relies on an 8 digit pin to be entered to connect so that should equate to a combination of 10^8 (100,000,000) combinations but it doesn't. The last number is a checksum based on the previous 7 numbers so is a given number. So that leaves 10^7 (10,000,000) combinations, it'll still take 106 days at one try per second? Wrong again.
The pin is split into 2. So get the first 4 correct and then the router will ask for the last 4. Now we only have to guess the first 4 to progress, that's 10^4 or 10.000 numbers, once we get that right than all we have to find is the next 3 or 10^3 or 1000 (don't forget the last is a given based on the previous 7) so we end up with 11,000 possible tries to get the correct pin and be given the password. Do the math yourself, 11,000 at 1ps = x hours.
Pixie Dust Attack.
Important parts of a WPS exchange: M1, M2, M3, other
Enrollee Nonce
PKE Public Key (Enrollee Public Key)
Registrar Nonce
PKR Public Key (Registrar Public Key)
E-Hash1 = HMAC-SHA-256(authkey) (E-S1 | PSK1 | PKE | PKR)
E-Hash2 = HMAC-SHA-256(authkey) (E-S2 | PSK2 | PKE | PKR)
Authkey [derived from the KDK (Key Derivation Key)]
E-Hash1 is a hash in which we brute force the first half of the PIN.
E-Hash2 is a hash in which we brute force the second half of the PIN.
HMAC is a function that hashes all the data. The function is HMAC-SHA-256.
PSK1 is the first half of the router's PIN (10,000 possibilities)
PSK2 is the second half of the router's PIN (10,000 possibilities)
PKE is the Public Key of the Enrollee (used to verify the legitimacy of a WPS exchange and prevent replays.)
PKR is the Public Key of the Registrar (used to verify the legitimacy of a WPS exchange and prevent replays.)
and it only takes seconds.