Featured image of post Fundamentos para empezar auditar la seguridad de las redes Wi-Fi

Fundamentos para empezar auditar la seguridad de las redes Wi-Fi

Conozca algunos conceptos fundamentales para poder auditar redes Wi-Fi exitosamente. (Tarjetas Wi-Fi, Direccion MAC, Modo Monitor, MAC Spoofing)

Temas

Tarjetas Wi-Fi para auditar redes 📡

Para empezar auditar redes Wi-Fi primeramente necesitamos un tipo de adaptador especial, el cual tiene que soportar lo que se conoce como modo monitor e inyección de paquetes, principalmente el modo monitor, ya que este es el que nos va a permitir realizar exitosamente la captura de la contraseña encriptada, si esta es muy débil puede romperse fácilmente con herramientas como Aircrack o John The Ripper, entre otras.

Puede que la tarjeta Wi-Fi que usas para conectarte a internet acepte el modo monitor, siendo este el caso no tendrás que adquirir una, al no ser que quieras tener más características (alcance, portabilidad, frecuencias de trabajo). Para saber si la tarjeta acepta este modo tengo dos opciones, primero ponerla en modo monitor con el sistema operativo de preferencia (más adelante describo como hacerlo usando mi tarjeta), la segunda es verificar el tipo de Chipset que usa la tarjeta, algunos de los Chipset que conozco, los cuales aceptan este modo son:

  • Ralink RT3070
  • Ralink RT3572
  • Ralink RT5370N
  • Atheros AR9271
  • Realtek 8187L

En el mercado se puede encontrar diversidad de estos adaptadores, para escoger el correcto debemos tener en cuenta algunas características, en que frecuencias trabaja 2.4GHz o 5GHz, si es Dual Band, alcance del adaptador, compatibilidad con el sistema operativo que vas a usar (Kali, Parrot Security, Red Hat, Windows entre muchos otros), y por  último  si es PnP (Plug and play). Además se debe tener en cuenta si solo se va a usar para auditar redes, o también para navegar con ella. Si la usara para navegar, no olvide tener en cuenta el tipo de protocolo y sus tasas de transferencia (Transmission rate) [1]:

Protocolo Frecuencia Ancho del canal Velocidad de datos máxima (en teoría)
${802.11ax}$ ${2,4 GHz}$ o ${5 GHz}$ ${20}$, ${40}$,${80}$,${ 160 MHz}$ ${2,4 Gbps^1}$
${802.11ac}$ ${wave1}$ ${5 GHz}$ ${20}$, ${80}$,${ 160 MHz}$ ${1,73 Gbps^2}$
${802.11ac}$ ${wave1}$ ${5 GHz}$ ${20}$, ${40}$, ${80 MHz}$ ${866,7 Mbps^2}$
${802.11n}$ ${2,4 GHz}$ o ${5 GHz}$ ${20, 40 MHz}$ ${450 Mbps^3}$
${802.11g}$ ${2,4 GHz}$ ${20 MHz}$ ${54 Mbps}$
${802.11a}$ ${5 GHz}$ ${20 MHz}$ ${54 Mbps}$
${802.11b}$ ${2,4 GHz}$ ${20 MHz}$ ${11 Mbps}$
${802.11}$ ${2,4 GHz}$ ${20 MHz}$ ${2 Mbps}$

Algunos de los adaptadores más populares en el mercado son los siguientes:

  • Alfa AWUS036NH 2.4 GHz
  • Alfa AWUS036ACH 2.4 GHz y 5.0 GHz
  • Alfa Network AWUS1900
  • ALFA Network AWUS036AC
  • TP-Link TL-WN722N (solo versión 1)

Por último el adaptador que uso es el Panda Wireless N600 Dual Band, el cual pondré en modo monitor y posteriormente le cambiaré la dirección MAC, esto con el fin de operar bajo otra MAC y obtener algo de anonimato.

