1. Introducción
El Wi-Fi es una tecnología de conexión de dispositivos electrónicos de forma inalámbrica. Actualmente es muy extendida y empleada en la inmensa mayoría de domicilios, oficinas, restaurantes, hoteles, etc.
1.1. Un poco de historia
Esta tecnología surgió de la necesidad de estandarizar las conexiones inalámbricas, para ser empleada en numerosos dispositivos diferentes. Buscando ello, en 1999, varias empresas (entre ellas Nokia) se unieron para crear WECA (Wireless Ethernet Compatibility Alliance, actualmente con el nombre de Wi-Fi Alliance).
En abril de 2000 WECA certifica la interoperabilidad de equipos con la norma IEEE 802.11b, bajo la marca Wi-Fi. Esto significa que el usuario tiene la garantía de que todos los dispositivos con ese sello puedan trabajar juntos sin problemas, independientemenete de su fabricante.
A medida que pasaban los años, han ido mejorando la velocidad máxima de transmisión inalámbrica, al igual que los rangos de alcance.
En lo único que se diferencia una red wifi de una red Ethernet (evidentemente a parte de que una es inalámbrica y la otra cableada) es en la forma de transmitir las tramas y paquetes de datos; el resto se afirma que es idéntico. Como consecuencia, las redes inalámbricas (que cumplen la norma IEEE 802.11) son completamente compatibles con las redes locales cableadas (LAN, IEEE 802.3).
Hoy en día los estándares IEEE 802.11b, IEEE 802.11g e IEEE 802.11n disfrutan de una aceptación internacional con la banda de 2.4 GHz y velocidades de hasta 11 Mbit/s, 54 Mbit/s y 300 Mbit/s respectivamente.
También se empieza a manejar el estándar IEEE 802.11ac (conocido también como WIFI Gigabit) que emplea la banda de 5 GHz, siendo esta más limpia que la 2.4 GHz, ya que no hay más dispositivos que operen en ella. Mejora las tasas de transferencia hasta 433 Mbit/s y el máximo teórico es de 1.3 Gbit/s, empleando 3 antenas.
Fuente: Wikipedia
1.3. Tipos de seguridad inalámbrica
WEP
WEP (Wired Equivalent Privacy: seguridad equivalente a la cableada) es un estándar de seguridad implementado en septiembre de 1999, y basándose en claves de 64 bits. Más tarde se aumentó la longitud de la clave (la clave de 128 bits es la más usada en este estándar).
A pesar de las revisiones del algoritmo y el incremento de la longitud de la clave, a medida que pasaran lo años, se descubrieron vulnerabilidades importantes. También fue debido al incremento de la potencia de cálculo de los ordenadores que cada vez fuese más fácil explotar esas vulnerabilidades.
En 2005, el FBI hizo una demostración pública (con el fin de concienciar de la debilidad del protocolo) rompiendo las contraseñas WEP en cuestión de minutos, empleando herramientas libremente disponibles.
Hoy en día, el protocolo WEP sigue siendo altamente vulnerable, a pesar de los intentos de parchearlo. La Alianza Wi-Fi oficialmente "jubiló" WEP en el año 2004.
WPA
WPA (Wi-Fi Protected Access) fue la respuesta y sustitución directa de la "Wi-Fi Alliance" ante el número de vulnerabilidades cada vez mayor encontradas en el protocolo WEP. La configuración más común es WPA-PSK (Pre-Shared Key; clave pre-compartida). Esas claves tienen 256 bits de longitud, que supone un incremento significativo comparando con las claves del protoclo WEP.
En WPA se incluyó la comprobación de la integridad de los mensajes (para impedir que un atacante altere los paquetes que viajan entre el punto de acceso y el cliente) y el empleo de TKIP (protocolo de la integridad de la clave temportal), que más adelante se habrá sustituido por AES (estándar avanzado del cifrado).
A pesar de todas las mejoras de este protocolo, WPA fue desarrollado con el fin de implementarse como sistitución en los dispositivos que integraban WEP. Es por ello que llevaba algunos elementos de WEP que también resultaron ser vulnerables a ataques.
Finalmente, WPA tuvo el mismo destino que su antecesor, WEP. Se hicieron múltiples demostraciones públicas de la explotación de sus vulnerabilidades. Curiosamente, en la mayor parte de ataques no se atacaba directamente el algoritmo WPA, sino el sistema WPS (Wi-Fi Protected Setup), diseñado con el fin de hacer las conexiones inalámbricas más sencillas.
WPA2
En 2006, WPA fue oficialmente sustituido por WPA2. Uno de los cambios más significativos fue el uso obligatorio de los algoritmos AES y la introducción del CCMP (Counter Cipher Mode with Block Chaining Message Authentication Code Protocol: un protocolo nuevo de autenticación) como sustituto de TKIP. Aunque este último también se mantiene en WPA2 para la interoperabilidad con los dispositivos WPA.
Actualmente, la vulnerabilidad conocida más importante de WPA2 requiere que el atacante ya este autorizado en la red. Es por ello que supone una preocupación para entornos de grandes empresas, no tanto para los domésticos. Una vez que el atacante esté dentro de la red, puede lograr acceder a ciertas claves y con ello realizar ataques a otros dispositivos de la red.
Desgraciadamente, una parte importante de los puntos de acceso inalámbricos que emplean WPA2, siguen implementando el protocolo WPS, que sigue siendo igual de vulnerable que el WPS de la 1ª versión del protocolo. Con la capacidad computacional de los ordenadores modernos se necesita entre 2 y 14 horas para penetrar un punto de acceso que presenta esa vulnerabilidad, empleando un ataque de fuerza bruta. Debemos desactivar WPS siempre cuando sea posible. Y mejor si flasheamos nuestro router con un firmware que no contenga esa funcionalidad, para deshacernos por completo de ese vector del ataque.
La lista de tipos de seguridad Wi-Fi (de más seguro a más vulnerable)
1. WPA2 + AES
2. WPA + AES
3. WPA + TKIP/AES
4. WPA + TKIP
5. WEP
6. Red abierta (sin seguridad)
Lo ideal sería deshabilitar WPS y seleccionar WPA2 + AES. Cualquier otra opción de la lista supone la presencia de vulnerabilidades importantes (unas más y otras menos).
Fuente (inglés): howtogeek.com
No vamos a entrar en las consecuencias de que un tercero pueda entrar en tu red inalámbrica. Sólo recuerda: sólo tú, el dueño del punto de acceso, te haces responsable de todas las acciones realizadas bajo tu conexión. Por ello tenemos que ser conscientes de lo importante que es securizar nuestras redes.
La información que viene a continuación es ofrecida sólo para fines educativos de auditar la seguridad de nuestras redes. Todas las pruebas serán realizadas en un entorno simulado, con dispositivos de mi propiedad, y en ningún momento en uno ajeno (al menos no sin el permiso otorgado por el dueño). No me hago responsable de ningún daño ni el uso de esta información con fines ilegales o delictivos.
2. Auditorías de seguridad wireless con Kali Linux
Kali Linux es una distribución basada en Debian GNU/Linux, diseñada principalmente para la auditoría y seguridad informática. Incluye herramientas para una multitud de áreas y análisis de ciberseguridad, incluyendo la auditoría de redes inalámbricas.
Kali Linux fue desarrollado por Mati Aharoni y Devon Kearns a partir de la reescritura del famoso BackTrack, su antecesor (que también fue desarrollado por Offensive Security Ltd.).
2.1. Descifrar claves WEP de un punto de acceso con Kali
El proceso en sí no es nada complejo. Sin embargo, en el camino nos pueden surgir varias complicaciones.
Antes que nada, necesitaríamos una tarjeta inalámbrica que soporte el modo monitor (también a veces llamado modo promiscuo) que nos permitirá la captura y análisis incluso de las redes en las que no estamos autorizados. Estas suelen ser los adaptadores wifi externos, aunque también lo soportan algunos integrados.
a) Ponemos nuestra tarjeta inalámbrica en modo monitor.
Primero, desde la terminal de Kali, ejecutamos airmon-ng para visualizar el nombre de nuestra tarjeta inalámbrica (por ejemplo wlan1). A continuación ejecutamos airmon-ng start wlan1 para iniciar el modo monitor en la interfaz wlan1. Se acaba de crear una nueva interfaz virtual, que viene a ser la interfaz especificada en modo monitor (tendrá el nombre de wlan1mon, por ejemplo). Lo podéis comprobar con iwconfig.
Puede que el programa nos notifique de posibles conflictos con otros procesos, indicando sus PID. Para evitar esos conflictos tendremos que matar los procesos especificados con kill pid_proceso.
b) Escaneamos las redes inalámbricas a nuestro alcance.
Para ello empleamos el comando airodump-ng wlan1mon. La opción -t filtra las redes por tipo de seguridad (wep, wpa, wpa2). Por ejemplo airodump-ng wlan1mon -t wep. Nos aparecerá una lista de puntos de acceso inalámbricos a nuestro alcance mostrando su BSSID (@MAC del punto de acceso), potencia de señal, #data, canal, tipo de cifrado y nombre del AP, entre otras cosas.
En este caso también especifico el canal que se escanea (-c 9).
c) Capturamos los datos de la red, guardándolos en un fichero.
La vulnerabilidad del protocolo WEP consiste en que, teniendo una determinada cantidad de datos (a partir de 30000) que capturamos de la red, podemos descifrar la clave en cuestión de minutos.
Para ello utilizamos el comando airodump-ng (el mismo que empleamos para escanear) con otros parámetros:
airodump-ng -w datos_wep -c 1 --bssid 12:34:56:78:90:AB wlan1mon (donde datos_wep es el fichero que almacenará los datos capturados, 1 es el canal del punto de acceso, 12:34:56:78:90:AB es su BSSID y wlan1mon nuestra interfaz-monitor).
Ya habréis visto que este valor incrementa muy lentamente, o no incrementa del todo (eso dependerá del tráfico que circula por la red). Podríamos esperar mucho tiempo a que incremente por sí mismo, pero hay una forma para acelerar este proceso.
d) Nos asociamos con el punto de acceso e incrementamos el valor #data.
Para asociarnos con el punto de acceso, abrimos una nueva terminal y ejecutamos aireplay-ng -1 0 -a 12:34:56:78:90:AB wlan1mon (donde 12:34:56:78:90:AB es el BSSID de nuestro AP y wlan1mon el nombre del adaptador wifi en modo monitor). Si la asociación es exitosa, saldrá el mensaje de "Association successfull :-)". Si no es así, algo ha ido mal.
Con el siguiente comando empezaremos a emitir las peticiones ARP de forma masiva, con lo que el valor #data de nuestro punto de acceso debería incrementar rápidamente:
aireplay-ng -3 -b 12:34:56:78:90:AB wlan1mon.
Voy a dejar que el valor de data incremente hasta 100000. Así tendremos el descrifrado asegurado:
Si esto no funciona, no nos quedaría otra que esperar hasta que #data incremente por si mismo (o dejar al vecino en paz ;)). Si logramos aumentar #data de manera considerable, procedemos con el siguiente paso.
e) Desciframos la clave a partir del #data obtenido.
Para ello vamos a emplear aircrack-ng que va a utilizar el fichero de datos (datos_wep en mi caso) donde hemos guardado los datos capturados del punto de acceso. El programa mostrará un mensaje si los datos no son suficientes para descifrar la clave, con el siguiente valor necesario para continuar.
Listamos los ficheros del directorio actual (ls) para ver el nombre exacto del fichero de datos (tendrá la extensión .cap).
Para iniciar aircrack-ng, ejecutamos aircrack-ng fichero_datos.cap. Aircrack comenzará a crackear la contraseña. Si la contraseña es encontrada, aparecerá el mensaje KEY FOUND! con la clave correspondiente en hexadecimal y código ASCII (se puede utilizar cualquiera de las dos para conectarse a la red).
2.2. Ataque al WPS con Reaver (fuerza bruta)
Recuerdo una vez más que cualquier punto de acceso que implemente WPS es altamente vulnerable a diferentes tipos de ataque. Y no influye el tipo de cifrado que usa (ya sea WEP, WPA ó WPA2).
En esta parte vamos a utilizar Reaver, una de las mejores herramientas de auditoría wireless en mucho tiempo. Antes de que WPA fuese implementado, cualquier red inalámbrica se podía romper con facilidad. Pero cuando se estandarizó ese protoclo, penetrar una red wifi se convirtió en una tarea mucho más complicada y, muchas veces, emplear un ataque de diccionario ha sido el único ataque viable.
Entonces apareció Reaver, que funciona a la perfección con los puntos de acceso con WPS (Wi-Fi Protected Setup). Como he dicho antes, esta función permite conectarse fácilmente a un punto de acceso utilizando un código PIN.
Si el router tiene habilitado WPS, ya no es necesario romper su cifrado para entrar en la red. WPS emplea códigos PIN sin cifrar. Reaver recorre un diccionario de códigos PIN, hasta econtrarse con uno válido. Aunque también puede realizar ataques de fuerza bruta.
a) Habilitamos el modo monitor en nuestro adaptador inalámbrico.
Primero, desde la terminal de Kali, ejecutamos airmon-ng para visualizar el nombre de nuestra tarjeta inalámbrica (por ejemplo wlan1). A continuación ejecutamos airmon-ng start wlan1 para iniciar el modo monitor en la interfaz wlan1. Se acaba de crear una nueva interfaz virtual, que viene a ser la interfaz especificada en modo monitor (tendrá el nombre de wlan1mon, por ejemplo). Lo podéis comprobar con iwconfig.
Puede que el programa nos notifique de posibles conflictos con otros procesos, indicando sus PID. Para evitar esos conflictos tendremos que matar los procesos especificados con kill pid_proceso.
b) Detectamos los routers de acceso con WPS habilitado.
Para ello utilizaremos el comando wash. Primero vamos a crear el directorio /etc/reaver y después ejecutaremos wash -i wlan1mon -C (C es mayúscula; wlan1mon es el nombre de tu interfaz-monitor).
Como resultado veremos la lista de los routers a nuestro alcance con WPS activado, con su dirección MAC (BSSID), nombre del punto de acceso (ESSID), canal, señal (cuanto más se acerca a 0, más fuerte es) y versión del protocolo.
Copiamos el BSSID del router que vayamos a atacar (lo necesitaremos después). Y antes de pasar al siguiente paso, nos aseguramos de que el proceso de la ventana anterior está parado (pulsar Ctrl+C dentro de esa ventana).
c) Iniciamos el ataque con Reaver.
Para ello, en una terminal nueva, vamos a ejecutar reaver -i wlan1mon -b AA:AA:AA:BB:BB:BB --vv (donde wlan1mon es nombre de nuestro adaptador inalámbrico y AA:AA:AA:BB:BB:BB el BSSID de nuestro objetivo).
Tened en cuenta que esto tampoco funciona con todos los puntos de acceso con WPS activado, ya que algunos router bloquean los intentos de conexión tras varios intentos fallidos. Además algunos puntos de acceso no nos permitirán ni asociarse a ellos para iniciar el ataque.
Para finalizar, me gustaría decir que seais hackers de verdad, y utilicéis estos conocimientos para el bien vuestro y el de los demás. ¡Y nunca para aprovecharse de otras personas!
¡Saludos benignos! ;)
No hay comentarios:
Publicar un comentario