Manual seguridad alta con configuración WPA-PSK

Comprobación seguridad (WPA-PSK) ¿Podemos estar más seguros?

 Introducción

– 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.

 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 al Manual 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.

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 configuracion 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 secretaque 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.

Manual seguridad alta con configuracion WPA-PSK

Habilitamos “Enable Wireless LAN”.

Ponemos el nombre de red (essid), en este caso “Policia”.

En este captura el essid esta configurado para permanecer oculto. Pero para estas pruebas lo habilitaremos. En el caso que estuviera oculto seria los mismo ya que ya sabemos como obtenerlo y además no importa para este tipo de ataques.

Pongo el canal 1, aunque es igual el que sea. Y de RTS y fragmentación ni los comento, total no se ni para que se usan.

Bueno pinchamos sobre el boto “Aply” y ya tenemos listo el router para que trabaje de forma inalámbrica y con seguridad WPA-PSK.

Programa CCW y configuración de la tarjeta para WPA-PSK

Como trabajar con Linux y mas exactamente el uso de comandos resulta muy estresante y tedioso diseñe esta pequeña aplicación.
Dicha aplicación es un mera interfaz grafica para la transformación en comandos.

Yo de todas formas nombrare y escribiré los comandos ejecutados.

Os la enseño:
Manual seguridad alta con configuracion WPA-PSK

Es bastante útil. Hoy en día ya estamos por la versión 7. Y el responsable actual de proyecto que yo inicie es Uxio

Ya dije que no iba a mostrar como se configura la tarjeta en windows, ya que cada aplicación de cada tarjeta puede ser diferente (la base es la misma) pero si miráis la configuración del router ya veréis lo que se necesita. Y realmente es muy fácil, y además le tengo manía al Windows para usarlo en el universo wireless a no ser que se use el Commview 5.2 para wifi con las tarjetas wireless con chipset atheros y compatibles con el.
Ahora explico como hacerlo en Linux para una Conceptronic C54RI con el chipset de Ralink RT2500, pero…………tenemos que tener instalado el ultimo driver.

Supongo que será valido para cualquier tarjeta con el chipset de Ralink RT2500, como por ejemplo la Conceptronic C54RC.

Coloco un driver que además vale para la reinyección de trafico para seguridad WEP, y no necesita parche alguno.

Para iniciar descarga del driver pincha:aquí.

Preparo una script para configurar esta tarjeta (el nombre de la script le ponéis el que queráis)

Hay va la captura de pantalla:
Manual seguridad alta con configuracion WPA-PSK

Tal cual, creo que no es necesario comentar nada. Solo decir que para otras tarjetas abra formas alternativa y/o diferentes de realizarlo. Por ejemplo la suite del wpa_supplicant (o alguna forma especifica). Este donde este la ejecutamos, en este caso:./wpa.sh

Manual seguridad alta con configuracion WPA-PSK
Si estamos usando cuyalquier version de CCW y hemos creado (la script) en el mismo directorio que dicha aplicación o la tenemos copiada en el, pulsamos el botón “Abrir shell” y ejecutamos:

./wpa.sh

Pongo una imagen una vez ejecutada la script (en el fondo el programa ccw1)
Manual seguridad alta con configuracion WPA-PSK

Vemos que la tarjeta y el sistema reconocen el router, de esta forma sabremos que tenemos una red configurada de forma inalámbrica y con seguridad WPA-PSK.
No hace falta ni siquiera que comprobéis el acceso a Internet, con lo que tenemos en estos momentos ya es suficiente para seguir trabajando.

 Captura general y particular

Bien vamos a lo que realmente importa. Llegados a este punto, todos ya sabemos como funciona el modo monitor, si no lo sabéis aconsejo que paréis de leer este manual y os dirijáis al Manual de drivers para modo monitor en windows.

El estudio de la inseguridad lo haré con mi D-LINK G520 chipset súper G Rev. B3 de atheros (Interface ath0).
Activo la tarjeta mediante el comando apropiado y ejecuto airmon.sh start ath0 o iwconfig ath0 mode monitor, o uso el botón especifico del CCW1.

