Sacando el jugo a las tarjetas Atheros (madwifi)
Si alguno es un afortunado poseedor de una tarjeta wifi con chipset Atheros (que es el que viene usando Cisco) debéis saber que todo un mundo de diversión inalámbrica está a vuestro alcance ;-)
Identificar la tarjeta
Bueno... para saber si tenemos una tarjeta yo uso lspci porque yo la tengo integrada, si la vuestra es pcmcia o usb podéis usar cardctl o lsusb respectivamente... para mi caso:Instalar los drivers madwifi
Pues nada... si tenemos Debian podemos hacerlo más o menos rápido:- madwifi: HAL cerrado, pero toda la funcionalidad WIFI disponible.
- madwifi-old-openhal: porciones de HAL abiertas (descubiertas, más bien), a mi me funcionan bien pero no tan bien como el anterior.
Configuración de la interfaz
Una vez cargados los drivers con dmesg deberéis obtener lo siguiente:ath_pci: 0.9.4.5 (svn r1993) PCI: Enabling device 0000:00:09.0 (0000 -> 0002) ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNK3] -> GSI 11 (level, low) -> IRQ 11 wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps wifi0: H/W encryption support: WEP AES AES_CCM TKIP wifi0: mac 5.9 phy 4.3 radio 4.6 wifi0: Use hw queue 1 for WME_AC_BE traffic wifi0: Use hw queue 0 for WME_AC_BK traffic wifi0: Use hw queue 2 for WME_AC_VI traffic wifi0: Use hw queue 3 for WME_AC_VO traffic wifi0: Use hw queue 8 for CAB traffic wifi0: Use hw queue 9 for beacons wifi0: Atheros 5212: mem=0x64000000, irq=11Aquí vemos los cifrados hardware soportados, los rates, etc... también vemos que disponemos de la interfaz wifiX (donde X es un número). Si usáis los madwifi con HAL abierto sólo dispondréis de una interfaz nueva athX. Si tenémos wifi0 también tendremos ath0, ésta es la que debemos usar, la configuramos de la siguiente forma (archivo /etc/network/interfaces en caso de Debian/Ubuntu):
- Todo automático:
iface ath0 inet dhcp
Esto hará que se asocie con el punto de acceso que más calidad de señal tenga y haga ahí sus peticiones dhcp. - Automático a una determinada red:
iface ath0 inet dhcp wireless-essid UCLM
Esto buscará la red UCLM y hará ahí sus peticiones DHCP, ejemplos de essid pueden ser motorola, Bianco_, etc. - Automático en una determinada red con cifrado WEP:
iface ath0 inet dhcp wireless-essid vecino wireless-key 1234567890ABCDEF1234567890
Se conectará a la red llamada vecino cifrada con esa contraseña (se detecta el tipo de cifrado según la contraseña).
Configurar Kismet
Si somos muy curiosos puede ser que queramos tener kismet funcionando. Kismet es una utilidad que permite estudiar redes wifi pero que por si sólo puede ser estudio de futuras recetas. Aquí explicaremos cómo configurarlo para su función con madwifi (los drivers con HAL cerrado). El archivo de configuración especifica sources, una source es un dispositivo inalámbrico capaz de establecerse en modo monitor. La source para el caso de madwifi es la siguiente (archivo /etc/kismet/kismet.conf):source=madwifi_g,wifi0,madwifi-ngEl primer campo es el driver para la tarjeta, tenemos madwifi_a, madwifi_b, madwifi_g, madwifi_ab y madwifi_ag (consultad la documentación de Kismet y os vienen todos). El segundo campo es el nombre del dispositivo y por último el nombre que asignamos a la source. Si ahora iniciamos kismet (como root o con un usuario con permisos suficientes), la interfaz cambiará a modo monitor y empezará a capturar paquetes como loco, generará una serie de archivos (descripciones de las redes en xml, etc.) y entre ellos el dump en formato libpcap (que puede ser abierto con wireshark) en el directorio /var/log/kismet/. Hay que decir que kismet realiza un acceso bloqueante a la interfaz, con lo que las conexiones wifi se caerán mientras estéis usándolo. También te avisan de que después de usar kismet es probable que la interfaz deje de funcionar correctamente... pero a mi eso nunca me ha pasado.
Interfaces para todos
Otra cosa realmente interesante de madwifi es la posibilidad que nos brinda de crear nuestras propias interfaces wifi "virtuales" mediante la herramienta wlanconfig. Son muchas las posibilidades que nos ofrece, pero veamos algunas "útiles"...- Crear una interfaz wifi en modo Ad-Hoc:
- Crear una interfaz en modo monitor:
- Crear una interfaz en modo access point con una MAC diferente a la nuestra (da escalofríos pensar qué se puede hacer con esto...):
Conclusiones
Aún se han quedado un par de cosas en el aire... como por ejemplo la inyección de paquetes (que también puede hacer la tarjetilla) etc. Pero creo que para ir abriendo boca tenemos suficiente. Es una lástima que el HAL esté cerrado porque desde luego el chipset este parece bastante espectacular...Enlaces
Multiband Atheros Driver for Wifi Kismet [ show comments ]
blog comments powered by Disqus