Si bien la preocupación de los usuarios pasa muchas veces por reconocer si su red Wi-Fi es segura para intercambiar información, la realidad también indica que la débil configuración de una red Wi-Fi puede ser la puerta de entrada para que un atacante puede tomar el control de una computadora, robar claves de acceso e incluso comprometer a otros dispositivos conectados a la misma red, tal como vimos en el caso práctico de un ataque que comienza por el acceso a una red Wi-Fi para luego dirigirse a un Smart TV. Es por eso que en este artículo compartiremos algunas herramientas gratuitas con las cuales es posible auditar la seguridad de una red para determinar si son seguras o no.

El uso de contraseñas débiles no es una práctica exclusiva de los usuarios hogareños. De hecho, en un artículo publicado recientemente por FastCompany se reveló que una reconocida compañía a nivel global que ofrece espacios compartidos para emprendedores, startups y freelancers, utilizaba en varias de sus oficinas una misma contraseña; que además era tan débil que incluso formaba parte de la lista de las peores contraseñas. Por lo tanto, este artículo puede resultar de interés no solo para usuarios hogareños con ciertos conocimientos técnicos, sino también para empresas u organizaciones interesadas en evaluar la seguridad de su red Wi-Fi.

Cómo auditar la seguridad de una red Wi-FI

 Si bien existen múltiples herramientas disponibles, a continuación explicamos algunas de ellas y los pasos que debemos seguir:

Lo primero que debemos hacer es crear un Live CD de Kali Linux. Para ello debemos:

  • Descargar una imagen ISO de 32 o 64 bits, dependiendo de la arquitectura del procesador, desde la página oficial,
  • Descargar el programa Win32DiskImager u otra aplicación para crear un disco de inicio con la imagen descargada,
  • Iniciar el sistema desde el medio extraíble elegido.

Capturar el “handshake” de la conexión

Si bien hay muchas formas de auditar una red inalámbrica, en este caso nos vamos a centrar en un método que comienza con la captura del handshake (proceso de autenticación entre el Punto de Acceso y el cliente, por ejemplo, un dispositivo móvil). Como veremos más adelante, se trata de un método muy efectivo.

Para esta demostración, utilizaremos la herramienta Wifite que viene instalada por defecto con Kali Linux. Esta herramienta internamente utilizará, de forma transparente para nosotros, Aireplay-ng y Airmon-ng para escuchar pasivamente si algún cliente nuevo se conecta a la red y capturar el “handshake”. En caso de no conseguirlo, o en caso de no querer esperar demasiado tiempo, continuará de manera automática con un proceso más agresivo, enviando un “deauth packet” (paquete de desautenticación) a algún cliente forzando su desconexión. Así, el dispositivo desconectado intentará volver a conectarse al Punto de Acceso automáticamente y es en ese instante que Wifite obtendrá el handshake de la conexión.

Crackear el handshake y obtener la contraseña: parte teórica

Antes de ir a la parte práctica de cómo capturar el handshake, veamos la parte teórica de este proceso.

Ahora debemos obtener la contraseña. Como se muestra en la siguiente imagen, el protocolo WPA2 utiliza un proceso de autenticación descrito dentro del protocolo IEEE-802.11i:

Esquema que ejemplifica el handshake de cuatro vías, también conocido como 4-way handshake.

El cliente que desconectamos ya conocía la contraseña correcta para la conexión a la red Wi-Fi, y toda esta información la obtuvimos al capturar el handshake. Obviamente, quienes desarrollaron el protocolo no fueron tan descuidados, por lo que la contraseña no la encontraremos en texto plano. Lo que ocurre es que la contraseña de autenticación (PSK) fue utilizada para construir el Pairwise Transient Key (PTK) y otras claves.

Lo que debemos hacer en este punto es:

  • Asumir distintas contraseñas (PSK),
  • Computar el PTK y el resto de las claves para cada asunción que hagamos,
  • Comparar el MIC (Message Integrity Code) “genuino” que capturamos en el handshake con el que obtenemos al computar las claves en cada caso.

Si asumimos una contraseña y los MIC (el computado y el original) coinciden, las chances de que nos hayamos equivocado de contraseña son 2^(-128), eso es 0,00000, seguido por otros 33 ceros.

Por suerte, hay herramientas que permiten automatizar este proceso. Nuestra mejor opción será intentar obtener la contraseña mediante fuerza bruta; es decir, probar todas las combinaciones posibles, una por una, hasta llegar al resultado. En este caso, todo el proceso será “offline” por lo que, en el caso de tratarse de un ataque real, la víctima no tendrá forma de saber que alguien está intentando adivinar su contraseña.

Para ahorrar tiempo, es importante que al momento de realizar este proceso contemos con la mayor cantidad de información posible sobre la contraseña. A continuación veremos porqué puede convertirse en un dolor de cabeza dejar en el dispositivo que nos envía la compañía prestadora de servicios de Internet la configuración por defecto para conectarse a la red Wi-Fi.

Crackear el handshake y obtener la contraseña: parte práctica

Entrando en la parte práctica de este proceso, para esta demostración utilizaré mi propio Punto de Acceso con la configuración que viene por defecto; es decir, sin haber realizado ninguna modificación a su configuración, que es el error que lamentablemente la mayoría de los usuarios cometen.

Comenzaré por abrir un terminal nuevo e iniciar la herramienta:

Iniciando wifite desde el terminal

