Decidí hackear mi nuevo router sólo para tratar de tener una diversión. Spoiler : fue realmente fácil.
Así que para hacer mis pruebas probé una famosa distribución de Linux: Kali Linux. Esta distribución tiene muchas herramientas de hacking preinstaladas que nos ayudan.
Instalé Kali Linux en arranque dual pero también se puede utilizar en modo Live USB o con una máquina virtual como VirtualBox.
Cómo funciona
Aquí utilizaremos Aircrack-ng que es una suite de software de código abierto que se utiliza para monitorizar redes inalámbricas y «romper» las claves WEP y WPA de las redes Wi-fi. El ataque se realizará en varias fases:
- Preparación de la tarjeta de red
- Análisis del objetivo Wi-fi
- Captura de un handshake WPA (una conexión a la red Wi-fi) desconectando un dispositivo en la Wi-fi
- Descifrado de la contraseña del handshake WPA por fuerza bruta
Preparación
El primer paso es activar el modo monitor de la tarjeta de red configurada. Para ello listamos las tarjetas de red disponibles con airmong-ng
. Abra un terminal y escriba:
airmon-ng
Si su tarjeta de red no aparece, no es compatible. Tienes que comprar una (basta con un dongle USB Wi-fi).
En nuestro caso vemos que podemos usar nuestra tarjeta de red wlan0. Así que activamos el modo monitor con el siguiente comando::
airmon-ng start wlan0
A partir de aquí, la tarjeta de red wlan0 ya no está disponible (ya no tiene internet), y aparece una nueva tarjeta de red. Se puede encontrar haciendo un ifconfig
. En mi caso, es wlan0mon..
Análisis
Ahora podemos husmear los paquetes de red que circulan a nuestro alrededor con airodump
:
airodump-ng wlan0mon
Este comando encontrará información adicional sobre el Wi-fi incluyendo:
- el BSSID
- el CHannel
- el AUTH, el modo de autenticación
- el ESSID, el nombre del router
Entre todas las líneas aparece mi red. Recuerda anotar la información ya que nos será útil.
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 18:D6:C7:85:7E:A0 -45 6 0 0 2 54e WPA2 CCMP PSK TP-LINK_7EA0
Capturar un handshake WPA
Un handshake WPA tiene lugar cuando un dispositivo se conecta al Wi-fi. Nuestro objetivo es capturar uno para recuperar la contraseña encriptada.
- Esconder el Wi-fi y esperar a que un dispositivo se conecte al Wi-fi
- Esconder el Wi-fi y provocar una desconexión y esperar a que el dispositivo se vuelva a conectar
Para hacer la prueba, voy a desconectar mi Blackberry ya conectada.
Wi-fi Scan
Entonces escaneamos la red con el comando airodump-ng
y las opciones:
-
-c
opciones para especificar el canal -
--bssid
, el ID de mi router. -
w
el directorio donde se almacenarán los ficheros de salida
airodump-ng -c 10 --bssid 18:D6:C7:85:7E:A0 -w tplink wlan0mon
Dejamos este comando en segundo plano, producirá 3 ficheros, uno de los cuales es de tipo xml. Este es el que nos interesa porque contiene más detalles sobre los dispositivos conectados al wi-fi. Abriendo éste, podemos encontrar muy fácilmente la información de mi Blackberry. Aquí tenemos un extracto del fichero:
<client-mac>94:EB:CD:25:E0:C1</client-mac><client-manuf>BlackBerry RTS</client-manuf>
Desconexión
Ahora que tenemos toda la información, enviaremos un paquete que solicitará la desconexión de mi Blackberry. Usamos aireplay-ng
con los parámetros:
-
-0
para enviar una señal de desautentificación. -
-a
Al BSSID de nuestro Wi-fi. -
-c
El BSSID del objetivo - la tarjeta de red utilizada
aireplay-ng -0 2 -a 18:D6:C7:85:7E:A0 -c 94:EB:CD:25:E0:C1 wlan0mon
El dispositivo se desconecta y se vuelve a conectar automáticamente. El resultado es un Handshake WPA que está contenido en el archivo tplink.cpa.
Cracking
Ahora que hemos obtenido un paquete que contiene la contraseña WPA encriptada, sólo tenemos que probar varias combinaciones hasta encontrar una que coincida: esto se llama fuerza bruta.
el diccionario
Para encontrar una contraseña necesitamos… ¡contraseñas! Puedes encontrar archivos de texto de varios gigabytes con las contraseñas más utilizadas. En mi caso, sé que la contraseña de mi Wi-fi contiene 8 dígitos. Así que voy a utilizar el comando crunch
para generar todas las combinaciones posibles. crunch
utiliza varios parámetros:
- la longitud mínima (8)
- la longitud máxima (8)
- los caracteres a utilizar (0123…9)
Lo enviamos todo en un fichero passwords.txt.
crunch 8 8 12345678 > passwords.txt
En unos segundos obtenemos un fichero de 43046721 líneas que pesa 369 MB!!!!
La fuerza bruta
Entramos en acción. Aquí vamos a hacer fuerza bruta con la contraseña. Para ello utilizamos aircrack-ng
que encriptará las contraseñas una a una y comprobará si coincide con la contraseña del paquete de red que hemos capturado. (Consigue un café ya que puede ser largo).
Para ello utilizamos aircrack-ng
.
aircrack-ng -a2 -b 18:D6:C7:85:7E:A0 -w /root/Desktop/passwords.txt /root/Desktop/tplink.cap
Y después de un rato::
Conclusión
A través de esta pequeña prueba vemos que es muy fácil «crackear» una Wi-fi con contraseña WPA. Las herramientas de las que disponemos son de fácil acceso y no se necesita ningún hardware específico. Sin embargo, aplicando unas sencillas reglas podemos evitar este tipo de riesgos.
Recuerda que la contraseña utilizada era de sólo 8 caracteres numéricos. El número de combinaciones cabe en un archivo de 380 MB. Si la contraseña hubiera incluido caracteres alfabéticos, el diccionario habría superado el terabyte. La fuerza bruta habría durado seguramente varias semanas.
Así que aplicando una contraseña más compleja, reducimos el riesgo. Cambiándola regularmente, no es posible descifrar la combinación con la suficiente rapidez.
Además, es posible adaptar la señal wi-fi para que no sea visible en todo el edificio.
En cuanto sea posible, utilice el cable Ethernet, que sigue siendo la solución más segura.
Enlaces
- Artículo original
- Aircrack-ng
- Kali Linux | Distribución de Linux para pruebas de penetración y hacking ético