Pentesting WiFi: Vulnerando redes WiFi usando la suplantación direcciones MAC

Mac Changer

Después de encontrar y monitorear los puntos de acceso inalámbricos cercanos y los dispositivos conectados a ellos, los hackers pueden usar esta información para eludir algunos tipos de seguridad, como la que se usa para los puntos de acceso Wi-Fi en cafeterías, hoteles y en vuelos muy por encima del suelo. Al intercambiar su dirección MAC por la de alguien que ya está conectado, un hacker puede omitir el filtro MAC y conectarse libremente.

Las redes sin contraseña son comunes en los espacios públicos, lo que permite que cualquier persona se una inicialmente a la red sin necesidad de conocer una contraseña secreta. Probablemente los haya encontrado en Starbucks, habitaciones de hotel y en vuelos con Wi-Fi durante el vuelo. Todas estas redes tendrán un portal de inicio de sesión o los usuarios de la página de pagos serán redirigidos continuamente antes de que puedan conectarse directamente a Internet.

· Cómo las direcciones MAC juegan un papel clave en la conexión

Para conectarse a uno de estos puntos de acceso públicos, o cualquier módem, se necesita la dirección MAC de un dispositivo para asignarle una dirección IP al intentar conectarse, asegurándose de que todas las solicitudes que haga el dispositivo para cargar contenido de Internet se devuelvan a la dirección IP (y MAC) correcta. Los módems pueden permitir o evitar que los dispositivos accedan a Internet en función de su dirección MAC sola.

Estas redes inalámbricas públicas administran su seguridad al tener una "lista blanca" secreta de direcciones MAC que pertenecen a dispositivos que ya han pasado por el proceso de autenticación. Estos dispositivos ya aceptaron los términos del servicio, pagaron o pasaron por el proceso necesario para registrarlos con el filtro MAC de la red, y tienen acceso libre a Internet sin necesidad de volver a pasar por el portal durante un período de tiempo .

Actualmente, no hay muchas maneras, además de las direcciones MAC para un punto de acceso Wi-Fi, de diferenciar entre dispositivos inalámbricos que intentan unirse a la red. Afortunadamente para un hacker, también es extremadamente fácil cambiar o falsificar la dirección MAC de un dispositivo Wi-Fi. Se supone que una dirección MAC es una dirección única establecida por el fabricante para identificar una pieza de hardware a una red y a otros dispositivos, pero en la práctica, asumir que la dirección MAC es siempre veraz no es una buena idea.

· Aprovechando esta brecha de seguridad

Simplemente escaneando el área local con herramientas como Kismet o Airodump-ng, un hacker puede ver fácilmente todas las redes Wi-Fi abiertas cercanas, así como también cualquier cliente conectado a ella. Esto revela claramente la dirección MAC de cualquier dispositivo que intercambia datos con una red, lo que indica que ya se ha autenticado correctamente.

Luego, aparece la suplantación de direcciones MAC. Una herramienta de línea de comando simple como GNU MAC Changer puede intercambiar la dirección MAC del hacker por una que ya se haya detectado, lo que les permite conectarse a la red disfrazado como el dispositivo autorizado de confianza, otorgándoles el mismo nivel de acceso.

Después de suplantar con éxito la dirección MAC, el pirata informático puede obtener acceso a la red sin autenticación o incluso sin pagar una tarifa. Otro escenario es cuando un pirata informático agregará un pequeño dispositivo o cámara de vigilancia a una red Wi-Fi pública que, por sí misma, no tendría la capacidad de autenticarse a través de un portal de la forma en que algunas redes abiertas requieren conectarse.

Vale la pena señalar que la mayoría de estos tipos de redes prohíben que los dispositivos se comuniquen directamente restringiendo cada dispositivo a su propia subred, por lo que no creo que pueda agregarle una Raspberry Pi y SSH directamente desde un punto de acceso de una cafetería. A pesar de esta limitación, la capacidad de obtener acceso libre y sin restricciones a la información es una habilidad crítica para un hacker, y el uso de este truco puede brindarle una conexión de datos en áreas urbanas sin la necesidad de mucha infraestructura.

