- Una vez analizadas los inseguras que son las redes inalámbricas con cifrado WEP y facilidad con que se pueden recuperar claves WEP mediante técnicas de reinyección de trafico, desautentificación, autentificación falsa y captura de datos, se nos plantea el reto de comprobar la seguridad de las redes WPA. No voy a explicar todo el rollo de este tipo de seguridad, además que no me lo se, sino la pauta a seguir para demostrar que siguen siendo inseguras (aunque ya no tanto según se configuren), pero según su configuración realmente podemos estar bastantes tranquilos. Hay varias formas de seguridad vía WPA (al menos eso creo yo), pero vamos fundamentalmente las mas habituales usadas por la mayoría de nuestras redes domesticas del tipo WPA-PSK si entrar en servidores RADIUS. La configuración mediante encriptación WEP no depende de una buena configuración, simplemente son inseguras. Las WPA-PSK pueden ser muy seguras, pero siempre que estén bien configuradas.
Solo citar que este tipo de protección difiere de las WEP en que la clave es dinámica, o sea que cambia cada cierto tiempo y es especifica para cada terminal (si estoy equivocado es igual ya que lo que vamos a realizar es un ejemplo de aplicación practica, de como lo haría un posible atacante no autorizado).
Pero antes de llegar a la demostración tenemos que explicar algunos conceptos teóricos muy básicos.
Los routers y las tarjetas inalámbricas deben de tener una clave secreta para una autentificación inicial, para que lo entendáis, como en el Microsoft Windows 2000 Server donde es necesario indicar un nombre de usuario y una clave para tener acceso a los recursos, pues esto diremos en groso modo que es igual. O por ejemplo cualquier foro donde se nos pide un nombre de usuario y una contraseña.
Por lo tanto vamos a ir a la caza de esta clave secreta y así simulamos un virtual ataque, de esta forma en función de los resultados podemos prevenir y configurar nuestro sistema para lograr un alto grado de seguridad wireless.
No es necesario sniffar mucho trafico, no es cantidad sino calidad. Y solo se puede coger en el momento que un cliente se autentifica con su punto de acceso. Por eso, aunque la cantidad de trafico no es importante su nivel de seguridad es mucho mayor debido a que los posibles atacantes deben tener paciencia para encontrar el trafico correcto. Este trafico correcto donde se realizan las presentaciones entre estaciones cliente y los punto de acceso se le denomina como "handshake".
Puede hacerse tanto en windows como en linux. Con la premisa que el numero de tarjetas que permiten el ataque 0 (desautentificación de clientes) es mucho mayor en linux. Cuando se efectúan ataques 0, dichos clientes que llamare legítimos se vuelvan a autentificar sobre todo si es windows quien controla la conexión inalámbrica y no las aplicaciones propias de las tarjetas inalámbricas. En este ultimo caso, esta reasociación automática es mas difícil de detectar y analizar. Pero que conste que con paciencia y sin efectuar ningún tipo de ataque se puede conseguir, simplemente con observar y capturar el trafico y que este se produzca en el momento de la conexión entre cliente y punto de acceso.
Parece sencillo verdad (ya no hacen falta millares de datos capturados), pues no, realmente no es tan sencillo y se puede afirmar que el nivel de seguridad es mayor.
Se debe esta afirmación a la siguiente cuestión: Una vez obtenido el trafico correcto (con un solo "handshake" nos vale) hay que compararlo con las palabras de un diccionario (o sea por método de la fuerza bruta). Dichos diccionarios son meros ficheros secuénciales donde en cada línea hay diferentes caracteres escritos. Y es en estos momentos el punto vital para determinar si una red inalámbrica puede ser o no ser segura, y solo dependerá de nosotros mismos, al contrario que las WEP donde nunca dependerá de nosotros ya que por definición son inseguras totalmente.
Imaginar que vais aun cajero a sacar dinero y no sabéis la contraseña pues bien tenemos 1 entre 10000 posibilidades. Es poco y si lo cajeros nos dejaran mas de 3 intentos sin bloquear la cuenta se haría fácilmente probando varios días.
Con WPA-PSK y la suite del Aircrack no tenemos limitación de intentos ya que lo hacemos fuera del acceso directo (vamos como si tu tuvieras en tu casa una pequeña caja de seguridad con 4 dígitos y probaras todas las combinaciones posibles.
Pero, la clave secreta de este tipo de seguridad no tiene que porque ser de 4 números decimales (como son las claves de los cajeros) sino que puede variar entre 8 y 63 caracteres ASCII si se ejecuta el asistente para redes inalámbricas del Windows XP Profesional SP2. Cada carácter ASCII a su vez puede tener diferentes posibilidades, pues un simple calculo de posibilidades nos dice que el numero total de combinaciones corresponde al numero de caracteres ASCII elevado entre 8 y 63 en funciona de la longitud de la clave. Es cierto que no todos los caracteres ASCII podrán ser utilizados como dentro de las claves, pero el numero final sigue siendo muy elevado.
Por ejemplo, contar solo con números y letras, en total unos 37 mas o menos. Si la clave es de 8 caracteres, las combinaciones posibles serian 3.51247+E12 y si fuera de 6.3E+98, y eso sin diferenciar entra mayúsculas y minúsculas. Pues no hay diccionario en el mundo que lleve todas esas combinaciones. Pero si usamos nombres propios tales como "Feliciano", "Isabelle" o de animales tales como "rinoceronte" o genéricas como "Internet" estas si suelen estar en los diccionarios. Pero por ejemplo "ql9sj3rs7f" si seria una clave buena, solo que tendemos a no usarlas de este tipo, mal hecho, algo similar a las claves de nuestros correos electrónicos y accesos a paginas registradas donde siempre usamos las mismas, y sin encima son medianamente difíciles de recordad, además las apuntamos y las pegamos en la pantalla del monitor.
Parece que podemos empezar a respirar tranquilo de que nadie que no este autorizado pueda acceder a nuestra red inalámbrica y absorber nuestro ancho de banda de conexión a internet.
Por lo tanto nunca elaboréis una clave mediante el sistema personal que el ser humano tiene para recordar las cosas, yo personalmente uso claves que casi siempre olvido y posteriormente tengo que resetar el punto de acceso para poder cambiarla.
Dicho esto, solo cabe añadir que esta demostración esta ideada para que podamos probarlo con nuestros propios equipos y comprobar el nivel de seguridad de vuestras instalaciones inalámbricas. Siempre lo diré que hay que ponerse en el lugar de las personas que tienen conocimientos para acceder a nuestras redes inalámbricas, hay que estar mas preparados que ellos, y una simulación de ataque real con nuestros propios equipos nos permitirá obtener resultados dignos de valorar.
2.- Requisitos
- Como dije anteriormente las pruebas las realizaremos con nuestros propios equipos, entonces necesitaremos de lo siguiente:
1.- Un router inalámbrico que incorpore seguridad tipo WPA-PSK, los Zyxel que vienen en el kit ADSL de telefónica pueden valer. Si no tenemos un router vale lo mismo para un punto de acceso, pero yo lo explicare para este router. Tampoco es necesario exclusivamente un router, sino mas concretamente un punto de acceso, pero dichos routers ya lo llevan incorporado.
2.- Un pc (sea el que sea) pero con 2 tarjetas wireless, una para el trabajo normal y otra para la captura de datos, por lo tanto la tarjeta con la conexión normal debe de permitir la seguridad WPA-PSK y la tarjeta para captura debe de permitir el modo monitor y ataque 0 para linux y/o windows. Si solo se permite el modo monitor también vale pero estaremos mas limitado. Yo en linux lo explicare con el ataque 0. Si queréis ver como se efectúa un ataque 0 (de desautentificación) en windows solo tenéis que acceder alManual de inyección de trafico en windows.
3.- Sistema operativo: Yo lo voy a explicar para Linux, pero vale para windows exceptuando que el ataque 0 tiene un cariz diferente ya que solo es posible con un tarjeta con el chipset atheros y compatible con el CommView 5.2 para wifi) y por lo tanto si no tenéis una tarjeta con esta compatibilidad hay que esperar que el cliente se autentifique por primera vez. Recordad siempre que no todas las tarjetas tanto en linux como en windows permiten el ataque 0.
Nota: No voy a explicar como se configura la tarjeta para seguridad WPA-PSK para Windows ya que es muy fácil y después de leer como funciona un poco esto creo que lo sabréis hacer, además si explicare como se configura el router, una vez visto lo del router entenderéis como hacerlo con vuestra tarjeta para Windows.
Si explicare como configurar para Linux vuestra tarjeta para que trabaje con seguridad WPA-PSK, pero lo haré para la Conceptronic C54RI. El driver para Linux lleva un método especifico bastante rápido, para las otras es necesario la suite de wpa_supplicant
Para configurar la tarjeta de captura creo que todos ya sabemos como hacerlo en Windows y en Linux.
3.- Configuración punto de acceso/router y tarjeta wireless (WPA-PSK)
Entramos en la configuración de nuestro router vía http o con la aplicación de configuración propia de el. Lo bueno es que por http puede hacerse tanto en Linux y en Windows y es la mejor manera para mi (vosotros hacerlo como mejor sepáis o queráis).
Debemos de encontrar una sección en el router parecida a esta:
Manual seguridad alta con configuración WPA-PSK
Debe de estar en la sección de Wireless Lan y en el apartado de 802.1x/WPA.
En Wireless Port Control seleccionamos Authentification Requerided.
De los timer paso de ellos, pero si están a cero poner algún valor, los que están aquí reflejados pueden valer.
En Key Management Protocol seleccionamos WPA-PSK.
En Group Data Privacy seleccionamosTKIP.
Y en Pre-Shared Key ponemos laclave secreta que es lo que queremos descubrir, en mi caso puse "josemaria" (sin las comillas) que pudiera ser perfectamente mi nombre.
Ahora dentro de Wireless LAN nos vamos hasta el apartado Wireless.