Problema con Aircrack-ng y el fixed channel mon0: -1

Wifi-logoHaciendo pruebas con una nueva tarjeta wifi (TP-LINK TL-WN722N – Adaptador de red USB (3 años de garantía, WPS, alta sensibilidad)), estuve probando si valía para auditorías de redes wifi. Para hacer esto lo habitual es usar el software de Aircrack-ng. Hace mucho que no hacia algo de esto pero con el nuevo chisme me entro el gusanillo.

Problema con Aircrack-ng y el fixed channel mon0: -1

Pero al final del proceso me encontré con una problema con Aircrack-ng, cuando se tiene que enlazar el adaptador al AP para inyectar trafico, me da un error diciendo que el adaptador esta escuchado en el canal -1 y no puede enlazar con el AP (fixed channel mon0: -1).

Pero lo primero voy ha explicar como lo hago, ya que el problema con Aircrack-ng es un problema heredado de todos los pasos, por lo menos en mi caso.

Lo primero que se tiene que hacer es poner el adaptador en modo monitor, esto se puede hacer con el siguiente comando de la suite.

sudo airmon-ng start wlanx

Donde wlanx es el nombre de nuestro dispositivo. Esto nos crea un nuevo interfaces que suele ser mon0 (el 0 puede cambiar si este estuviera ocupado, pasado a 1, 2 3, etc. según el que este libre). Si no sabemos como se llama el adaptador, podemos obtener una lista de todos nuestros adaptadores de red con el siguiente comando.

ifconfig

Este nos devolverá una lista parecida a esta.

lo        Link encap:Bucle local  
          Direc. inet:127.0.0.1  Másc:255.0.0.0
          Dirección inet6: ::1/128 Alcance:Anfitrión
          ACTIVO BUCLE FUNCIONANDO  MTU:65536  Métrica:1
          Paquetes RX:46159 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:46159 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:0 
          Bytes RX:3906175 (3.9 MB)  TX bytes:3906175 (3.9 MB)

wlan2     Link encap:Ethernet  direcciónHW XX:XX:XX:XX:XX:XX  
          Dirección inet6: xxxx::xxxx:xxxx:xxxx:xxxx/64 Alcance:Enlace
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:5 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:42 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000 
          Bytes RX:1048 (1.0 KB)  TX bytes:10774 (10.7 KB)

En mi caso el dispositivo es el WLan2.

El siguiente paso seria ver que redes tenemos a nuestro alcance, comando airodump-ng.

sudo airodump-ng mon0

Nos mostrara la lista de redes que tenemos a nuestro alcance.

Una vez que sabemos que red vamos a testear, ejecutamos el comando airodump-ng para que empiece a capturar el trafico de esa red y guardar el trafico en un fichero.

sudo airodump-ng -w fichero_donde_guardamos_el_trafico --bssid (MAC del AP a probrar) -c (Canal del AP) mon0

Y nos mostrara una cabecera parecida a esto.

CH  9 ][ Elapsed: 4 s ][ 2014-12-06 23:04 ][ fixed channel mon0: -1

Y aquí se muestra si vamos ha tener el problema o no. Ya que airodump-ng esta fijando el canal de escucha al -1.

Después de esto solo tendríamos que utilizar aireplay para inyectar trafico para acelerar la recogida de datos (hay varios métodos, dependiendo de la protección de la wifi), la mas básica seria de la siguiente manera.

sudo aireplay-ng -1 10 -e Nombre_del_AP -a (MAC del AP) -h (MAC de nuestro adaptador) mon0

Y hay dependiendo el tipo de adaptador nos puede devolver el siguiente problema.

Waiting for beacon frame (BSSID: XX:XX:XX:XX:XX:XX) on channel -1

En el propio mensaje también nos dice como podemos ignorar este problema.

Couldn't determine current channel for mon0, you should either force the operation with --ignore-negative-one or apply a kernel patch

Quedando el comando de la siguiente forma.

sudo aireplay-ng -1 10 -e Nombre_del_AP -a (MAC del AP) -h (MAC de nuestro adaptador) mon0 --ignore-negative-one

Pero esto a veces no funciona, (como me a pasado) no nos deja enlazarnos al AP. En alguno sitios, explican que hay que instalar unos parches para el núcleo, otros que parchear el driver del adaptador, y no se que mas historias complicadas.

Para mi adaptador TL-WN722N (se junta podo en este adaptador, bueno, bonito y barato). La solución fue mucho más fácil que todo eso.

En vez de poner en modo monitor nuestro adaptador utilizando el comando de aircrack-ng (airmon-ng), solo es necesario ponerlo con los siguientes comandos.

sudo ifconfig wlanx down
sudo iwconfig wlanx mode monitor
sudo ifconfig wlanx up

Lo que hacemos con estos es lo siguiente:

ifconfig wlanx down: Desactivamos nuestro adaptador.

iwconfig wlanx mode monitor: activamos el modo monitor en nuestro adaptador (no me he equivocado es con «W» IWCONFIG)

ifconfig wlanx up: volvemos a activar nuestro adaptador, pero esta vez en modo monitor.

Ahora solo tenemos que poner los siguientes comandos para evitar problema con Aircrack-ng, pero en vez de poner mon0, tendremos que poner el nombre de nuestro adaptador (wlanx).

Y con esto ya tenemos resuelto el problema de «fixed channel mon0: -1».

No se si esto solo soluciona el problema con mi adaptador en concreto, si tu tienes otro y te ha funciona, o por el contrario no te funciona, puedes dejar un comentario con tu experiencia.