👉 Lo escrito aquí es con fines educativos, no me hago responsable del uso que se le pueda llegar a dar, todas las prácticas que vamos a ver recuerda realizarlas en un entorno controlado. 💥🚨💥

Activando el modo monitor de una tarjeta 👨‍💻

El modo monitor es un modo que nos permite capturar y escuchar cualquier tipo de paquete que viaja por el aire y de esta manera interceptarlos, haciendo posible ver información como las redes que están en el entorno con sus respectivos clientes conectados, y por supuesto sus respectivas direcciones MAC.

👉 Para tener en cuenta, una vez este activado este modo el adaptador Wi-Fi no se podrá conectar a Internet, pues esta configuración no nos lo permite.

Para empezar se debe contar con el sistema operativo de preferencia, en mi caso usaré Parrot Security, abrimos la consola de comandos y sin conectar el adaptador Wi-Fi listaré las interfaces de red que tengo actualmente.

  • Con el comando ifconfig se listan las interfaces, se pueden observar dos eth0 la cual es la interfaz por la cual estoy conectado mediante cable, y la lo interfaz loopback la cual es una interfaz propia del router. Lista de interfaces sin conectar el adaptador [Imagen propia]

  • Para verificar si la tarjeta Wi-Fi que trae por defecto su computadora se puede configurar en modo monitor, lo que verá en las interfaces será lo interfaz loopback, y el nombre que le asigna su Sistema Operativo a la tarjeta que tiene por defecto. Si cuenta con más  de una tarjeta de red, estas también se listaran.

  • Conectamos el adaptador que pondremos posteriormente en modo monitor y ejecutando la misma instrucción ifconfig, veremos el nombre que se le asignó al adaptador en mi caso Parrot Security le ha asignado wlx9cefd5fa9136

👉 Recuerde que mi adaptador es PnP (Plug and play), por esta razón solo conecto y el adaptador queda funcional, en otro caso deberá instalar los drives necesarios para el modelo que esté usando. 💥🚨💥

  • Una vez obtenido el nombre del adaptador con el comando airmon-ng start _NombreAdaptador_ se puede activar el modo monitor, en mi caso será airmon-ng start wlx9cefd5fa9136, (Recuerde estar operando bajo el usuario root para que todo funcione correctamente). Si todo sale bien debería ver algo como esto.

  • Ejecutando el comando iwconfig, verá  que primero ya no tiene el nombre de wlx9cefd5fa9136 ahora se llama wlan0mon y segundo que ya se encuentra en Mode:Monitor, pero el adaptador está dado de baja, por lo que si se  vuelve a ejecutar el comando ifconfig no verá  el adaptador en la lista de interfaces.

  • Para levantar el adaptador a la lista de interfaces y este entre en escucha, se ejecutará el comando ifconfig _NombreAdaptador_ up en mi caso ahora se llama wlan0mon entonces será ifconfig wlan0mon up. Listando nuevamente las interfaces con ifconfig, el adaptador ya se encuentra en esta lista con el nombre asignado wlan0mon.

Además de poner el adaptador en modo monitor para empezar auditar la seguridad de las redes Wi-Fi se deben terminar procesos conflictivos, esto con el fin de que el adaptador puede realizar con éxito su trabajo, los procesos son wpa_supplicant y dhclient. La suit de Aircrack tiene su propio comando airmon-ng check kill para que una vez la tarjeta este en Mode:Monitor dichos procesos se detengan, otra manera es con el comando killall wpa_supplicant dhclient, con estos procesos terminados la tarjeta esta lista para empezar a trabajar.

  • Por último para apagar este modo se ejecuta airmon-ng stop _NombreAdaptador_ en mi caso airmon-ng stop wlan0mon, volviendo a listar las interfaces con ifconfig, el adaptador recupera su nombre original o en su defecto le asigna uno similar. No olvidar que una vez apagado el modo monitor se deben restablecer estos servicios detenidos anteriormente, con el comando /etc/init.d/networking restart o simplemente reiniciando la máquina.