· ¿Qué necesitas?

Esta es una táctica relativamente simple, pero necesitará un par de capacidades importantes para llevarlo a cabo. En primer lugar, necesitará la capacidad de cambiar su dirección MAC, lo que se puede lograr a través de un programa como GNU MAC Changer, como ya se discutió. Esto es bastante fácil en casi todos los sistemas, pero especialmente en Linux y macOS.

A continuación, deberá poder encontrar y escuchar las redes inalámbricas cercanas. Kismet se puede ejecutar en Linux o macOS para escanear un área amplia, pero otras herramientas específicas como Airodump-ng permiten una orientación precisa y ligera. Cualquiera de los dos funcionará.

En la mayoría de los casos, necesitará un adaptador de red inalámbrico que se puede poner en modo monitor inalámbrico o en modo promiscuo, a menos que su tarjeta actual sea compatible con esto. Si bien Kismet puede habilitar este modo en las tarjetas inalámbricas macOS, recomendamos un adaptador de red inalámbrico cómo el Ralink MT7601U para poder ejecutar todas las herramientas de monitoreo inalámbrico a su disposición.

· Instala las herramientas

Siempre asegúrese de que su sistema esté actualizado. A continuación, asegúrese de tener las herramientas correctas las cuales son: macchanger y aircrack-ng. Esto asegurará que la versión instalada de ambos programas esté actualizada e instalará la versión más actual si no está presente. Dependiendo de tu distribución GNU/Linux puede instalarla así:

  • ArchLinux o basadas en.
    pacman -S aircrack-ng macchanger
  • Debian o basadas en.

    apt install aircrack-ng macchanger

El paquete Aircrack-ng incluye Airodump-ng, nuestra herramienta de reconocimiento para esta táctica. También podemos usar Kismet, pero los filtros simples en Airodump-ng lo hacen ligero para esta aplicación. Si prefiere usar Kismet, puede consultar nuestro artículo sobre vigilancia inalámbrica utilizando Kismet en el siguiente enlace.

Usando Kismet para ver la actividad de un usuario de Wi-Fi a través de las paredes

· Verificar la seguridad de la red abierta

Antes de continuar, conéctese a la red abierta en cuestión y verifique que hay algún tipo de seguridad para pasar.

En nuestro ejemplo, estamos examinando una red propia de Security Hack Labs abierta (es decir, sin contraseña) que usa un filtrado de MAC para conocer a que dispositivos dar internet y a cuales no. Al conectar nuestro dispositivo se le asigna una dirección IP, pero no podemos acceder a Internet. Probamos esto comprobando para ver slos ping pueden llegar a Internet, como se ve a continuación.

[email protected]:~$ ping google.com
PING google.com (64.233.161.139) 56(84) bytes of data.
^C
--- google.com ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms
rtt min/avg/max/mdev = 225.729/249.800/273.871/24.071 ms

Nuestros paquetes nunca llegan a Internet. Si estamos en una red de espacio público tendremos que abrir una ventana del navegador para ver si hay un portal cautivo al que dirigirse para iniciar sesión y acceder a Internet. Como es típico para este tipo de redes, intentar cargar cualquier página web simplemente cargará la misma página cautiva del portal solicitando credenciales de inicio de sesión cada vez.

Abra Firefox, ingrese una URL para navegar, luego debe ser redirigido al portal.

· Coloque su tarjeta inalámbrica en modo monitor

Ahora que ha confirmado que tiene un portal cautivo que probablemente usa una dirección MAC cómo filtrado, es hora de encontrar a alguien que ya tenga permiso para unirse a la red. Primero, pon tus herramientas en orden. Conecte su adaptador de red inalámbrica, y use ip a para ver el nombre que su computadora le asigna. Debería iniciar por wl.

Ip a