Vemos que todo va bien. Para Windows ya sabéis, ejecutáis el programa airodump y la tarjeta con sus drivers específicos para modo monitor.

Hay va una muestra:
Manual seguridad alta con configuracion WPA-PSK

Ahora pasamos a la captura general de todas los canales, en Windows lo mismo, con el airodump.
Comando: airodump ath0 file 0, o pulsamos el botón especifico del CCW1.
Y obtenemos:
Manual seguridad alta con configuracion WPA-PSK

Las demás señales que vemos, en el caso que nos ocupa no importan y por ética profesional y personal las oculto, lo importante es que vemos la señal wireless creada por nosotros con el router y la tarjeta C54RI. Vemos la MAC del router, la MAC del cliente, el essid y el canal.

Ahora tomamos nota de todo los datos y los introducimos en la aplicación en el CCW1, o simplemente los apuntamos.

Tanto para Windows y Linux cerramos la captura.

Para Windows abrimos de nuevo el airodump y le colocamos que capture solo en el canal 1. A la respuesta y/n del airodump en Windows, respondemos no, para de esta forma solo tener un fichero del tipo:*.cap.

Es decir los ficheros *.ivs donde solo se incluyen vectores IV no validos para este tipo de seguridad. Los IVs solo serán validos para la recuperación de claves para redes inalámbricas con encriptación WEP.

Ejecutamos: airmon.sh start ath0 1

O pinchamos en el botón adecuado del CCW1.

Si no sabemos que esto de airmon.sh pasamos de el o sea : iwconfig ath0 mode monitor channel 1

Ahora abrimos de nuevo el airodump con el siguiente comando o usando el programa CCW1.
airodump ath0 policiawpa 1

Y que vemos, pues esto:
Manual seguridad alta con configuracion WPA-PSK

Ya lo tenemos preparado para la captura de datos.

Vemos de nuevo el router y el cliente, o sea la C54RI.

Pero no sabemos si el trafico es el correcto y además en data solo hay un “1“.

No pasa nada, realizamos el ataque 0, y si nuestra tarjeta es compatible con el Commview 5.2 en Windows pues
también.

Desautentificación de clientes legítimos.

Realizamos el ataque 0 mediante el comando o con el botón especifico de CCW1:
aireplay -0 5 ath0 -a MAC_AP -c MAC_CLIENTE

Pero ojo, para que sea efectivo probar con diferentes velocidades.

iwconfig ath0 rate 54M hasta iwconfig ath0 rate 24M

Como yo uso este programa lo preparo todo desde el y me ahorro escribir bastante código, ya que el programa lo hace por mi.

Ahí va una muestra:

Queda bastante claro, primero iniciamos el proceso de captura y mientras se esta en ello, realizamos el ataque 0. Hay modelos de tarjetas y de drivers que permiten hacerlo con la misma tarjeta, es decir en este caso la atheros (capturar y inyectar).

Y que obtenemos después del ataque 0:
Manual seguridad alta con configuracion WPA-PSK
Vemos que el trafico a aumentado. En el caso que siempre hubiera trafico dejar la captura unos minutos para que se produzca de forma correcta el intercambio de claves entre cliente y punto de acceso. En este mismo momento también se produce el intercambio del nombre de la red (essid) y aunque estuviera ocultado podría determinarse muy fácilmente.
Para efectuar ataques de este tipo en windows os recomiendo el Manual de inyección de trafico en windows.

Recuperación de la clave secreta

Abro una shell (de la forma que sea) y ejecuto:

aircrack -a 2 -w /ruta_diccionario/diccionario policiawpa.cap

El fichero esta en *.cap por que no le pasamos el argumento 1 al airodump, y es así como lo queremos.
En el CCW1 deseleccionar la casilla de verificación “Grabar solo data” ya que esta viene por defecto seleccionada, sino obtendréis ficheros del tipo *.ivs. Este formato siempre se ha mantenido para todas las versiones del ccw.

