coWPAtty for Windows MAIN: d; d. [2 u, ^& K9 \0 f
"coWPAtty is designed to audit the pre-shared key (PSK) selection for WPA networks based on the TKIP protocol." - Joshua Wright.
! [: Y; G e) q: H
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
$ z" X" C" J: p# H) ]; G
& g& L1 h& O4 ] X6 [Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
3 P& p1 \: i/ m) c b9 o" i# K6 B; G; ^" D6 b/ T
coWPAtty Dictionary Attack
6 \1 s# B' m5 T6 n" C7 A9 HPrecomputing WPA PMK to crack WPA PSK
" `4 x; ]: k) j$ T% AcoWPAtty Precomputed WPA Attack
! _3 u1 J; Y$ t
coWPAtty Recomputed WPA2 Attack
* o% b1 w: }/ D( o+ ~2 L0 S1 ncoWPAtty Tables
3 V; R: m5 I q' ZcoWPAtty Usage: Q# O7 B. @ W' j
) ] Z, R) b% m8 q: ^# O7 ~$ ~
' Q7 N E# W- C; ?; G. R
coWPAtty Dictionary Attack:
2 ~# a. r' p6 M5 aToperform the coWPAtty dictionary attack we need to supply the tool witha capture file that includes the TKIP four-way handshake, a dictionaryfile of passphrases to guess with and the SSID for the network.
J3 c+ N/ Q, K3 O8 H
In orderto collect the four-way handshake you can either wait until a clientjoins the network or preferably you can force it to rejoin the networkusing tools like void11 or aireplay and capture the handshakes usingsomething like kismet, ethereal or airodump.
2 { V6 d+ W/ o% hcowpatty -f dict -r wpapsk-linksys.dump -s linksys
: C$ K1 n1 b, o6 Q' q* I/ G
9 E/ U5 R1 X( k" T9 Y
! ?8 B9 }" y$ {, e% h& Y
2 \2 _, T* c) T
2 ]- }6 a7 F. q. QAs youcan see this simple dictionary attack took 51 seconds, we can speed upthis process by precomputing the WPA-PMK to crack the WPA-PSK (seebelow).
1 m! h @3 D$ }/ q
wpapsk-linksys.dump is the capture containing the four-way handshake
/ ~ k& J- {9 Q' I& {1 Udict is the password file
# q3 A7 B; _0 A: n* m) w% _linksys is the network SSID
4 K: e% a5 _ d1 {3 `/ N: K" N8 J
( p4 s# t M# C0 M1 v0 P4 QPrecomputing WPA PMK to crack WPA PSK:- q" N- G, | d2 [9 X% S2 n2 O
genpmkis used to precompute the hash files in a similar way to Rainbow tablesis used to pre-hash passwords in Windows LANMan attacks. There is aslight difference however in WPA in that the SSID of the network isused as well as the WPA-PSK to "salt" the hash. This means that weneed a different set of hashes for each and every unique SSID i.e. aset for "linksys" a set for "tsunami" etc.
) d: B0 t* J& O: m) N! S+ s
W1 }& J- {# {4 S& ASo to generate some hash files for a network using the SSID cuckoo we use:
6 O' M% y/ `" s# A8 ^5 Z
2 S0 A# ?, V- S/ M6 sgenpmk -f dict -d linksys.hashfile -s linksys
9 c, a: y' G) i8 M5 l& v. t
9 `3 |1 L0 U/ M, [6 [* U
0 f- A6 `1 K0 d9 H2 K: Q! Y: G
# H/ V! @5 R8 [6 @3 P: Z* ]dict is the password file
* u8 N8 k( v0 B" ~linksys.hashfile is our output file
: K& l# z, L8 ~linksys is the network ESSID
# H | j0 w) ~% {3 m7 D; o
3 L& g4 j6 s9 v8 ~1 x
coWPAtty Precomputed WPA Attack:: {" S' @" O' E3 X) l# r
Now wehave created our hash file we can use it against any WPA-PSK networkthat is utilising a network SSID of cuckoo. Remember the capture(wpa-test-01.cap) must contain the four-way handshake to be successful.
0 P. e. w. c* M2 m* u" j+ z4 h- l% N, Q% q9 y
cowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
: v6 D* s1 H2 d0 I) F1 @

* i* R$ {% E8 f) @, U8 L; K
: c5 z7 O3 }- R+ q$ N2 W7 Qwpa-test-01.cap is the capture containing the four-way handshake
$ v2 u0 C8 ]& U) O( C
linksys.hashfile are our precomputed hashes
5 O9 n3 U$ @' C s+ J
linksys is the network ESSID
- v0 i7 I2 M& n3 u# r: O
4 n( B6 n* w: Q# K8 U, DNotice that cracking the WPA-PSK took 0.04 seconds with the pre-computed attacked as opposed to 200 secondswith standard dictionary attack mode, albeit you do need to pre-computethe hash files prior to the attack. However, precomputing large hashfiles for common SSIDS (e.g. linksys, tsunami) would be a sensible movefor most penetration testers.
+ q K4 w/ R' l0 l' e4 K0 Q& P6 y0 G
/ t' M& Z" ~# I/ I4 i2 ]0 z- CcoWPAtty Precomputed WPA2 Attack:, l* T5 Y, R' x% }' Q- A' f
coWPAtty4.0 is also capable of attacking WPA2 captures. Note: The same hashfile as was used with the WPA capture was also used with the WPA2capture.
. A; R- ?$ c( M3 [# o( Zcowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
z3 M' u) y. b D; G0 d, N

' E$ c; x" z- M7 @/ p7 n! V0 p x u2 i( T% F; w- `
wpa2psk-linksys.dump is the capture containing the four-way handshake
; V" ~+ }" J' T% \
dict is the password file
& {9 K- m2 n, b# H, d* W. E
linksys is the network SSID
+ W" O; N1 x" z7 m9 l6 F6 @3 M2 l3 s; b& S& X
coWPAtty Tables:
. v, T) E2 w* B0 iThe Church of Wifi have produced some lookup tables for 1000 SSID's computed against a 170,000 word password file. The resultant table are approximately 7 Gigabytes in size and can be downloaded via Torrent:
& `# A4 I% {: N2 U; K2 V- v8 g. s5 U/ v
http://torrents.lostboxen.net/co ... atty-4.0_2006-10-19
, I% `3 {7 D/ w3 R. N* u5 {
3 H9 S* Z. O3 _; f4 W- G% F& wA 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/
4 _ @) E9 y$ g8 m6 L# K% v, s {% h9 C* n: `
Or you can buy them via DVD, direct from Renderman (initiator of the project): http://www.renderlab.net/projects/WPA-tables/: I- N7 Z1 p! u1 F