Cracking WPA-PSK
[/font][/color][/size]
Temas incluidos:
[/font][/b][/size]
1.- Introducción Una vez superados los problemas de conexión sobre redes inalámbricas no encriptadas y superados los problemas de conexión sobre señales con
WEP incluido los temas reinyección de trafico, desautentificación y autentificación falsa, 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), y como lo uséis dependerá de vosotros.Hay varias formas de seguridad vía
WPA, pero vamos a atajar las que normalmente nos encontraremos, es decir la
WPA-PSK si entrar en servidores
RADIUS.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, que es lo que mola).Pero antes de llegar a esto, los routers y las tarjetas 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.
Por lo tanto vamos a la caza de esta clave secreta.
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 router, por eso aunque la cantidad de trafico no es importante, es mas duro averiguarla debido a que hay que tener paciencia para encontrar el trafico correcto
(sobre todo con Windows) que posteriormente en la captura veremos como
lo llama la suite del aircrack 2.3 y corresponde a:
"handshake".En Windows es posible pero recordad que es mas difícil ya que en
Linux tenemos la ventaja del ataque 0
(desautentificación de
clientes), así cuando efectuado el
ataque 0, dicho cliente que llamare legitimo se vuelva a autentificar podemos pillar el trafico correcto. Pero que conste que con paciencia en Windows también se consigue.
Parece sencillo verdad
(ya no hacen falta millares de datos capturados), pues no, realmente son mas seguras, ya que 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.
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 2.3 no tenemos limitación de intentos ya que lo hacemos fuera del acceso directo
(vamos como si tu hicieras en casa un pequeña caja de seguridad), pero
(y es mucho pero) la clave secreta no suele ser de 4 números decimales
(como son las claves de los cajeros) sino que puede variar entra
8 y 63 caracteres, incluido todo tipo de símbolos , tanto mayúsculas como minúsculas. Para prueba un botón; o sea mirar todo las caracteres que podáis poner con vuestro teclado. Ahora lo eleváis al numero de caracteresy veréis que las combinaciones son inmensas. Si son 103 teclas y una media de 2 caracteres para cada tecla aunque realmente son mas, tendríamos un máximo de:
(2 x 103)^63 = la calculadora se me va fuera de rango.Si tenemos la suerte
(que menuda suerte) de que sea 8 caracteres pues bien son
324.293.000.000.000.000.000.000 combinaciones(igual me dejo algún cero pero es igual) es tremendo verdad.
Y no todos los diccionarios llevan todas la palabras, ahora estoy trabajando en un programa que cree todas estas combinaciones y se
pueda ensamblar en el argumento especifico del aircrack
(-w, y evitar tener que buscar diccionarios), pero es imposible de momento de conseguir......... y haría falta una eternidad para dar con ello por muy rápido que sea nuestro equipo para procesar datos.
Que hacemos entonces, probar y probar diccionarios ................
Y tener suerte y contar con la mala memoria de algunas personas.
Si aplicamos una lógica sencilla diremos que una conexión de este tipo posiblemente lleve una clave secreta que se pueda recordad y esto es mas posible de sacar, por ejemplo todos tenemos como claves de acceso a nuestros equipos aquellas que son fáciles de recordad y no usamos símbolos raros, pues solo es cuestión de dar con ella.
Dicho esto solo cabe añadir que este curso esta ideado para que podamos probarlo con nuestros propios equipos, su uso para otros campos solo dependerá de vosotros, yo me lavo las manos.2.- Requisitos - Como dije anteriormente las pruebas las haremos 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 un punto de acceso, pero yo lo explicare para este router.
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 conexión normal debe de permitir la seguridad
WPA-PSK y la tarjeta para captura debe de permitir el modo monitor para Windows ymodo monitor y ataque 0 para linux.
3.-Sistema operativo: Yo lo voy a explicar para Linux, pero vale para Windows exceptuando que el ataque 0 no es posible en Windows
(o por lo menos yo no se como hacerlo) y por lo tanto me repito, hay que esperar que el cliente se autentifique por primera vez.
Nota: No voy a explicar como se configura la tarjeta para seguridad WPA-PSK para Windows ya que es fácil y después de leer como funciona un poco estocreo 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 (y porque me lo explico
yadnus). El driver para Linux lleva un método especifico bastante rápido, para las otras es
necesario la suite de
wpa_supplicant pero yo no he tenido cojones ni siquiera de configurar el fichero.config para instalarlo correctamente
(cuando lo consiga lo explicare, y a lo mejor se puede de otra forma para vuestras tarjetas, así que dependerá de vosotros.) Para configurar la tarjeta de captura creo que todos ya sabemos como hacerlo en Windows y en Linux.
3.- Configuración router y tarjeta wireless (WPA-PSK) A partir de aquí y soltado el rollo patatero típico de cualquier cursillo otutorial o como queráis decirle, entraremos en materia de la buena, y los textos serán cortos ya que dispongo de captura de pantallas quese explicaran por si mismas.
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 sepais).
Debemos de encontrar una sección en el router parecida a esta:
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 algun valor, los que están aquí reflejados pueden valer.
En
Key Management Protocol seleccionamos
WPA-PSK. En
Group Data Privacy seleccionamos
TKIP.
Y en
Pre-Shared Key ponemos la clave 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. Habilitamos
Enable Wireless LAN, la captura de pantalla de este
paso la hice antes de habilitarla y no se ve la aspa, pero es igual, ya que este router lleva un botón de reset que si se pulsa 5 segundos se activa de forma automática y de modo externo la señal inalámbrica.
Ponemos el nombre de red
(essid), en este caso
"Policia". En este caso no oculte el essid pero eso es igual ya que ya sabemos como obtenerlo.
Pongo el
canal 1, aunque es igual el que sea. Y de los
rollos de
RTS y fragmentación paso completamente, total no se para que se usan.
Bueno aplicamos todo
(grabamos) y ya tenemos listo el router para que trabaje de forma inalámbrica y con seguridad
WPA-PSK.
4.- Programa CCW1 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 que podéis descargar de:
http://hwagm.elhacker.net/programacion.htm 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:
Es bastante útil.
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.
Ahora explico como hacerlo en Linux para una
Conceptronic C54RI con el chipset de
Ralink RT2500, pero............ tenemos que tener instalado el ultimo driver. Visitar zona Linux:
http://hwagm.elhacker.net/linux.htm Supongo que será valido para cualquier tarjeta con el chipset de
Ralink RT2500, como por ejemplo la
Conceptronic C54RC. Colocar, mejor dicho instalar el numero 12, además, este driver también vale para la reinyección de trafico para seguridad
WEP, y no necesita parche alguno.
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:
Tal cual, creo que no es necesario comentar nada. Solo decir que para otras tarjetas no se como se hace, se debe de
usar como dije antes la suite del
wpa_supplicant (o alguna forma especifica), pero no se ni como va. Este donde este la ejecutamos, en este caso:
/wpa.sh
Si estamos usando el
CCW1 y la hemos creado en el mismo directorio que dicha aplicación o la tenemos copiada en el, pulsamos
el botón
"Abrir shell" y ejecutamos:
./wpa.sh
Bueno esto es fácil de seguir.
Pongo una imagen una vez ejecutada la script
(en el fondo el programa que me hará rico): Vale, 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.
5.- Captura general y particularBien vamos a lo que realmente importa. Todos ya sabemos como va lo del rollo de: modo monitor, si no lo sabéis aconsejo que paréis de leer esto y os pongáis solo con la seguridad WEP.
El estudio de la inseguridad lo haré con mi
D-LINK G520 chipset súper G Rev. B3 de atheros (vamos que tengo una
ath0).
Activo la tarjeta mediante el comando apropiado y ejecuto:
airmon.sh start ath0
o bien;
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 dewildpackets.
Hay va una muestra:
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:
Las demás señales que vemos, en el caso que nos ocupa no importan, 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 y lo ponemos en el
CCW1, o lo apuntamos.
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. No lo probé en Windows, por lo tanto no se si realmente funciona. Para Linux ejecutamos su comando equivalente, pero debemos de tener en cuenta que en Linux, si podemos desautentificar al cliente para sacar el trafico deseado, acción que en Windows no puede realizarse o yo no se hacerlo. Por lo tanto, esperar a que se conecte un cliente en Windows, considero que puede hacerse eterno, así que vosotros mismos. Yo por lo menos sigo con Linux.
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:
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
p.... 1. No pasa nada, realizamos el
ataque 0, y Windows que se joda.
6.- Desautentificación de clientes legítimos. Realizamos el ataque 0 mediante el comando o con el botón especifico del
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 realizamos la captura y mientras esta en ello, realizamos el
ataque 0. Y lo mas bueno de todo es que puede hacerse con la misma tarjeta, es decir en este caso la atheros
(ath0). Y que obtenemos después del
ataque 0: Como he tapado todas las
MAC (me gusta respectar a todo el mundo y me sabría mal que alguien viera sus MAC) os tenéis que
fiar de mi, es decir que realmente son esas
MAC las correctas y que el trafico ha aumentado.
¿Pero será el trafico correcto? En seguida lo sabremos.7.- Obteniendo 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 IV/data" ya que esta viene por defecto seleccionada, sino obtendréis ficheros del tipo
*.ivs. 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 nada de rollos añadidos como lo son los ficheros de
Word). En cada línea de este fichero nos encontraremos con diferentes caracteres. Cuando veáis un diccionario de estos ya lo entenderéis todo esto rollo que explico. De esto no hice captura ya que no vale la pena, ya que es muy simple.
Que nos sale al ejecutar el comando:
Tanto rollo y un solo handshake
(vaya m........), pues bien tranquilos con eso es suficiente, ahora
tecleamos 3 (cada uno vera lo que tiene en su captura) que corresponde al estudio sobre la señal deseada y ............... a esperar socios, es que no hay más. Muchas veces os saldrá cero, por lo tanto a repetir el proceso.
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. Si tenéis suerte saldrá:
Y lo repito para que se vea solo el
aircrack 2.3 sin añadir mi aplicación.
Si después de varios días no la encontráis y os ponéis de los nervios, hacerme caso y coger el diccionario y donde queráis añadir una fila con el nombre secreto. Veréis como si la encuentra, por lo tanto para el trabajo real solo es cuestión de tiempo y paciencia.
Ya se que esto ultimo parece poco serio, pero que sepáis que lo importante es coger el trafico correcto, lo otro solo es cuestión de tiempo, pero funcionar funciona. Y explico esta acción poco profesional y meramente educativa para que veáis como funciona el estudio sobre redes inalámbricas con
WPA-PSK y las herramientas que demuestran su
¿seguridad? o ¿inseguridad? En el caso de estudio real, evidentemente no podremos añadir ninguna clave al diccionario ya que obviamente no la sabremos, pero una cosa tendremos segura con esta prueba y es que: ya tendremos las herramientas cargadas y preparadas para funcionar de forma correcta, y 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 craquear tu propia red, es que realmente es segura, pero perito.......) Si lo intentas para una configuración que no se la tuya puedes tener la duda de que esto no es posible y que no se puede hacer. De esta forma ves que si lo es, difícil pero posible. Y por lo tanto puedes atacar y observar el entorno que te rodea. Para mas dudas ya sabéis donde estamos.
Este es el contenido pricipal de la pagina, solo que menos vistoso, para verlo mejor ya sabeis donde esta:
http://hwagm.elhacker.net/wpa/wpa.htmPD: ¿Y ahora que nos queda?Como dijo Aironjack una vez: Ataques DOS