Una medida de protección empleada frecuentemente en las redes WiFi es el filtrado por dirección MAC. Esencialmente, el filtrado MAC consiste en establecer una lista blanca de direcciones MAC que pueden conectarse a la WiFi.
La funcionalidad de filtrado por dirección MAC impide la conexión de equipos, cuyas interfaz WiFi no tengan una dirección MAC que se encuentre en esta lista. Todos los que tenemos y administramos WiFis domésticas, cuando hemos implementado esta medida de seguridad, nos hemos dado cuenta de lo tedioso que es el mantenimiento. Cuando vienen amigos o familiares y te piden conectarse a la WiFi, es necesario dar de alta las correspondientes direcciones MAC.
Sin embargo, el filtrado MAC no proporciona una protección exhaustiva. Como veremos, es relativamente fácil saltárselo con las herramientas adecuadas.
En este caso, voy a usar el router D-Link y la WiFi HACKME_002. La configuración WiFi actual es:
Como vemos, el ESSID está oculto, no hay cifrado y el filtrado MAC está deshabilitado. Habilitamos el filtrado MAC añadiendo, como estación autorizada, la Raspberry:
Salvamos y aplicamos los cambios de configuración y rearrancamos el router. Como vemos, tenemos una única estación asociada que es la Raspberry.
Asumo que he obtenido (mediante los mecanismos ya contados en otros posts) el ESSID de la red (HACKME_002) y el canal de transmisión (9). En mi Kali, tengo configurada la interfaz wlan1 en modo monitor y la otra interfaz WiFi (wlan0) conectada a la WiFi doméstica:
Arranco Wireshark, pongo a capturar paquetes en la interfaz wlan1 e intento conectarme a la red HACKME_002 a través de la interfaz wlan0 de Kali. Despues de varios reintentos de conexión, la interfaz no logra conectarse:
En Wireshark vemos que Kali envía tramas de autenticación y el punto de acceso le devuelve tramas de error. Esta secuencia se reproduce a lo largo de varios intentos hasta que la interfaz wlan0 se vuelve a conectar a la red doméstica.
El filtrado MAC está impidiendo la conexión del equipo a la red. Para saltarnos el filtrado MAC lo que vamos a hacer es enmascarar la dirección MAC de la interfaz wlan0 de Kali con la dirección MAC de un equipo ya conectado a la red.
Para encontrar la dirección MAC de un equipo conectado a la red vamos a utilizar el comando airodump-ng:
El parámetro –c especifica el canal y el parámetro –bssid el BSSID del punto de acceso. Al cabo de un rato, cuando alguna estación empieza a transmitir obtenemos la información que necesitamos:
Ahora, usamos la utilidad macchanger para cambiar la dirección MAC de la interfaz wlan0. En primer lugar desactivamos la interfaz, lanzamos el enmascaramiento de MAC y volvemos a levantar la interfaz:
Una vez que tenemos enmascarada la dirección MAC procedemos a capturar paquetes con Wireshark y a intentar conectarnos a la WiFi:
Vemos que nos hemos conectado a la WiFi HACKME_002. Conseguido. En Wireshark se aprecian las tramas de autenticación:
Y el log del punto de acceso también muestra la asociación de la estación enmascarada: