📶Redes wifi
Como se van a trabajar con múltiples tarjetas de red, todos los comandos tienen una versión con variables, para que sea más fácil y rápido modificar la información.
Conceptos generales
Tabla del protocolo Wi-Fi IEEE 802.1
Protocolo / Banda | Frecuencia | Ancho del canal |
---|---|---|
802.11ax | 2,4 o 5 GHz | 20, 40, 80, 160 MHz |
802.11ac wave2 | 5 GHz | 20, 40, 80, 160 MHz |
802.11ac wave1 | 5 GHz | 20, 40, 80 MHz |
802.11n | 2,4 o 5 GHz | 20, 40 MHz |
802.11g | 2,4 GHz | 20 MHz |
802.11a | 5 GHz | 20 MHz |
802.11b | 2,4 GHz | 20 MHz |
Tradicional 802.11 | 2,4 GHz | 20 MHz |
Seguridad en redes inalámbricas
Las redes inalámbricas pueden contar con diferentes tipos de seguridad, ante los cuales, variarán los ataques a realizar.
WPS.
WEP.
WPA/WPA2/WPA3-PSK. (Personal)
WPA/WPA2/WPA3-MGT. (Enterprise)
Herramientas
Host. Máquina donde realizar las pruebas, puesto que, entre otras cosas, habrá que modificar las tarjetas de red a modo monitor, lo que requiere que se deshabiliten procesos de red que impedirán la conexión a la red en la máquina donde se ejecuten las pruebas (y de alguna forma tienes que poder consultar esta wiki y otros recursos xD). Las opciones clásicas son:
Máquina virtual. Cualquiera, aunque por comodidad, se puede optar por Kali (preferiblemente VMware, ya que en Vbox a veces las tarjetas de red dan problemas ).
Raspberry Pi:
Raspberry Placa Base PI 4 Modelo B / 8GB: https://www.amazon.es/gp/product/B0899VXM8F/
Tarjetas de red. Mínimo 2 tarjetas de red. Con una tarjeta de red es posible realizar la pruebas, pero en el caso de redes corporativas, es necesario al menos, 2 tarjetas de red.
Por ejemplo, para levantar un AP falso (Fake AP) donde capturar información y/o credenciales, y otra con la que desautenticar usuarios o realizar otras pruebas.
Hay muchas, por aquí te dejo mis favoritas (y las que utilizo):
AWUS036ACH: https://www.amazon.es/gp/product/B00VEEBOPG/
Comandos generales
Para mostrar información sobre las interfaces de red y wifi:
Para la gran mayoría de las pruebas, es necesario tener la interfaz de red en modo monitor y para ello será necesario utilizar una tarjeta wifi compatible con ello.
Según el modo utilizado se obtendrá diferente información de las redes wifi.
Modo monitor
El modo monitor permite capturar todos los tipos de paquete wifi, de esta forma, es posible obtener información de los puntos de acceso y clientes conectados, entre otros detalles.
Para realizar la captura de paquetes, es necesario cambiar la interfaz a modo monitor (o modo promiscuo). Por defecto, se suele encontrar en modo managed.
Para cambiar el modo de una interfaz, por ejemplo, la wlan0 a modo monitor, se realizarán las siguientes acciones:
Tomar como variable IFACE el nombre de la interfaz de red que se quiera modificar. (ej: wlan0)
Deshabilita la interfaz de red.
Cierra (mata 🔪🔪🔪) los procesos de red (sí, te vas a quedar sin internet 🕯️).
Cambia la interfaz a modo monitor.
Habilita la interfaz de red.
Muestra información de las interfaces de red inalámbricas.
Por ejemplo, si las redes o SSIDs se encuentran en bandas de 2,4Ghz o 5Ghz, deberemos modificar la configuración de nuestra tarjeta para que trabaje con esa banda y canales correspondientes.
A continuación, se detallan los comandos de acuerdo a las bandas con las que se desee trabajar:
Modo managed
Captura de paquetes
Captura básica
Se capturan paquetes utilizando la interfaz de red en cuestión (IFACE) y se guarda la información en un fichero pcap que luego se podrá abrir con wireshark.
Si el nombre del pcap ya existe, se crea un fichero con el mismo nombre seguido de una numeración ascendente, evitando sobreescribir capturas que hayamos realizado anteriormente.
Captura en una banda en concreto
Banda
a
:
Bandas
a
,b
yg
:
Captura de un ESSID en concreto
Es posible capturar paquetes de un ESSID en concreto haciendo uso de expresiones regulares, esto permitirá focalizar la captura de paquetes en los SSID que tengamos dentro del alcance y guardar la información en un fichero pcap que luego se podrá abrir con wireshark.
Por ejemplo, el comando anterior, realizará una captura utilizando la interfaz wlan0 de todas aquellas redes cuyo SSID coincida con la expresión regular indicada (WIFI_WTF, WIFI_OMG, etc.) y guardará la información en un fichero llamado captura.
Captura de un BSSID en concreto
Tras realizar una primera captura básica donde se pueden observar las redes que se encuentran alrededor, se identifica el/los BSSID (MAC) de la red objetivo y el canal, para realizar una captura solo de información de dicha red (para capturar solo lo que nos interesa y omitir redes fuera del alcance).
Por ejemplo:
Lo mismo, pero con variables:
Cracking
Diccionarios
Crunch
[Cracking] Hashcat
Para el cracking de contraseñas desde los pcap capturados, se puede realizar un:
Ataque por diccionario.
Ataque de fuerza bruta.
Para el ataque por diccionario:
Para el ataque por fuerza bruta:
Una vez se obtenga la contraseña, se puede visualizar con el siguiente comando:
Resumen de ataques
[DoS] Denegación de servicio. - Ataque de deautenticación. - Saturación de APs.
[Cracking] Fuerza bruta.
WEP.
WPA-PSK.
Captura de handshake (4-way).
Nueva conexión.
Deautenticación.
Captura de PMKID.
WPS pin.
WPA-MGT.
Captura de nombres de usuario.
Fuerza bruta para obtención de credenciales.
[Fake AP] AP falso.
Red abierta.
Portal cautivo y captura de credenciales.
WPA-PSK.
Captura de handshake y cracking.
WPA-MGT.
Captura de credenciales corporativas.
Captura de nombres de usuarios.
Captura y falsificación de certificados.
[Otros] KARMA, MANA, Loud Mana, Known beacon.
Red abierta.
Portal cautivo y captura de credenciales.
WPA.
Captura de handshake.
Para la adaptación de los ataques de acuerdo a la casuística con la que nos encontremos y la seguridad de las redes objetivo, es muy útil utilizar el siguiente mapa para determinar el flujo de ataque y llevar un mejor control de las pruebas:
https://github.com/koutto/pi-pwnbox-rogueap/blob/main/mindmap/WiFi-Hacking-MindMap-v1.pdf
[Ataque] Deautenticación
Desconectar a todo el mundo o un cliente en específico (ESSID) de un AP.
Para la realización de la mayoría de ataques, cuando no podamos capturar conexiones nuevas en la red, será muy util realizar un ataque de deautenticación controlado contra clientes de la red objetivo con el fin de desconectar a un usuario/cliente de la red objetivo y capturar la información de autenticación de dicho usuario de acuerdo a la seguridad de la red en cuestión.
Por ejemplo, si la red tiene seguridad:
WPA-PSK: Se fuerza al usuario a deautenticarse de la red, podremos capturar el handshake.
WPA-MGT: Se fuerza al usuario a deautenticarse y se capturan credenciales con un AP falso.
Si se quiere evitar realizar ataques de deautenticación, es recomendable capturar paquetes antes de que se realicen nuevas conexiones, por ejemplo, al comienzo de la jornada habitual de los trabajadores o al volver de la hora de comida. Para ello, bien se puede madrugar, o dejar una raspberry PI capturando handshakes y/o un AP falso (aquí es donde empieza a ser útil tener mínimo dos tarjetas de red).
[A] Deautenticación simple
Para realizar un ataque de deautenticación, es necesario conocer:
La MAC del AP del SSID (red objetivo) del cuál se quiere obtener el handshake.
La MAC de un cliente que se encuentre conectado a dicho AP.
Esta información se puede obtener de la siguiente forma:
Realizar una captura básica para obtener información de las redes cercanas. [Captura básica]
Obtener la MAC de la red objetivo. [Captura de un ESSID en concreto]
Realizar una captura del AP con la MAC obtenida. [Captura de un BSSID en concreto]
Seleccionar la MAC del cliente que se desea deautenticar.
Utilizar airplay-ng para deautenticar al usuario, repetir todas las veces que se considere necesarias para obtener el handshake o credenciales. Si no se consigue obtener un handshake, ponerse en medio o acercarse al cliente objetivo.
Obtención del handshake o credenciales.
De acuerdo a los pasos mencionados anteriormente:
Capturar de redes cercanas o directamente nuestra red objetivo:
Conociendo el MAC (BSSID) de la red objetivo, se realiza una captura de paquetes de dicha red. Aquí pueden pasar dos cosas:
Se realiza una nueva conexión y se consigue capturar el handshake o credenciales.
Se selecciona el MAC de un cliente que se quiera deautenticar para capturar el handshake en cuanto se intente conectar al AP:
Se realiza la deautenticación del cliente objetivo mientras se capturan paquetes del AP (BSSID) o red (ESSID) en cuestión.
Si se conoce que solo hay un AP en la red, será interesante hacerlo solo de este.
En cambio, si la red tiene múltiples AP's, será interesante realizar una captura del ESSID, con el fin de abarcar todos los AP's correspondientes a la red objetivo y tener mayor probabilidad de capturar el handshake.
Mientras se realiza una captura del AP o red (con los comandos anteriores), se ejecuta el siguiente comando para forzar la deautenticación del cliente:
Lo mismo, con variables:
Realizar la deautenticación hasta obtener un handshake o credenciales. Si no se consigue un resultado favorable, habrá que colocarse físicamente entre el AP y la víctima, a mayor cercanía, más probabilidades de capturar los paquetes.
[A] Deautenticación múltiple
Si se realiza la deautenticación anterior para múltiples usuarios, se puede causar una denegación de servicio en masa.
[A] Obtener nombres de redes ocultas - Hidden SSIDs
Es posible obtener el nombre de redes ocultas si se capturan paquetes de conexiones de clientes a esta red.
Por ejemplo, se identifican las redes disponibles, y posteriormente, se capturan paquetes del BSSID del que se desee obtener el nombre.
Una vez se conecte un usuario, bien de forma trivial o por medio de forzar una nueva conexión deautenticando al usuario, se obtendrá el nombre de la red.
[Ataque] WPS
[En proceso]
[Ataque] WEP
[En proceso]
[Ataque] WPA-PSK
La conexión requiere de un handshake entre el punto de acceso (router) y el cliente. Este handshake envía 4 paquetes al conectarse un cliente.
Para obtener el handshake, se puede:
Esperar a que se conecte un cliente.
Realizar un ataque de deautenticación para forzar la autenticación de un cliente en cuestión.
[A] 4-way handshake
Consiste en capturar los paquetes enviados durante el handshake para posteriormente intentar crackear la contraseña.
Según las casuísticas y la cercanía del AP, se pude realizar de dos formas:
Con el AP legítimo.
Sin AP legítimo.
[Ataque] WPA-MGT
En WPA-MGT o Enterprise, la autenticación es gestionada por un servidor RADIUS, para ello, se utilizan los métodos EAP que gestionan las credenciales de acuerdo al tipo de método utilizado.
Según los métodos que sean soportados, podrán realizarse distintos ataques con mayor o menor probabilidad de éxito.
Para la captura de credenciales, se crea un AP falso con el mismo SSID que la red objetivo. Si los métodos EAP soportados son inseguros, podría llegar a capturarse las credenciales (dependerá de la configuración tanto por parte del cliente como del AP y servidor).
Métodos EAP
Métodos inseguros
Existen múltiples métodos que se consideren inseguros, ya que permiten que sean crackeados sin necesidad de un AP falso.
EAP-MD5.
EAP-GTC.
LEAP.
Por otro lado, existen métodos seguros que pueden llegar a ser inseguros si no se implementan adecuadamente, pudiendo ser explotados por medio de la creación de un AP falso:
PEAP.
TTLS.
[En proceso]
[A] AP falso / Fake AP / Rogue AP / Evil Twin
Al hecho de crear un AP falso con el mismo nombre que el AP objetivo, se le dan diferentes nombres:
AP falso.
Fake AP.
Rogue AP.
Evil Twin.
[En proceso]
[A] Ataque de downgrade
[A] Ataque de password spray
[A] Relay Attack
[En proceso]
[Ataque] WPA3
Referencias
Última actualización