coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K% |$ J: F; h* D. ^; Y% O q$ A
"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, a0 H3 v8 p7 m5 v6 `
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
% H6 O" G: G7 b
7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U9 {$ N! v/ N$ Q4 i
Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [
6 b: g/ A( ^+ w: c3 O' u8 t9 G) I5 T @5 T% M8 k6 v- i& a" D+ ]4 o" b
coWPAtty Dictionary Attack
T5 N# W4 ~0 M7 p$ C; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
4 F- I0 {* Q2 ?9 u( l0 k- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B
8 d8 t! Y% q$ ^1 k" `" NcoWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k
9 M& _( m. n# ^! Y1 |! q1 McoWPAtty Tables
) r9 i) _2 z2 O( c" v9 d: w
+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K: b1 ^ T: ~/ B0 }
5 V! ~) Y/ b2 T- G1 @& V/ ?& ~3 M: A( G* o' C0 {+ t |
8 g* d6 s' \ R# D6 `0 e6 g$ P; E' e0 D
coWPAtty Dictionary Attack:
Q& w F0 L! |9 e9 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.
# K; U; ^( Y" n9 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* p# I/ g& q# t* ^
cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p
" o6 c3 U. ^& s8 C3 _& H1 X/ P N& ^" Z
5 o& j+ Q* a8 C; c( A5 j$ n
% N: ~1 @$ S4 E$ F/ W1 M0 V$ D
, S: ^' f$ N( z, M6 d. m! Z7 t! |2 ~3 `7 O
5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e
+ _8 c8 g5 m4 o; l# q& wAs 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
3 ^& w* u& P8 q9 k" k* ywpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M
2 i# r' v0 m, X2 O! I/ \dict is the password file
B& R( A8 E) j5 \
& t# a& L3 M8 U- H5 V* ]linksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V
3 r* n% q% U2 V3 f: [" z; k3 X6 T3 Z( c: W7 }: p+ _5 B8 c* x
Precomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [& v3 A) Y9 c! C1 E% 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.
$ N; t. f% ` `5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u: ?* |; q$ Q, x$ R" u7 N
So to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y( P n/ v: K* Q' p
$ n* e0 x' C) z* Z- [6 K" F) r8 V+ ~% U% F9 L
genpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L
) |8 J2 ^0 k& ~
( S9 e" w& z; W( K4 ^( e4 e, ~( E: Q' u1 `( T( K g( ~0 A 
3 E. W q( p( N! D! H6 G( _% s
' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~# m1 m+ @0 Y* z8 z: S" N1 n9 H
dict is the password file
$ u! {* J: _; d0 ]9 I% o6 J- J/ |
linksys.hashfile is our output file
% ]' L0 [% X2 M' ]
% F" u( X V' o+ `9 `; P linksys is the network ESSID
( C! y: z5 y+ l+ t3 @" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b8 m8 f4 a/ d. W
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g
# k) v3 t1 {9 T+ I9 s% GNow 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( i6 \# @- X' |7 o' l, t4 F
( Z' W) n7 _ A) X$ P: B
5 I, `2 P% E/ m% N5 i# Ncowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
' Y4 N! c; P T ]. w8 {, G( v' j# c8 G! n3 L! ? 
% D! B/ f$ e8 @4 W5 D. u
$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d
- H) A& ^- a& R8 i6 f) ]$ l9 W6 Rwpa-test-01.cap is the capture containing the four-way handshake
, @+ J& J( v) e+ Z+ S- `, F) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
. \$ c2 w1 i! S/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~) b4 q( H8 J( ]; T; D, B
, d/ K: u. o3 D- S7 K* ]: }; t5 M0 `$ U/ w) X6 S, J
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.
I0 c% T4 ]9 o* d; G0 C8 W& s, p' @& z Y, c8 W/ ]- J$ Q
# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B& T1 V/ v9 m3 H9 Q# x, r% J \
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.
1 J+ R1 |6 a; ^* L4 Z5 v% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
7 U' a' u3 x6 M7 \3 v0 F1 M' Z4 k# ~ 
3 y8 E" u [6 T4 X, N) Q0 |4 b7 a( {7 a# r0 ~( R
3 s8 h$ {$ D& j# H. b2 e
9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
1 z& s8 C7 E2 b4 ~1 W
4 O- o: ^4 }! m. ~ dict is the password file
; t: P" V( u5 p& R |7 Q6 j1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A7 I! p2 E; o8 n: k9 Y9 N; a
0 i5 I+ ]3 ]! g2 f# @3 [: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables: . B1 j0 u2 s; ^# x& ~4 v0 u
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:7 G+ }+ R8 J5 x; W# f. b+ D8 O
( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w& U6 [6 F7 q/ s- M* p
http://torrents.lostboxen.net/co ... atty-4.0_2006-10-19
, w$ I0 v& R% E1 e2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n3 T& m: p6 r# L" O: l& Z5 Y+ p- A3 a
A 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a& G0 L4 ]* I0 T; |3 z
8 z2 J. d! m& z" U. h. F6 K
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/