Una vez abierta la herramienta, automáticamente pondrá nuestro adaptador inalámbrico en modo monitoreo y comenzará a escanear las redes que se encuentran dentro del alcance.

Escaneo RF

En la columna “NUM” encontraremos el índice asignado a cada red. Simplemente elegimos la red que queremos auditar ingresando su índice. En este caso, trabajaremos sobre el índice 1. Comenzará un proceso automatizado y capturará el handshake. Si, Wifite lo hace realmente fácil.

Luego de unos minutos, obtendremos el siguiente resultado, indicando que la captura fue exitosa:

Captura del handshake

Listo, ya tenemos el handshake. Para realizar el proceso de fuerza bruta utilizaremos la herramienta hashcat. Lo primero que debemos hacer es convertir el formato del archivo capturado que contiene el handshake  de .cap a .hccapx, que es el formato que utiliza hashcat. Para la conversión utilizaremos cap2hccapx, aunque hay otras herramientas disponibles.

Hay que descargar el código fuente de cap2hccapx , disponible en GitHub, y compilarlo. Para esto, solo basta con ingresar los siguientes comandos en orden:

$ wget https://raw.githubusercontent.com/hashcat/hashcat-utils/master/src/cap2hccapx.c
$ gcc -o cap2hccapx cap2hccapx.c
$ mv cap2hccapx /bin

Finalmente, realizar la conversión con el comando:

$ cap2hccapx <nombre del archivo>.cap <nombre del archivo>.hccapx

Instalación de cap2hccapx

Como había mencionado antes, cuanta más información de la contraseña tengamos de antemano, mejor. En este sentido, el problema de las claves Wi-Fi que comúnmente encontramos por defecto en muchas redes de usuarios en LATAM es que son exclusivamente numéricas y de 10 u 11 dígitos. De los cuales algunos conocemos, ya que siempre son iguales. Esta es la configuración por defecto con la que muchos routers son instalados y cuya configuración nunca es modificada por el usuario.

También hay que tener en cuenta que existen bases de datos de contraseñas comunes – llamadas “archivos de diccionario”- que hashcat nos permitirá utilizar para auditar la red. Una buena recomendación para los usuarios es asegurarse que la contraseña que hayamos elegido para nuestra conexión no se encuentre dentro de uno de estos archivos.

Usando el patrón conocido para algunas empresas, nos encontramos con que hay dígitos que no cambian; para nuestro ejemplo tomaremos los primeros 3 dígitos como: 004 o 014 y probaremos con ambos.

Luego, continúan algunos de los números asociados con el cliente, como puede ser su número de identificación. Nos faltará encontrar los 7 u 8 dígitos restantes de la contraseña. Sabiendo esta información vamos a abrir una nueva consola y escribir el siguiente comando:

$ hashcat -m 2500 -a3 004?d?d?d?d?d?d?d <nombre del archivo>.hccapx

Donde:

-m 2500 indica que se trata de un handshake WPA.

-a3 indica que el ataque será por fuerza bruta (masked).

y 004?d?d?d?d?d?d?d indica que la contraseña serán 10 números comenzando con 004.

Una vez ingresado el comando, hashcat comenzará a intentar adivinar la contraseña. Dependiendo de qué tan bueno sea nuestro hardware será el tiempo que demande. Vale aclarar que es posible utilizar hashcat con una tarjeta de video para acelerar el proceso.

Contraseña identificada

Como vemos, hay 10 millones de contraseñas posibles. Si bien es un número alto, si tenemos en cuenta la “velocidad” de procesamiento que tienen los procesadores actuales, vemos que este proceso sólo toma aproximadamente 32 minutos. La contraseña crackeada la podremos encontrar en el archivo potfile.

Con estos pasos podemos llegar a identificar qué tan segura es la contraseña de una red inalámbrica y, por lo tanto, su nivel de exposición frente a un ataque que aproveche estas vulnerabilidades.

Una vez que obtenemos la contraseña de la red Wi-Fi es posible conectarse a la red y obtener acceso a los demás dispositivos que se encuentran conectados. Esto le puede dar la posibilidad a un atacante de explotar otras vulnerabilidades presentes en otros dispositivos.

Lamentablemente, es sumamente común encontrarse con usuarios que utilizan las credenciales por defecto que vienen con el router, lo que representa un problema de seguridad para el usuario, ya que le da la posibilidad a un atacante de acceder a la configuración del router y realizar distintos tipos de ataque. Por ende, la mayoría de las veces es posible acceder a la configuración del mismo, dando lugar a distintos tipos de ataques.

¿Qué puedo hacer para protegerme?

  • Las recomendaciones que damos son las mismas que para protegerse en otros ámbitos informáticos.No utilizar las credenciales por defecto, siempre cambiarlas

Hay muchas formas de ingresar a la configuración del router y modificar las credenciales de acceso al mismo y las de sus redes WiFi. Solo toma una búsqueda en Google.

  • Utilizar contraseñas largas, difíciles de adivinar, que contengan letras, números y caracteres especiales

Para elaborar una contraseña fuerte recomendamos la lectura de los siguientes artículos: cómo crear una contraseña fuerte en un minuto. Tengan en cuenta que para una contraseña compleja el proceso de adivinarla por fuerza bruta que realizamos hoy podría tomar literalmente millones de años, en vez de 32 minutos.

  • No permitir que el alcance de su red Wi-Fi exceda el perímetro de su casa

Esto se puede realizar bajando la potencia de la antena desde la página de configuración del router.

Quizás te interese: