En el mundo de 802.11, resulta extremadamente valioso poder inyectar tramas mientras la tarjeta inalámbrica se encuentra en modo RFMON, o modo monitor, ya que podemos botar cualquier trama que se nos ocurra al aire y observar sus resultados sin necesidad de estar autenticado en ninguna estación.
Poder inyectar tramas en modo monitor nos permite ampliar de manera considerable nuestras alternativas para auditar redes inalámbricas y aumentan la probabilidad de poder romper con la WEP y obtener el handshake de 4 vias (EAPOL) en WPA2. Otro de los tantos usos para esta técnica son las diferentes implementaciones de DoS inherentes a 802.11, como lo son:
-
Deautenticación
-
Autenticación falsa
-
Reenvió de paquetes interactivo
-
Inyección de trafico ARP
-
Ataques de fragmentación
Con lo anterior, ¿quien no querría poder inyectar tramas?. Uno de los requisitos es tener una versión mayor a la 2.6.24 del kernel de Linux, ya que este viene con el stack mac80211 (antes llamado d80211) que soporta muchas funcionalidades extra y entre ellas esta el soporte para que los nuevos drivers puedan hacer inyección con un par de ajustes (en nuestro caso con los drivers iwl3945, los drivers de Broadcom soportan inyección de manera nativa).
Los diferentes parches que necesitamos aplicar a nuestro kernel 2.6.25 (o mayor) son iwl3945_injection.patch y mac80211_2.6.26-rc6-wl_frag.patch para hacer funcionar el ataque de fragmentación con aireplay-ng en sus ultimas versiones. Una vez aplicados los parches y recompilado el kernel (esto puede variar según la distribución que se use) y sus módulos, editamos nuestra entrada en GRUB e iniciamos nuestro nuevo kernel.
No olviden seleccionar el driver iwl3945 como modulo o directamente empotrado en el kernel. Lo podrás encontrar en la sesión de networking, en wireless drivers. También la forma como prefieras compilar el kernel depende de tu distribución.
# make menuconfig
# make bzImage modules modules_install
# vim /boot/grub/menu.lst
Y configuramos la tarjeta luego de reiniciar nuestro nuevo kernel.
# ifconfig wlan0 down
# iwconfig wlan0 mode monitor channel 6
# ifconfig wlan0 up
# aireplay-ng --test wlan0
Y eso es todo. Ahora el test en aireplay-ng debe decir que tu interfaz es capaz de inyectar tramas en modo monitor.
arpunk@futurisk:~# aireplay-ng --test wlan0
23:54:22 Trying broadcast probe requests...
23:54:23 Injection is working!
23:54:24 Found 1 AP
...
23:54:24 Trying directed probe requests...
23:54:24 [MY:AP] - channel: 6 - ‘test’
23:54:26 Ping (min/avg/max): 1.655ms/90.397ms/105.629ms Power: 180.70
23:54:26 30/30: 100%