coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K4 D+ h6 z8 B) R
"coWPAtty is designed to audit the pre-shared key (PSK) selection for WPA networks based on the TKIP protocol." - Joshua Wright. ! j4 _$ I9 I$ ~6 {, C, a, _8 G: |/ f/ H X2 Q! c% J
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
1 s/ L; K- b- L
7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U v {3 x" v0 Q4 X6 @4 ]# Y7 J Q
Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [+ \( F' V; G# D
' u8 t9 G) I5 T @, v; T; I: n: ? j' q( k6 O' v
coWPAtty Dictionary Attack
3 h6 o, C! S" w( e: w+ v# i; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
4 U( @+ K- |* |5 T+ d
- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B: q: |; j& l) z6 c+ l# ]4 z
coWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k. N- Q; K: _' J2 \8 n
coWPAtty Tables
$ A* N" P% S9 W0 d" y2 ?1 d
+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K2 Z0 X5 W( B# Y* j* J
5 V! ~) Y/ b2 T- G1 @( R% h' \5 w5 R0 E$ e
8 g* d6 s' \ R# D: g* [- t/ D) N/ [' f( {
coWPAtty Dictionary Attack:
; m3 G0 B5 c- x& h' a1 c9 a, {2 P& p m( @ Toperform 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.
$ u! |4 _- ]- q# V9 g1 _6 x5 V$ c, m) e: q+ k# @% d 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.
0 u' ]8 p( o- ~% F; \1 z; Y$ Q; @& B7 o
( I" T4 O/ @' ~/ y; t2 D% I# t7 [$ ^cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p, S- e5 F E8 ?) Q
3 _& H1 X/ P N& ^" Z% A$ k: d( d) S5 l: ?3 _

8 O7 m: }0 N" M0 s, S: ^' f$ N( z, M6 d. m8 O- o% \* P$ a# [
5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e* c* d* [: q' U' N, j# U; v
As 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).
, M+ W6 X7 x2 \7 F* Y( K0 F# p/ S
1 ]# V* y8 Z8 Z5 O# L7 o" Cwpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M) y L9 G: k1 O- Y1 w
dict is the password file
B& R( A8 E) j5 \, ?& D" `. n; O4 Z9 @
linksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V _6 o$ t1 y% R5 [* h6 R! D
3 f: [" z; k3 X6 T3 Z
. d% e4 Y" N: [1 B2 S2 [$ w9 g* qPrecomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [- y7 P/ b6 Z% n D. }3 Z
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.
8 C1 \. q ?* F2 _9 P5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u
1 j ]4 I: ~6 T& f2 j9 B YSo to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y
, y ~( C$ y; A3 @ c0 Q- d6 F$ n* e0 x' C) z* Z- [
" K+ n$ f% }% L9 lgenpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L) v7 o; `4 G' n- H8 s2 u% x
) j7 L+ c) Q& {9 E
( E: Q' u1 `( T( K g( ~0 A 
4 A# D: H8 Z/ D) M3 K' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~1 P$ g9 a& M" T8 r0 I
dict is the password file
$ u! {* J: _; d0 ]
0 B5 }3 a0 h7 m' P7 [linksys.hashfile is our output file
, e% N$ C" [8 H2 r! }: m. s
% F" u( X V' o+ `9 `; P linksys is the network ESSID
1 \" M8 W+ G; c* ?2 q' ]" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b, l' G2 O8 b K- E D
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g* W b; v" W2 V$ J. b
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.
8 @ f& i$ s1 l+ \; n5 `! {& b! j* Z- `1 k
( Z' W) n7 _ A) X$ P: B. ?/ V% X4 H& N2 r7 _
cowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
0 p) j6 g% W5 Y6 Z/ q4 x
. w8 {, G( v' j# c8 G! n3 L! ? 
7 R- ~6 P8 u( S4 @ {
$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d
/ |* }* q$ Q0 S+ swpa-test-01.cap is the capture containing the four-way handshake
3 s- \, P' X/ d$ N& }! d0 l, P) j, `6 O) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
2 z1 ~" r6 v9 @9 j
/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~
4 x- f( q" }7 p) P/ k, l8 U% W, d/ K: u. o3 D- S7 K* ]: }
; ]- T+ p$ S3 i: FNotice 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.
0 j/ ]9 d9 M9 _& w- X% Z; e0 c- O
8 W& s, p' @& z Y; S$ D: l* x& q# {7 y
# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B
/ e4 r) c1 K% j, x0 \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.
+ i/ r. d: v7 `
% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
' _! }# @; k) G# N' Q+ x/ P
3 v0 F1 M' Z4 k# ~ 
3 y8 E" u [6 T4 X, N) Q0 |
& q, w6 i& b/ s( w% R3 c0 B4 e, f! w
9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
/ m" @1 X5 }* N' \$ ?5 C4 O- o: ^4 }! m. ~ dict is the password file
y+ p$ z4 j8 z. }7 ], X1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A; U: P6 D& C9 K& Y% n7 `) M
j( ]0 Z, W& G4 k/ Y F k# P2 |: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables:
- h7 l& Y( @" L1 @: B+ n& \$ D( p8 ?! h5 l% \6 E, G3 `" n9 g1 i( ?- AThe 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:
8 q' t) E+ q7 E. ]6 ~; D* L: Z. V* b( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w
2 V' n. |4 y7 J/ n. Y. Ehttp://torrents.lostboxen.net/co ... atty-4.0_2006-10-197 v4 [' B; B( d4 V+ K
2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n
/ ~1 r* W" Q( x; lA 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a
* H; @$ o% T6 n. q B" V- w- i' a
4 j1 N8 u) d+ W% V' ?2 W% rOr you can buy them via DVD, direct from Renderman (initiator of the project): http://www.renderlab.net/projects/WPA-tables/