coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K& V/ z7 U& P$ D
"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
6 P r& w; z( x+ [, Z7 \
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
, T" N) O/ Y5 y3 }6 e7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U
. o; q G4 m# _* p$ u ~) [& PLocal Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [
. y& [0 s5 S$ R7 D3 r/ ]- C) ~ [' u8 t9 G) I5 T @4 s8 c* F" a" e' a! @
coWPAtty Dictionary Attack
6 }( B$ W. ]# L2 _; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
. ]4 t& s+ ?9 j
- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B
4 u: c6 J# `: j- L GcoWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k& D1 ?7 \; |) ?" ^
coWPAtty Tables
: _+ E, I" l8 W3 i' g2 h$ |4 J
+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K; `9 c! v: g7 P; Y0 g0 k
5 V! ~) Y/ b2 T- G1 @5 c9 V: N1 }% x5 w# A9 q2 X
8 g* d6 s' \ R# D s4 J& m( K. Q G
coWPAtty Dictionary Attack:
6 ^; A3 B; }0 U7 D0 }1 z! G+ G9 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.
0 M" j/ {8 Q5 t [ w2 l. j
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 o0 ?% a5 T% a5 s! f% l! y
cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p
! `0 O" ^4 ?. C6 t1 o4 }/ h3 _& H1 X/ P N& ^" Z
' i# R( s S9 ?# `
; O9 T$ F7 n; Y! ^
, S: ^' f$ N( z, M6 d. m' M6 m \" o+ h, s! c
5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e
; O) E( m" V IAs 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+ X1 }' S/ B; c" p
wpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M
" Q' j. m2 K2 Idict is the password file
B& R( A8 E) j5 \9 \8 T8 x2 [- f1 e4 k
linksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V, [2 e1 l2 A' R# ~
3 f: [" z; k3 X6 T3 Z
8 E+ s0 ?2 `# c9 |4 v- EPrecomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [
, N3 Y& t+ v) Y' wgenpmkis 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.
) s$ |: f5 r, d- g
5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u, n6 N: b# R- C( w0 j6 {, @
So to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y& h& \% u5 m( A& T5 \: M1 |
$ n* e0 x' C) z* Z- [5 @9 s4 x# B8 @0 a
genpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L
- {8 {+ O. d+ X: V5 a& u1 K T+ f) b9 e
( E: Q' u1 `( T( K g( ~0 A 
8 R* }6 x4 k# D) V; s. k' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~
4 I& W& X+ h3 r/ @& N) Kdict is the password file
$ u! {* J: _; d0 ]2 E3 S' h1 g6 m v4 q+ m6 t. ]- t
linksys.hashfile is our output file
3 K$ b0 `% u' @( I
% F" u( X V' o+ `9 `; P linksys is the network ESSID
( }! K) v# g6 ?, }+ M$ W
" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b! H7 Y' P# U) Y
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g
! z2 { L9 V+ @" z* b3 C" NNow 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
@! f' P5 E* C4 L5 J( Z' W) n7 _ A) X$ P: B8 n+ F- ]" [% R
cowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
8 k) R8 z8 Y, M6 ]. w8 {, G( v' j# c8 G! n3 L! ? 
; I1 ~/ c: p8 V. ^- {/ E
$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d, B8 \3 `: } d
wpa-test-01.cap is the capture containing the four-way handshake
* t2 `: U* q/ S! [; b) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
" `! H8 H* m4 b9 ]6 y& ^( e
/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~
\ Y9 b- I* M9 ], d/ K: u. o3 D- S7 K* ]: }
0 N. L7 P4 n* S. _2 Q7 P i8 b4 u. ZNotice 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.
1 f! |9 @; q5 r4 v0 Y
8 W& s, p' @& z Y
$ J- c! T+ R c- |; C# s# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B# x `. H( f8 {2 N% {% G( }
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.
6 G2 Y5 H! O: c9 K6 E% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
, T i( Y, s2 k' M* C1 F) ?- n3 v0 F1 M' Z4 k# ~ 
3 y8 E" u [6 T4 X, N) Q0 |
: c {* _8 w( K* w' f
" h$ Z; ^5 G( p* I9 v8 g9 C c0 F9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
# O3 N$ v# t6 l8 F& Y
4 O- o: ^4 }! m. ~ dict is the password file
0 }$ M, L/ b8 o# V) B1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A/ s6 B9 D; @5 P
, M' y& y$ k- O
: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables: # m& |9 }3 h" V
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:
3 x. j0 ?6 S+ \3 b( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w. N) Y& w+ Y' \' E% b c
http://torrents.lostboxen.net/co ... atty-4.0_2006-10-19
/ B3 R! L% J; [" ]( G0 B& ]$ b2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n
D; P& m( O! |( o$ j) U9 a W! QA 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a* c( |$ B8 h3 H/ H
8 a9 m8 K- t7 t7 l$ L. S6 T$ y4 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/