
Exploit de prueba de concepto para CVE-2022-47522 que demuestra la interceptación de tramas Wi-Fi mediante un ataque de desautenticación y suplantación de dirección MAC para capturar respuestas HTTP e ICMP.
Esta es una vulnerabilidad que permite interceptar tramas enviadas a clientes arbitrarios en una red Wi-Fi.
Para una explicación detallada, consulte aquí.
Nota: La descripción de MITRE es inexacta; consulte el enlace anterior para obtener los detalles correctos.
Este repositorio se basa en ese enlace.
Para un entorno de prueba realista, la víctima y el atacante se ejecutan en hosts separados.
Es posible ejecutar tanto la víctima como el atacante en un solo host, pero esto requeriría tres interfaces de red inalámbricas y posibles modificaciones en el código y el método de ejecución.
Ejecute los siguientes comandos (opcionalmente en un venv de python):
pip install scapy==2.6.1 httpx==0.28.1
Alternativamente, puede usar ping, curl o un navegador web en lugar de victim.py.
Ejecute los siguientes comandos:
cd macstealer/research
./build.sh
cd ../../attacker
./pysetup.sh
Asegúrese de que la víctima esté conectada a la red que desea probar.
Edite ./attacker/attacker.conf para que coincida con la configuración de red de la conexión de la víctima.
Si no está seguro, investigue cómo configurar wpa_supplicant.conf.
# attacker.conf
# No cambie esta línea, de lo contrario MacStealer no funcionará
ctrl_interface=wpaspy_ctrl
network={
#Rellene con las propiedades de su red
key_mgmt=WPA-PSK
ssid="Su-SSID"
psk="Su-contraseña"
}
Debe configurar NetworkManager para que ignore ambas interfaces:
Añada las siguientes líneas a /etc/NetworkManager/NetworkManager.conf:
[keyfile]
unmanaged-devices=interface-name:{iface};interface-name:{mon_iface}
Aplique los cambios ejecutando:
sudo systemctl restart NetworkManager
Para revertir, elimine las líneas añadidas y reinicie NetworkManager nuevamente.
Active el venv como root antes de la ejecución:
cd attacker
sudo su
source venv/bin/activate
Ejecute victim.py y siga las indicaciones para ingresar la información requerida (o use los valores predeterminados).
Luego, cada vez que presione Enter, se enviará una Solicitud de Eco ICMP y una Solicitud HTTP GET.
Ejecute el siguiente comando:
./attacker.py -i $iface -m $mon_iface -v $victimMAC
-i especifica la interfaz gestionada del atacante,
-m especifica la interfaz monitora del atacante,
-v especifica la dirección MAC de la víctima.
Por ejemplo:
./attacker.py -i wlan0 -m wlan1 -v a0:d3:65:2c:ed:71
Una vez ejecutado, el script establecerá automáticamente una pre-conexión y preparará el ataque.
Cuando el ataque esté listo, verá el mensaje:
Press enter to start attack:
En este punto, presione Enter primero en el lado de la víctima para enviar la solicitud y, a continuación, presione Enter inmediatamente en el lado del atacante para iniciar el ataque.
Para que el ataque tenga éxito, ambas acciones deben realizarse casi simultáneamente.
Sin embargo, la víctima debe enviar la solicitud primero.
Nota:
- Tiempos de conexión más cortos aumentan la tasa de éxito del ataque.
- En mis pruebas, el tiempo de conexión fue de alrededor de 200ms, pero a veces el AP rechazaba conexiones inesperadamente, lo que generaba tiempos de conexión más largos.
- Si esto ocurre, espere a que se agote el tiempo o termine el proceso conCtrl+Ce inténtelo de nuevo.
- Cuanto mayor sea la brecha entre la pre-conexión y la reconexión, mayor será la probabilidad de fallo.
- Presione Enter lo más rápido posible para iniciar el ataque.
- Si el ataque no tiene éxito aunque la conexión del atacante sea estable, intente cambiar el servidor al que la víctima está solicitando a una ubicación más lejana.
Como estoy en Corea, elegí un servidor en Argentina, que es una de las regiones más lejanas.

Compruebe si las respuestas HTTP e ICMP son interceptadas y asegúrese de que el cuerpo HTTP y la carga útil ICMP se muestren correctamente.
Preparación
Ataque Deauth
Interceptar