simple_wep_crack
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
simple_wep_crack [2008/01/09 15:28] – Added requirement for clients darkaudax | simple_wep_crack [2018/03/11 20:13] (current) – [Introduction] Removed link to trac mister_x | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tutorial: Simple WEP Crack ====== | ====== Tutorial: Simple WEP Crack ====== | ||
- | Version: 1.07 January | + | Version: 1.20 January |
By: darkAudax | By: darkAudax | ||
Line 6: | Line 6: | ||
This tutorial walks you though a very simple case to crack a WEP key. It is intended to build your basic skills and get you familiar with the concepts. | This tutorial walks you though a very simple case to crack a WEP key. It is intended to build your basic skills and get you familiar with the concepts. | ||
+ | |||
+ | The basic concept behind this tutorial is using aireplay-ng replay an ARP packet to generate new unique IVs. In turn, aircrack-ng uses the new unique IVs to crack the WEP key. It is important to understand what an ARP packet is. This [[arp-request_reinjection# | ||
For a start to finish newbie guide, see the [[newbie_guide|Linux Newbie Guide]]. | For a start to finish newbie guide, see the [[newbie_guide|Linux Newbie Guide]]. | ||
It is recommended that you experiment with your home wireless access point to get familiar with these ideas and techniques. If you do not own a particular access point, please remember to get permission from the owner prior to playing with it. | It is recommended that you experiment with your home wireless access point to get familiar with these ideas and techniques. If you do not own a particular access point, please remember to get permission from the owner prior to playing with it. | ||
- | |||
- | I would like to acknowledge and thank the [[http:// | ||
Please send me any constructive feedback, positive or negative. Additional troubleshooting ideas and tips are especially welcome. | Please send me any constructive feedback, positive or negative. Additional troubleshooting ideas and tips are especially welcome. | ||
- | |||
===== Assumptions ===== | ===== Assumptions ===== | ||
Line 22: | Line 21: | ||
* You are physically close enough to send and receive access point packets. | * You are physically close enough to send and receive access point packets. | ||
* There is at least one wired or wireless client connected to the network and they are active. | * There is at least one wired or wireless client connected to the network and they are active. | ||
- | * You are using v0.9 of aircrack-ng. If you use a different version then some of the comman | + | * You are using v0.9 of aircrack-ng. If you use a different version then some of the common |
Ensure all of the above assumptions are true, otherwise the advice that follows will not work. In the examples below, you will need to change " | Ensure all of the above assumptions are true, otherwise the advice that follows will not work. In the examples below, you will need to change " | ||
- | |||
- | In the examples, the option " | ||
===== Equipment used ===== | ===== Equipment used ===== | ||
Line 41: | Line 38: | ||
===== Solution ===== | ===== Solution ===== | ||
- | |||
==== Solution Overview ==== | ==== Solution Overview ==== | ||
Line 51: | Line 47: | ||
- Start the wireless interface in monitor mode on the specific AP channel | - Start the wireless interface in monitor mode on the specific AP channel | ||
+ | - Test the injection capability of the wireless device to the AP | ||
- Use aireplay-ng to do a fake authentication with the access point | - Use aireplay-ng to do a fake authentication with the access point | ||
- Start airodump-ng on AP channel with a bssid filter to collect the new unique IVs | - Start airodump-ng on AP channel with a bssid filter to collect the new unique IVs | ||
Line 58: | Line 55: | ||
==== Step 1 - Start the wireless interface in monitor mode on AP channel ==== | ==== Step 1 - Start the wireless interface in monitor mode on AP channel ==== | ||
- | The purpose of this step is to put your card into what is called monitor mode. Monitor mode is mode whereby your card can listen to every packet in the air. Normally your card will only " | + | The purpose of this step is to put your card into what is called monitor mode. Monitor mode is mode whereby your card can listen to every packet in the air. Normally your card will only " |
First stop ath0 by entering: | First stop ath0 by entering: | ||
Line 85: | Line 82: | ||
| | ||
- | Note: In this command we use " | + | Substitute the channel number that your AP runs on for " |
+ | |||
+ | Note: In this command we use " | ||
The system will respond: | The system will respond: | ||
Line 116: | Line 115: | ||
Tx excessive retries: | Tx excessive retries: | ||
- | In the response above, you can see that ath0 is in monitor mode, on the 2.452GHz frequency which is channel 9 and the Access Point shows the MAC address of your wireless card. Please note that only the madwifi-ng drivers show the MAC address of your wireless card, the other drivers do not do this. So everything is good. | + | In the response above, you can see that ath0 is in monitor mode, on the 2.452GHz frequency which is channel 9 and the Access Point shows the MAC address of your wireless card. Please note that only the madwifi-ng drivers show the MAC address of your wireless card, the other drivers do not do this. So everything is good. It is important to confirm all this information prior to proceeding, otherwise the following steps will not work properly. |
To match the frequency to the channel, check out: | To match the frequency to the channel, check out: | ||
- | http://www.rflinx.com/help/calculations/# | + | http://www.cisco.com/en/US/ |
+ | |||
+ | |||
+ | ==== Step 2 - Test Wireless Device Packet Injection ==== | ||
- | ==== Step 2 - Start airodump-ng to capture the IVs ==== | + | The purpose of this step ensures that your card is within distance of your AP and can inject packets to it. |
+ | |||
+ | Enter: | ||
+ | |||
+ | | ||
+ | |||
+ | Where: | ||
+ | *-9 means injection test | ||
+ | *-e teddy is the wireless network name | ||
+ | *-a 00: | ||
+ | *ath0 is the wireless interface name | ||
+ | |||
+ | The system should respond with: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | The last line is important. | ||
+ | |||
+ | See the [[injection_test|injection test]] for more details. | ||
+ | |||
+ | |||
+ | ==== Step 3 - Start airodump-ng to capture the IVs ==== | ||
The purpose of this step is to capture the IVs generated. | The purpose of this step is to capture the IVs generated. | ||
Line 131: | Line 162: | ||
Where: | Where: | ||
*-c 9 is the channel for the wireless network | *-c 9 is the channel for the wireless network | ||
- | *- -bssid 00: | + | *-'''' |
*-w capture is file name prefix for the file which will contain the IVs. | *-w capture is file name prefix for the file which will contain the IVs. | ||
*ath0 is the interface name. | *ath0 is the interface name. | ||
Line 148: | Line 179: | ||
- | ==== Step 3 - Use aireplay-ng to do a fake authentication with the access point ==== | + | ==== Step 4 - Use aireplay-ng to do a fake authentication with the access point ==== |
- | In order for an access point to accept a packet, the source MAC address must already be associated. | + | In order for an access point to accept a packet, the source MAC address must already be associated. |
The lack of association with the access point is the single biggest reason why injection fails. | The lack of association with the access point is the single biggest reason why injection fails. | ||
Line 163: | Line 194: | ||
*-e teddy is the wireless network name | *-e teddy is the wireless network name | ||
*-a 00: | *-a 00: | ||
- | *-h 00: | + | *-h 00: |
*ath0 is the wireless interface name | *ath0 is the wireless interface name | ||
Line 177: | Line 208: | ||
Where: | Where: | ||
- | * 6000 - Reauthenticate | + | * 6000 - Reauthenticate |
* -o 1 - Send only one set of packets at a time. Default is multiple and this confuses some APs. | * -o 1 - Send only one set of packets at a time. Default is multiple and this confuses some APs. | ||
* -q 10 - Send keep alive packets every 10 seconds. | * -q 10 - Send keep alive packets every 10 seconds. | ||
Line 209: | Line 240: | ||
*Some access points are configured to only allow selected MAC addresses to associate and connect. | *Some access points are configured to only allow selected MAC addresses to associate and connect. | ||
- | Run: tcpdump -n -vvv -s0 -e -i < | + | Run: tcpdump -n -vvv -s0 -e -i < |
You would then look for error messages. | You would then look for error messages. | ||
Line 225: | Line 256: | ||
If you want to select only the DeAuth packets with tcpdump then you can use: " | If you want to select only the DeAuth packets with tcpdump then you can use: " | ||
- | ==== Step 4 - Start aireplay-ng in ARP request replay mode ==== | + | ==== Step 5 - Start aireplay-ng in ARP request replay mode ==== |
The purpose of this step is to start aireplay-ng in a mode which listens for ARP requests then reinjects them back into the network. | The purpose of this step is to start aireplay-ng in a mode which listens for ARP requests then reinjects them back into the network. | ||
Line 233: | Line 264: | ||
| | ||
- | It will start listening for ARP requests and when it hears one, aireplay-ng will immediately start to inject it. | + | It will start listening for ARP requests and when it hears one, aireplay-ng will immediately start to inject it. |
Here is what the screen looks like when ARP requests are being injected: | Here is what the screen looks like when ARP requests are being injected: | ||
Line 241: | Line 272: | ||
Read 629399 packets (got 316283 ARP requests), sent 210955 packets... | Read 629399 packets (got 316283 ARP requests), sent 210955 packets... | ||
- | You can confirm that you are injecting by checking your airodump-ng screen. | + | You can confirm that you are injecting by checking your airodump-ng screen. |
Line 248: | Line 279: | ||
* If you receive a message similar to "Got a deauth/ | * If you receive a message similar to "Got a deauth/ | ||
- | + | ==== Step 6 - Run aircrack-ng to obtain the WEP key ==== | |
- | ==== Step 5 - Run aircrack-ng to obtain the WEP key ==== | + | |
The purpose of this step is to obtain the WEP key from the IVs gathered in the previous steps. | The purpose of this step is to obtain the WEP key from the IVs gathered in the previous steps. | ||
Line 255: | Line 285: | ||
Note: For learning purposes, you should use a 64 bit WEP key on your AP to speed up the cracking process. | Note: For learning purposes, you should use a 64 bit WEP key on your AP to speed up the cracking process. | ||
- | Two methods will be shown. | + | Two methods will be shown. |
Start another console session and enter: | Start another console session and enter: | ||
- | | + | |
Where: | Where: | ||
- | * -z invokes the PTW WEP-cracking method. | ||
* -b 00: | * -b 00: | ||
* output*.cap selects all files starting with " | * output*.cap selects all files starting with " | ||
Line 268: | Line 297: | ||
To also use the FMS/Korek method, start another console session and enter: | To also use the FMS/Korek method, start another console session and enter: | ||
- | | + | |
Where: | Where: | ||
+ | * -K invokes the FMS/Korek method | ||
* -b 00: | * -b 00: | ||
* output*.cap selects all files starting with " | * output*.cap selects all files starting with " | ||
- | You can run this while generating packets. In a short time, the WEP key will be calculated and presented. Using the PTW method, 40-bit WEP can be cracked with as few as 20,000 data packets and 104-bit WEP with 40,000 data packets. | + | If you are using 1.0-rc1, add the option " |
- | Here is what success looks like: | + | You can run this while generating packets. |
- | + | ||
- | Aircrack-ng 0.9 | + | |
- | + | ||
- | [00:01:18] Tested 0/140000 keys (got 30680 IVs) | + | |
- | + | ||
- | | + | |
- | 0 0/ 1 12( 170) 35( 152) AA( 146) 17( 145) 86( 143) F0( 143) AE( 142) C5( 142) D4( 142) 50( 140) | + | |
- | 1 0/ 1 34( 163) BB( 160) CF( 147) 59( 146) 39( 143) 47( 142) 42( 139) 3D( 137) 7F( 137) 18( 136) | + | |
- | 2 0/ 1 56( 162) E9( 147) 1E( 146) 32( 146) 6E( 145) 79( 143) E7( 142) EB( 142) 75( 141) 31( 140) | + | |
- | 3 0/ 1 78( 158) 13( 156) 01( 152) 5F( 151) 28( 149) 59( 145) FC( 145) 7E( 143) 76( 142) 92( 142) | + | |
- | 4 0/ 1 90( 183) 8B( 156) D7( 148) E0( 146) 18( 145) 33( 145) 96( 144) 2B( 143) 88( 143) 41( 141) | + | |
- | + | ||
- | KEY FOUND! [ 12: | + | |
- | Decrypted correctly: 100% | + | |
- | + | ||
- | To also use the FMS/Korek method, start another console session and enter: | + | |
- | + | ||
- | | + | |
- | + | ||
- | Where: | + | |
- | * -b 00: | + | |
- | * output*.cap selects all files starting with " | + | |
- | + | ||
- | You can run this while generating packets. | + | |
Here is what success looks like: | Here is what success looks like: | ||
Line 318: | Line 324: | ||
Probability: | Probability: | ||
- | Notice that in this case it took far less then the estimated 250,000 IVs to crack the key. | + | Notice that in this case it took far less then the estimated 250,000 IVs to crack the key. (For this example, the FMS/KoreK attack was used.) |
Line 325: | Line 331: | ||
* Be sure to read all the documentation on the Wiki for the various commands used in this tutorial. | * Be sure to read all the documentation on the Wiki for the various commands used in this tutorial. | ||
* See [[i_am_injecting_but_the_ivs_don_t_increase|Tutorial: | * See [[i_am_injecting_but_the_ivs_don_t_increase|Tutorial: | ||
+ | |||
+ | |||
+ | ===== Generating ARPs ===== | ||
+ | |||
+ | In order for this tutorial to work, you must receive at least one ARP packet. | ||
simple_wep_crack.txt · Last modified: 2018/03/11 20:13 by mister_x