coWPAtty for Windows MAIN:" c# [' V" W5 W: S0 @- t+ L- A" K
! B! V' Q. @, 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, a8 l# }% A; U" P! f$ g
Project Homepage: http://www.willhackforsushi.com/Cowpatty.html
$ h$ M" j6 R* q: V7 {4 K% j& u, O0 Z/ r+ V% x* X* u& b. U9 i( Z g8 f1 s G& `. o6 o6 i
Local Mirror: Cowpatty-4.0-win32.zip MD5: aa9ead2aacfcc493da3684351425d4c6
9 b3 @4 E& O' [: O7 [
8 R# k& Z# H% Q. D' u8 t9 G) I5 T @* g& R/ u$ e7 b1 Q: N4 a+ n7 x
coWPAtty Dictionary Attack
: K' w6 {9 C! u7 C/ g; ~7 h4 W' N$ U0 v0 j Precomputing WPA PMK to crack WPA PSK
! {1 c, m! w$ U- F% P/ E$ w7 Q$ e7 b- j coWPAtty Precomputed WPA Attack
; i, y# U4 E4 B
8 w; H# b; E* ]coWPAtty Recomputed WPA2 Attack
$ C( N7 |* e# d. k @& ]+ G2 R. v% Y/ h
coWPAtty Tables
& t0 U7 Z4 V2 g+ \9 X+ [: [- K- w- b! [$ Y8 ? n4 CcoWPAtty Usage:" l' Q1 y& _/ ]; a, B. K
9 d7 C3 h( ?& } i; O% ?3 M5 h+ \* A
5 V! ~) Y/ b2 T- G1 @! H+ [# U: `3 O2 z" X# j
8 g* d6 s' \ R# D
9 T2 A( L3 ]6 k. B k* B! ccoWPAtty Dictionary Attack:$ @2 M; L/ s y, \# G9 G2 n8 z
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.
1 v8 o* K( {! C4 w& ?7 g" g9 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 o7 y$ h$ r* K- ?9 |/ m0 C- s
cowpatty -f dict -r wpapsk-linksys.dump -s linksys
' e! ?0 H5 D0 @# p
4 A% U# K# \6 R3 _& H1 X/ P N& ^" Z
2 h* D# z+ V$ U; V: C! f+ m" f
N( O0 g A2 C" {; u7 z, S: ^' f$ N( z, M6 d. m. i% O0 z9 P3 s% Y
5 T. h5 ^/ s! d; M- }' H" q! g% M/ v% a% e
: w( n2 l% r) TAs 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
" b9 D, {7 Q e: ]wpapsk-linksys.dump is the capture containing the four-way handshake
1 G4 P# A/ r" Z# c8 y$ j& x; t0 E7 M
9 q! }8 A2 K( f4 S; Q- {dict is the password file
B& R( A8 E) j5 \
, _1 S4 Z4 d% \/ @ ~1 V# t! Dlinksys is the network SSID
& b, @' m2 p4 p4 ^1 @6 C; @2 V6 x l* |7 ~* l- |
3 f: [" z; k3 X6 T3 Z8 Y* b& \( ]- G! x3 \" W5 t i! {
Precomputing WPA PMK to crack WPA PSK:& ?( q1 a- w9 ?+ R, ^4 }& y8 k& Z' [
( Z9 p! h2 y4 A% d 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.
& F& @8 U, c8 p' s/ @# C
5 j/ J; c% [+ H( w8 i8 z5 ]' V4 E2 p; p1 q8 c! u
" b. ]) H) x: x& u+ `So to generate some hash files for a network using the SSID cuckoo we use:
3 ~: Z! Q. |$ b/ u2 [& |! Y
1 N1 a' E# E' M$ n* e0 x' C) z* Z- [, P, c7 ^8 d: t* I2 R( Q) f* Q" t( t
genpmk -f dict -d linksys.hashfile -s linksys
" e: r5 S, a8 M1 L+ ~8 y( X; d9 v* _" E* V h) D
2 e: L& r7 b2 ?; A% j: w) F% j2 `
( E: Q' u1 `( T( K g( ~0 A 
& t e2 k; S3 H* g# [: T0 _
' t- \0 G7 ~* y# s! Y. s+ H8 `, i2 {: ~
6 i1 |, K& d cdict is the password file
$ u! {* J: _; d0 ]* V, c; h, c+ R: h* B
linksys.hashfile is our output file
* S( Z4 `, f3 Q! t8 S* }
% F" u( X V' o+ `9 `; P linksys is the network ESSID
6 |4 i5 W7 I% g; y
" v8 X; L7 M: j4 E; n! n9 I4 z# l. N: E5 X, X1 |+ b( P. O( b" I5 i5 b- B9 Y& C5 o" p' T
coWPAtty Precomputed WPA Attack:4 z7 T. n" N& j p5 E1 G! A3 g: O/ e& g! D: ?* c9 |0 @- f
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* w5 w% T5 z0 {
( Z' W) n7 _ A) X$ P: B
( R+ P! o0 a( ?' `6 Q, Gcowpatty -d linksys.hashfile -r wpapsk-linksys.dump -s linksys
, [1 O. d7 q- [1 q3 `. w8 {, G( v' j# c8 G! n3 L! ? 
7 y3 u1 E0 q+ g9 x- Z$ }6 G8 b) O& W e5 U6 K% G$ z3 ]4 e" V5 \8 f2 ^9 d
2 W' K; A9 t# w: P7 zwpa-test-01.cap is the capture containing the four-way handshake
. d$ v0 v; |" g+ p: X4 G( x
) h0 T) X8 j# m linksys.hashfile are our precomputed hashes
W& z0 @ j% I/ N( I! Y% d7 e, s linksys is the network ESSID
7 r! r& ?$ D& r: }. A* ~
; a- P; I1 |: U# M2 `: h, d/ K: u. o3 D- S7 K* ]: }! c) A, i/ t; ^) \2 T5 \
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.
# I& B- d% ~. w! Y
8 W& s, p' @& z Y
% {. b+ I0 v# F4 S# `. W7 b$ h- v' ?3 z1 ccoWPAtty Precomputed WPA2 Attack:- d( ^7 X: ~* l+ ]0 B
. Q0 Z. c& Q$ _" r. a2 j- }$ ocoWPAtty4.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.
% V- N1 C: |: r; T4 `: h% X+ ]& j9 d3 ^+ Y3 p: {; P& A cowpatty -d linksys.hashfile -r wpa2psk-linksys.dump -s linksys
# @& n! Z/ b6 H) s! `, n6 m3 v0 F1 M' Z4 k# ~ 
3 y8 E" u [6 T4 X, N) Q0 |
# Q3 d0 l( y/ ?6 S5 p0 T
; w8 L9 A) r. a# R4 u Z9 N* U- [" ~# J6 ], c& k7 A+ g wpa2psk-linksys.dump is the capture containing the four-way handshake
; `% A2 K7 } I) E$ `5 a+ \
4 O- o: ^4 }! m. ~ dict is the password file
+ ~+ p1 Y" v- p6 o* L
1 {3 V! b% U0 ?+ Y% O linksys is the network SSID
]/ t N9 Y( E) _: e b0 _/ q1 A
* t; D8 k$ k1 X- y; M: Z( N
# [- M9 G. }& i1 \( ^) }( o1 p: v9 t6 @# J' Y. P7 t* G, X6 `/ LcoWPAtty Tables:
- }. C- K0 _5 r& u8 ?! 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:% _4 {4 V) J; Q' J/ e' r. {
( w0 `+ d& ~3 Z p9 A: H8 d8 ?% c- `& w+ ?0 |1 l; {9 s( ~' T
http://torrents.lostboxen.net/co ... atty-4.0_2006-10-19
6 C/ N q h$ [" ~+ |6 G2 K9 `" L& E+ T$ x, r& g4 S9 Q6 H6 y# _! P3 J% n
! S/ ]1 T6 {5 A! G% GA 33 Gigabyte set of tables are also available: http://umbra.shmoo.com:6969/$ d5 C" P* g$ p! D, i8 a# x( V1 K+ A& ]7 `0 h$ e, w
) Q# y* ?: O8 u7 k. N3 r4 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/