La ruta (ruta_diccionario) es cualquier carpeta y se debe de poner de forma completa. El diccionario es un mero fichero básico de texto secuencial (sin añadidos como por ejemplo pudieran ser los ficheros de Word). En cada línea de este fichero nos encontraremos con diferentes caracteres (en definitiva claves de comprobación).

Que nos sale al ejecutar el comando:
Manual seguridad alta con configuracion WPA-PSK

Tanto manual se seguridad alta con cifrado WPA-PSK y solo hemos obtenido un handshake, pues bien tranquilos con eso es suficiente, ahora tecleo 3 (cada uno vera lo que tiene en su captura) que corresponderá al estudio de recuperación de claves WPA-PSK sobre nuestra red wireless propia y …………… a esperar socios, es que no hay mucho más por hacer. Muchas veces os saldrá cero, por lo tanto a repetir el proceso con otro diccionario.

Existen multitud de zonas en Internet donde se pueden conseguir de forma gratuita los diccionarios aquí comentados, pero que en ningún momento informare de donde bajarlos, al ser posiblemente pagina de forma muy temporal.

Decir que existen varios LiveCd de linux que ya incorporan diccionarios.

Si el diccionario es bueno y la clave no es muy difícil puede tardar mucho o infinito, cuando acabe de leer todas la claves y esta no corresponda a la real, en dicha aplicación nos saldrá la palabra EOF (final de fichero), pues bien no desesperéis y os tocara usar otro diccionario. Y si nunca dais con ella, pues enhorabuena, ya tienes configurada tu red inalámbrica de forma segura, pero el 100% nunca lo tendrás, esto nunca lo olvides……………

Si tenéis vuestra red wireless configurada con un bajo de nivel de seguridad (siempre hablamos de WPA-PSK) os saldrá:

Manual seguridad alta con configuracion WPA-PSK

Y lo repito para que se vea solo el aircrack 2.3 sin añadir la aplicación del proyecto ccw.

Manual seguridad alta con configuracion WPA-PSK

Consejo: Si después de varios días no la encontráis y en lugar de estar contentos os ponéis de los nervios y quizás dudéis si realmente estas herramientas de auditoria wireless funcionan bien, hacerme caso, abrir el diccionario con un editor normal de texto (el que queráis) y en cualquier línea del mismo añadir una fila con el nombre secreto. Veréis como si la encuentra, comprobando que el estudio es valido, tanto para resultados negativos como positivos para la recuperación de claves WPA-PSK.

Ya se que esto ultimo parece poco serio para comprobar un nivel de seguridad, pero que sepáis que lo importante en este tipo de configuración es capturar el trafico correcto, y determinar el uso de claves fueras de la lógica normal no contempladas en ningún diccionario, solo así se consigue un alto rendimiento de la configuración de seguridad en sistemas inalámbricos o wireless.

En el caso de un atacante real sobre nuestra red wireless, no podrá añadir ninguna clave al diccionario ya que obviamente no la sabrá.

Así tendremos seguro lo que es mas importante; sabremos como configurar nuestros equipos wireless para darle una mayor seguridad a todo el sistema (vamos si no eres capaz de recuperar una clave WPA-PSK, no tengas dudas de que realmente es segura, ya que la mejor defensa es un buen ataque y siempre hay que analizar tu sistema desde el punto de vista del atacante y corregirlo en ese sentido, hay que estar lo mas preparado posible).
Recodar que las capturas se hicieron en su momento con la aplicación ccw1 , pero que ya tenéis el nuevo ccw7 (se mantienen las mismas funciones que el ccw1 explicado aquí, pero aumentadas considerablemente).

También citar que hemos hablado de la versión 2.3 de la suite del programa que ceo C. Devine pero existen versiones mas actualizadas que el mismo diseño, por ejemplo la 2.41
Yo creo que podemos estar tranquilos con este tipo de protección de que nadie nos quitara ancho de banda, pero solo……. si usamos una contraseña realmente difícil de encontrar en un diccionario.

Hwagm