¿Qué es una MAC ? 📲

🧏‍♂️ Ejemplo de una dirección MAC 00:20:91:5F:69:08

La MAC Address es un identificador único para cada dispositivo en la red, consta de 48 bits repartidos en 6 bloques hexadecimales, donde los tres primeros bloques son el OUI ( Organizationally Unique Identifier) 00:20:91 estos identifican al fabricante, los tres siguientes NICS (Network Interface Controller Specific) 5F:69:08 identifican el número de serie del mismo, la MAC está  presente en un sin fin de dispositivos (tarjetas de red, routers, impresoras, celulares). Las normativas dadas por el IEEE asegura que cada una de las MAC Address que usan los fabricantes para sus dispositivos sean únicas a nivel mundial [2].

👉 Para efectos prácticos es lo único que se necesita saber para poder realizar MAC spoofing

Realizando MAC Spoofing a mi adaptador Wi-Fi 👨‍💻

La técnica conocida como MAC spoofing consiste en cambiar la MAC de cualquier dispositivo en red mediante herramientas como Macchanger o iproute2. Macchanger se encuentra tanto para consola como para GUI (interfaz de usuario), y en Sistemas Operativos dedicados al Pentesting ya viene instalada por defecto.

  • Primeramente voy a usar la herramienta desde la terminal, con el comando man macchanger se mostrará el manual de uso y su creador, y con macchanger --help podremos ver una guía de inicio  rápido.

Para cambiar la MAC del adaptador lo primero es tener el modo monitor activado, como se explicó anteriormente. El adaptador no se debe mostrar en la lista de interfaces por lo cual lo daré de baja con el comando ifconfig _NombreAdaptador_ down, en mi caso ifconfig wlan0mon down para posteriormente poder realizar el cambio de MAC.

  • Con macchanger -s _NombreAdaptador_ se podrá mostrar la MAC que actualmente tiene el adaptador. Ahora para realizar un cambio de MAC aleatorio con el comando macchanger -a _NombreAdaptador_ se obtendrá una MAC diferente cada vez que se ejecute.

👉 Recodemos que el adaptador se encuentra dado de baja, si queremos operar con una MAC diferente y trabajar así, lo daremos de alta con el comando ifconfig _NombreAdaptador_ up, así estaremos en modo monitor y con un formato que da un poco de anonimato. 🕵️‍♂️

  • Para recuperar la MAC por defecto que trae el dispositivo el adaptador tendrá que estar dado de baja y será con el comando macchanger -p _NombreAdaptador_, con esto volveremos a dejar las cosas en su sito, así que aquí no ha pasado nada 👨‍💻.

Automatización: Modo monitor y MAC spoofing 👨‍💻

Para no hacer este proceso tan complejo voy a integrar dos funciones a mi zsh, el cual es el intérprete de comandos que uso, de igual forma las mismas funciones sirven para bash, de esta manera solo tendría que ejecutar el comando MonitorStart y el adaptador quedaría listo para empezar a auditar con herramientas como Fern Wifi Cracker o con Aircrack. Una vez terminado el proceso con el comando MonitorStop dejamos todo en su lugar.

# Inicia el modo monitor y realiza MAC spoofing
function MonitorStart(){
  airmon-ng start wlx9cefd5fa9135 > /dev/null 2>&1 
  killall wpa_supplicant dhclient 2>/dev/null
  ifconfig wlan0mon down
  macchanger -a wlan0mon > /dev/null 2>&1 
  ifconfig wlan0mon up
}
# Apaga el modo monitor y restablece la MAC 
function MonitorStop(){
  ifconfig wlan0mon down
  macchanger -p wlan0mon > /dev/null 2>&1
  airmon-ng stop wlan0mon > /dev/null 2>&1 
  /etc/init.d/networking restart > /dev/null 2>&1 
}

🧾 Referencias