Presentation is loading. Please wait.

Presentation is loading. Please wait.

Distributed WPA Cracking CSCI5673 - Distributed Systems Spring 2011 University of Colorado Rodney Beede Ryan Kroiss Arpit Sud 2011-05-02.

Similar presentations


Presentation on theme: "Distributed WPA Cracking CSCI5673 - Distributed Systems Spring 2011 University of Colorado Rodney Beede Ryan Kroiss Arpit Sud 2011-05-02."— Presentation transcript:

1 Distributed WPA Cracking CSCI5673 - Distributed Systems Spring 2011 University of Colorado Rodney Beede Ryan Kroiss Arpit Sud 2011-05-02

2 Topics The Team Introduction WPA 1/2 Architecture Master Node Worker Node Test Methodology Results & Conclusions Future Work Questions

3 Introduction Cracking WiFi o WEP - easy o WPA - hard Brute Force o Not practical o 8 character minimum Dictionary o Common passwords coWPAtty by Joshua Wright o Generate rainbow table o Search rainbow table

4 Introduction - Our Idea Distributed key generation o Already done Distributed table lookup o Not done Web service Fast lookup Modify existing code

5 WPA a.k.a. WPA1 WPA stands for WiFi Protected Access Meant to replace WEP o WEP failed to meet its security goals Comes in two flavours o WPA-PSK* (Pre-Shared Key) which uses TKIP o WPA-Enterprise more secure but requires RADIUS authentication server * also known as WPA-Personal

6 WPA2 Successor to WPA Makes PSK more secure as it uses CCMP instead of TKIP Both WPA-PSK and WPA2-PSK are susceptible to password cracking attacks No known attacks against Enterprise flavors o The Lesson is....

7 Attacking WPA-PSK Authentication handshake required for cracking WPA- PSK Authentication handshake happens when a client connects to AP (and also when the client "thinks" it is no longer authenticated) Packet capture is 3-step process o Place wireless card in monitor mode("listen all") o Start packet capture o Send a deauthentication packet to wireless client to induce authentication handshake A script is provided that performs the above 3 steps

8 Architecture

9 Master Node Java web application Accepts jobs o Upload.cap file o SSID name Queues job o Runs 1 at a time Tracks worker status o NOT LOADED o LOADED o RUNNING o FINISHED o ERROR

10 Master Node (cont) Start / Kill worker clients o Remote ssh o Hand out table offsets Records web app log Job Run 1.User submits job 2.Master saves to NFS share 3.Master tells workers 1.When ready 2.TCP packet 3.Location of files and output destination 4.Master checks SOLUTION file

11 Started by master Loads rainbow table into memory o 1000 files x 40MB = 40GB (5GB per worker) Giant byte array with pointers per SSID Creates socket to listen for messages from master Possible message types o START o STATUS o KILL Worker Node

12 Worker Node (cont) STATUS - returns worker status KILL - kills current job (if applicable) START command creates new thread o Looks up SSID o Finds corresponding portion of rainbow table o Leverages coWPAtty for password look up o If password is found  Worker outputs solution to file  Master tells other workers to stop o Otherwise, workers report FINISHED after reading through table

13 Original coWPAtty Read records in rainbow table Records contain length, passphrase, and PMK PMK -> PTK (requires capture data) PTK -> MAC Grab key MIC Compare with MIC found in capture data

14 Serial versus Distributed Serial o Run once and done o Reads data from disk o Runs on one machine o Quick start-up time o Less opportunity for optimizations Distributed o Runs as a service o Loads data into memory o Runs on N machines o Slow start-up time o More opportunity for optimizations

15 Test Methodology 996,358 word rainbow table o 1,000 SSIDs o 40MB / SSID o 40GB total size 8 worker nodes 1 master node Cisco C210 M1 (on loan from Cisco) o Two Intel Xeon E5540 (2.5GHz)  8 logical CPUs o 72GB RAM o Sixteen 10K RPM SAS 6.0 gbps 146GB drives  RAID5

16 Test Methodology (cont) Packet capture data with SSID linksys available in SVN Test data created with the following keys: o First in Dictionary: !8zj39le o Middle in Dictionary: }ttringe o Last in Dictionary: korrelie Gathered data for time taken to find solution from Master and worker logs Compared to original coWPAtty running on a single node Results shown on next slide are average of times recorded by the 3 of us

17 Results & Conclusions First in dictionary o Serial = 8 milliseconds o Distributed = 5 milliseconds Middle in dictionary o Serial = 3056 milliseconds o Distributed = 742 milliseconds Last in dictionary o Serial = 6014 milliseconds o Distributed = 767 milliseconds Seemingly small o Scalable o Ideal for web service

18 Future Work GUI client for data capture Distribute table generation Hybrid disk/memory approach Thousands of heterogeneous clients o Like SETI@HOME Rewrite in Java or C++ o Simpler code Improved data structures

19 Questions? http://code.google.com/p/distributed-wpa- cracking/ Tips for a secure PSK wireless network: Use a unique SSID (not linksys or home) Have a long* & unique key; use special characters *max. 63 characters


Download ppt "Distributed WPA Cracking CSCI5673 - Distributed Systems Spring 2011 University of Colorado Rodney Beede Ryan Kroiss Arpit Sud 2011-05-02."

Similar presentations


Ads by Google