coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K
! `" u, l4 j% @. I2 o/ `, e' C5 i"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, a8 Z0 { \% x% P3 C" [" l
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
$ P& z) X; F* P4 G9 y! r2 k8 c
7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U! V; d5 W: z3 Q& N
Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [
+ |4 w* W `: ?6 @3 W) w4 ?- B' u8 t9 G) I5 T @: z8 V" [# n# y
coWPAtty Dictionary Attack
9 z9 N( {' H4 D/ E" Y; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
8 x3 `2 T& [ P) Q' |! u5 Z0 g6 @- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B
' V/ D0 [) b7 gcoWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k, B2 q/ d* f; a$ L1 E
coWPAtty Tables
/ F- m2 W" @' l# y" w; k
+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K' l# M. B6 h( m: u* j2 j
5 V! ~) Y/ b2 T- G1 @
: [: b' l7 r i9 l$ }" F8 g* d6 s' \ R# D
( E, e7 @- y7 M. ZcoWPAtty Dictionary Attack:4 z& Y I3 d/ w+ d7 o
9 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.
3 _9 w0 T7 I7 M& r# w
9 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* ?7 ]$ g3 U/ G" p
cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p
G, q1 ~% j7 |8 H8 n& {" V4 l3 _& H1 X/ P N& ^" Z
8 e- S/ b! e0 X/ v! W1 R' y8 T2 s" `! g; |/ h, m# g
, S: ^' f$ N( z, M6 d. m9 [. |0 r$ k& o8 p) v6 i
5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e# b5 [: H3 C0 H% Q* ^
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
- _' N" M2 F4 r* T# |wpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M' l9 L* l: f* m
dict is the password file
B& R( A8 E) j5 \5 a5 L' U- `& ]5 `- w, I
linksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V
$ Y/ L% _% J7 Q5 R" }3 f: [" z; k3 X6 T3 Z8 Q8 e% j, I' l( c9 \7 ?
Precomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [
/ T; B! c4 f7 jgenpmkis 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.
3 c P8 Z# h1 F6 l* Q# X( \5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u
( f& k0 D) e5 l6 B2 G' Y- o1 CSo to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y' w$ C" }" y3 i% G" r4 ~8 e6 D
$ n* e0 x' C) z* Z- [
: J5 H' D. A. b+ o6 cgenpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L9 H* a; ?* Q9 w1 }; k9 d) U, K
* d& L' ^5 i! \& W4 F. T
( E: Q' u1 `( T( K g( ~0 A
# P5 y9 D& \7 e' @( i* v' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~
}" b' r6 m8 ?. X' _7 v; kdict is the password file
$ u! {* J: _; d0 ]/ h; s9 L1 ~. l2 X8 M j
linksys.hashfile is our output file
- O7 ~8 z$ a# Y& y& v' g6 [
% F" u( X V' o+ `9 `; P linksys is the network ESSID
) u) V7 \& C S% ]6 z
" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b4 j3 n1 Z& x" A
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g
0 @ g& b6 t9 Z3 l- p# eNow 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+ \; n
; d% E4 T6 r2 |/ G# z( Z' W) n7 _ A) X$ P: B% |, h# F, M& i) R1 e$ Z1 S1 p
cowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
2 ~; D1 r6 Y6 J: g4 X
. w8 {, G( v' j# c8 G! n3 L! ? ! y- n8 U+ J5 M* h6 L. a) \- B
$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d& V" I k" _# |& s8 {( S
wpa-test-01.cap is the capture containing the four-way handshake
+ X& W9 G. e, O
) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
) y) s3 W, J, o7 X0 \/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~- N. V7 u# ], m o9 b. t8 W& J
, d/ K: u. o3 D- S7 K* ]: }
! ?5 X1 R: e c$ yNotice 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.
2 W7 U0 L) V8 o3 A
8 W& s, p' @& z Y
* M* k8 u; _$ I ~# G" h( {: }# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B a; L$ u( R3 z$ ~4 o' E
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.
: S6 v- z: z }: \) v L4 ?( T; K
% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
" B! m$ ]0 m2 b$ X1 ?, K
3 v0 F1 M' Z4 k# ~ 3 y8 E" u [6 T4 X, N) Q0 |
* d0 i* a5 J2 u% z8 I( m% N# [% A0 ~$ ^/ @- u! f" @9 H
9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
8 [: t: Z. D- v: p+ h$ E/ z
4 O- o: ^4 }! m. ~ dict is the password file
2 j" m9 x# N: [% `( p5 v1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A% k1 N) w( d- k3 ^ c0 ]
+ P* H. i) E. @! ~9 W4 b: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables: + k4 z! D4 @4 g: u7 q
8 ?! 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:; o S" W2 S5 Y* n/ R
( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w
0 x W3 t% h7 x; h, c# I9 Z$ l I/ `http://torrents.lostboxen.net/co ... atty-4.0_2006-10-19+ q3 z% U0 G. S3 ]
2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n, {2 E; M, n: C& t# G) j/ N7 q
A 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a! z+ ^. p$ a( r* _2 u2 G
( ~" c3 H) X+ Q' O0 y4 @5 ~* U8 m5 Z
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/