En nuestro caso, al tener dos tarjetas inalámbricas se mostrarán dos nombres (wlp3s0 y wlp0s20f0u2), usaremos wlp0s20f0u2. Una vez que tenga el nombre de su interfaz, tendrá que poner la tarjeta en modo monitor para explorar el área. Para hacer esto, ingrese lo siguiente en una ventana de terminal.

sudo airmon-ng start $NombreDeLaTarjetaWiFi

Airmon

Copie el nombre de la tarjeta que se ha colocado en modo monitor (normalmente es el nombre inicial de la tarjeta más mon al final), ya que la necesitará para el siguiente comando.

· Escaneamos las redes y las filtramos por el tipo de cifrado

Para escanear toda el área en busca de redes abiertas, usaremos Airodump-ng con un solo argumento. En una ventana de terminal, escriba el siguiente comando, asegurándose de cambiar "wlp0s20f0u2mon" por el nombre de su tarjeta inalámbrica. La opción --encrypt OPN nos ayudará a encontrar solo redes abiertas.

sudo airodump-ng wlp0s20f0u2mon --encrypt OPN

Open

Esta lista puede ser bastante grande, por lo que deberá filtrarla más para que sea útil. Deje que esto funcione por un tiempo y busque algunas cosas clave: transferencia de datos y clientes. Su tarjeta escaneará todos los canales de manera predeterminada, por lo que saltará un poco mientras lo hace. Puede ver los dispositivos del cliente (computadoras portátiles, teléfonos celulares y otros dispositivos con Wi-Fi) enumerados en la tabla en la parte inferior.

Mientras lo hace, comenzará a mostrarle si se están transfiriendo datos en la red, o si solo se están transmitiendo "beacons". Los beacons son paquetes automáticos que se envían varias veces por segundo para que los dispositivos cercanos sepan que están disponibles para conectarse, y no significan nada interesante. Sin embargo, significa que es probable que haya alguien en la red. A veces puede ser difícil ver esto mientras saltas en diferentes canales. Presiona Ctrl + C para detener el escaneo.

· Atacando una cliente y canal específico

Para mantener su tarjeta en un canal, seleccione el canal con la mayor cantidad de redes abiertas en él. Para eso puedes usar la opción -c $NúmeroDelCanal en la orden de escaneo.

Ya que está buscando dispositivos conectados que ya han pasado por el filtro de direcciones MAC, tendrá que agregar otro argumento para mostrar solo los dispositivos asociados (conectados). Para construir el filtro para encontrar un usuario conectado, agregue la opción -c para especificar el canal y -a para ignorar cualquier cliente que no esté conectado actualmente. Asegurándose de cambiar el número de canal al de la red a la que se dirige, ejecute lo siguiente en una ventana de terminal.

sudo airodump-ng wlp0s20f0u2mon -c $NúmeroDelCanal --encrypt OPN -a

SHL

El dispositivo marcado, es el que se encuentra conectado a nuestra red.

· Vuelva al modo estación

Ahora, puede sacar su tarjeta del modo monitor y regresar al modo estación. Para hacer esto, escriba sudo airmon-ng stop wlp0s20f0u2mon, reemplazando el nombre de la interfaz con el nombre de su tarjeta. Esto debería cambiar el nombre de la tarjeta y eliminar el "mon" al final. Ejecute ip a nuevamente para confirmar el nuevo nombre de la tarjeta.

Una vez que esté en modo de estación, deberá bajar la tarjeta para cambiar la dirección MAC. Puede hacer esto escribiendo sudo ip link set dev wlp0s20f0u2 down. De nuevo, asegúrese de reemplazar wlp0s20f0u2 con el nombre de su tarjeta inalámbrica.

· Disfrázate como un cliente conectado

Una vez que su tarjeta esté descargada, puede usar MAC Changer para cambiar su dirección MAC. Esto se hace escribiendo lo siguiente en la terminal.

sudo macchanger -m $NuevaDirecciónMAC $NombreDeLaInterfaz

