coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K
2 t/ d# S4 X8 C"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' k% B* _+ a( b# D% }+ V( E
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
4 R# W/ }# u" v5 p4 z7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U. Q! g+ _' U+ Y
Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [& H) o! O6 o! j0 m# H; T
' u8 t9 G) I5 T @
+ I' s/ W' _6 {, qcoWPAtty Dictionary Attack
, o7 Q0 P" B- F& K- l: d$ N+ O- |8 N" k
; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
& K4 o+ ?7 c7 m! o- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B. B8 o. H! Y9 r
coWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k
6 D6 K# u z. ]( D( y2 ~coWPAtty Tables
' W5 V$ `8 K( C8 \9 w4 I# `2 _+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K
2 |9 w# R" L' p9 r! k
5 V! ~) Y/ b2 T- G1 @$ V6 A0 v1 `$ K& z5 @1 S
8 g* d6 s' \ R# D% H' m+ K2 p3 f# ]: R9 {: [+ t( z
coWPAtty Dictionary Attack:2 ]3 q0 Z& l( r1 _0 M) t
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.
" p! j& o. A% K6 \$ K5 k! S* Y
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& ]8 [, Z" i' b
cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p- l% a( a; G- }$ \; F% A9 m8 w! E0 ?* N
3 _& H1 X/ P N& ^" Z
6 y1 A5 ]( F. w1 D8 ], n3 N% N+ u
* r# c" b }4 C% E- X: F, S: ^' f$ N( z, M6 d. m
. e" }; L* O. d6 v6 e5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e0 U5 G7 k) x9 t* k* Z# U( _
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
, h0 h% c! ?+ l L2 _wpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M
/ a* X; f% B! u, f) F* g `dict is the password file
B& R( A8 E) j5 \; ~# g- D' {) C6 d
linksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V+ T+ @7 `0 R( a1 Q3 F2 y) U
3 f: [" z; k3 X6 T3 Z
0 L9 [4 T" E3 Q8 s3 x1 lPrecomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [
+ \3 z3 j; l8 L2 y+ ]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.
4 `* F2 [% k2 |( X) F' F# m5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u
; c3 D- r7 B. _* ~So to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y( y" n7 @( P) s) C0 I
$ n* e0 x' C) z* Z- [
( Q( @. ?% g1 |3 T, Z- O. kgenpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L
( T0 E4 `" i8 a. ^& m/ E; N i! @$ ^2 o4 ?) X
( E: Q' u1 `( T( K g( ~0 A 
& D! ], {/ y0 a2 M3 q5 R8 Z0 t
' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~/ |9 ^9 v& P2 ]) ^# U. h
dict is the password file
$ u! {* J: _; d0 ]
$ ?' O- R& a9 j/ K( G0 olinksys.hashfile is our output file
6 V( t) a1 E `% F" u( X V' o+ `9 `; P linksys is the network ESSID
0 b% c4 K+ x* }+ ~4 q
" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b) d" Q/ @8 k# h0 W" C, U
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g& O% ^! c5 h& Z3 L( }
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+ \; n
) y$ Y5 N- A& h: \; H) y. H( Z' W) n7 _ A) X$ P: B
. ]$ _! j% p1 c6 ]$ s$ c0 U1 hcowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
+ A' @% n& k7 R7 z
. w8 {, G( v' j# c8 G! n3 L! ? 
: W! q& @& c$ M: K$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d
' F0 H# Z. C4 L, V8 Swpa-test-01.cap is the capture containing the four-way handshake
1 R/ i: ^1 b* s5 g) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
2 d1 _" `2 f( ~+ o. `8 \
/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~
% Q" j( g& C+ {* w3 z9 s9 i/ G. g, d/ K: u. o3 D- S7 K* ]: }! u* f2 S4 X8 j. ?# y2 J0 \
Notice 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 B2 N' Q5 m8 G" |
8 W& s, p' @& z Y
: _5 Y( ~4 W2 l+ z# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B' ]) t2 {: c. X/ G% K2 ^, k
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.
4 c8 ?/ `' C0 J; {! E. Z
% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
B3 C- j. c9 Z1 F$ P* |3 v0 F1 M' Z4 k# ~ 
3 y8 E" u [6 T4 X, N) Q0 |
" w; l& _2 U/ C+ h' q
# E6 D' I. X9 A' s: ~: X: p9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
2 U2 E& E; {! A3 k& Q1 x
4 O- o: ^4 }! m. ~ dict is the password file
" V% P3 t* R0 ~& S: r" X7 B1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A
+ m6 {2 h2 t7 c" w! @2 A$ A& ?
: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables:
8 T; t' l- ]% t" Z' ?! ?7 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 S& c; k8 U6 v% K( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w
- p, B2 X5 s) j/ B5 \7 Y# ghttp://torrents.lostboxen.net/co ... atty-4.0_2006-10-19
$ M$ s2 O+ O7 t; t' M7 b2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n
4 J! b+ U6 o ^8 A- TA 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a" J6 Z- k; W6 Y' I2 p
2 S2 y) n K! T' r8 @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/