Una vez que se realiza este cambio, vuelva a colocar la tarjeta escribiendo el siguiente comando, y luego intente volver a conectarse a la red objetivo.

sudo ip link set dev wlp0s20f0u2 up

Con su dirección MAC suplantada, puede conectarse a la red a la que está conectado su dispositivo objetivo. Inmediatamente, deberías ver la diferencia de conectarte antes con tu dirección MAC original: de repente, estás haciendo pings, y podrás cargar sitios web ¡sin ser redirigido al portal cautivo!

[email protected]:~$ ping google.com
PING google.com (172.217.0.174) 56(84) bytes of data.
64 bytes from mia09s16-in-f14.1e100.net (172.217.0.174): icmp_seq=1 ttl=51 time=87.7 ms
64 bytes from mia09s16-in-f14.1e100.net (172.217.0.174): icmp_seq=2 ttl=51 time=128 ms
64 bytes from mia09s16-in-f14.1e100.net (172.217.0.174): icmp_seq=3 ttl=51 time=147 ms
64 bytes from mia09s16-in-f14.1e100.net (172.217.0.174): icmp_seq=4 ttl=51 time=145 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 87.752/127.079/147.230/23.903 ms

Es importante tener en cuenta que el otro dispositivo de la red puede tener dificultades para conectarse a la red repentinamente debido a una colisión de IP. Esto se produce cuando dos dispositivos con la misma dirección MAC están en la misma red y se les asigna la misma dirección IP. Debido a esto, debe tener cuidado con el uso de esta técnica, ya que podría constituir un acceso no autorizado a una red y la denegación de servicio del usuario cuya dirección MAC está tomando prestada.

· Otros usos de la suplantación de direcciones MAC

Para agregar un dispositivo de IoT o cualquier otro dispositivo que no pueda hacer clic a través de un portal cautivo, el proceso es extremadamente sencillo. En lugar de suplantar la dirección de un dispositivo existente, puede simplemente suplantar su dirección MAC a la del dispositivo que desea agregar a la red. Una vez que haya visitado el portal y su dirección MAC se haya agregado a la lista blanca, puede volver a cambiar su dirección MAC y conectar su dispositivo IoT sin problemas.

Cómo ha agregado manualmente la dirección MAC al filtro MAC de la red abierta, debería poder conectarse a internet directamente sin problemas. Tenga en cuenta que la mayoría de las redes abiertas restringen a los usuarios a su propia subred, por lo que no espere que sea posible conectarse mediante SSH en su dispositivo a través de la red de área local. Su dirección MAC volverá al original cuando reinicie, por lo que puede volver a cambiarla a través de MAC Changer o reiniciando cuando termine de suplantar su dirección.

· Defendiéndose contra la suplantación de direcciones MAC

Dado que las direcciones MAC pueden ser falsificadas tan fácilmente, generalmente no se recomienda su uso para cualquier aplicación que requiera seguridad real. Si bien el filtrado de direcciones MAC puede evitar que un atacante no calificado conecte un dispositivo, cualquier persona con conocimientos básicos de reconocimiento inalámbrico consideraría trivial eludir dicha restricción de red.

Es mucho más seguro requerir una contraseña para conectarse y restringir a un usuario a su propia subred, en lugar de mantener una red abierta con un portal cautivo utilizando el filtrado de direcciones MAC.

Cabe mencionar que este artículo fue hecho con fines meramente educativos y que todas las infraestructuras usadas cómo las imágenes son propiedad de Security Hack Labs.

Si te ha gustado el artículo, síguenos en FacebookTwitterunete a nuestra charla en Riotúnete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación o comprar nuestros servicios.

Acerca del autor

Especialista en Seguridad Informática bajo certificación OSCP, experto en técnicas de privacidad y seguridad en la red, desarrollador back-end, miembro de la FSF y Fundador de Security Hack Labs. Desarrollador de la distribución de hacking BlackArch Linux. Twitter: @edu4rdshl XMPP/Email: [email protected]