
Questa è una vulnerabilità che consente di intercettare frame inviati a client arbitrari su una rete Wi-Fi.
Per una spiegazione dettagliata, vedere qui.
Nota: la descrizione di MITRE è imprecisa; fare riferimento al link sopra per i dettagli corretti.
Questo repository si basa su quel link.
Per un ambiente di test realistico, la vittima e l'attaccante eseguono su host separati.
Potrebbe essere possibile eseguire sia la vittima che l'attaccante su un singolo host, ma richiederebbe tre interfacce di rete wireless e potenziali modifiche al codice e al metodo di esecuzione.
Eseguire i seguenti comandi (opzionalmente in un venv python):
pip install scapy==2.6.1 httpx==0.28.1
In alternativa, è possibile usare ping, curl o un browser web al posto di victim.py.
Eseguire i seguenti comandi:
cd macstealer/research
./build.sh
cd ../../attacker
./pysetup.sh
Assicurarsi che la vittima sia connessa alla rete che si desidera testare.
Modificare ./attacker/attacker.conf per corrispondere alle impostazioni di rete della connessione della vittima.
In caso di dubbi, consultare come configurare wpa_supplicant.conf.
# attacker.conf
# Don't change this line, other MacStealer won't work
ctrl_interface=wpaspy_ctrl
network={
#Fill in properties of your network
key_mgmt=WPA-PSK
ssid="Your-SSID"
psk="Your-password"
}
È necessario configurare NetworkManager per ignorare entrambe le interfacce:
Aggiungere le seguenti righe a /etc/NetworkManager/NetworkManager.conf:
[keyfile]
unmanaged-devices=interface-name:{iface};interface-name:{mon_iface}
Applicare le modifiche eseguendo:
sudo systemctl restart NetworkManager
Per annullare, rimuovere le righe aggiunte e riavviare di nuovo NetworkManager.
Attivare il venv come root prima dell'esecuzione:
cd attacker
sudo su
source venv/bin/activate
Eseguire victim.py e seguire le istruzioni per inserire le informazioni richieste (o usare i valori predefiniti).
Quindi, ogni volta che si preme Invio, verranno inviati una richiesta ICMP Echo e una richiesta HTTP GET.
Eseguire il seguente comando:
./attacker.py -i $iface -m $mon_iface -v $victimMAC
-i specifica l'interfaccia gestita dell'attaccante,
-m specifica l'interfaccia monitor dell'attaccante,
-v specifica l'indirizzo MAC della vittima.
Ad esempio:
./attacker.py -i wlan0 -m wlan1 -v a0:d3:65:2c:ed:71
Una volta eseguito, lo script stabilirà automaticamente una pre-connessione e preparerà l'attacco.
Quando l'attacco è pronto, verrà visualizzato il prompt:
Press enter to start attack:
A questo punto, premere Invio dal lato della vittima per primo per inviare la richiesta, poi immediatamente premere Invio dal lato dell'attaccante per avviare l'attacco.
Affinché l'attacco riesca, entrambe le azioni devono essere eseguite quasi simultaneamente.
Tuttavia, la vittima deve inviare la richiesta per prima.
Nota:
- Shorter connection times increase the attack’s success rate.
- In my tests, the connection time was around 200ms, but sometimes the AP unexpectedly refused connections, leading to longer connection times.
- If this happens, wait for a timeout or terminate the process withCtrl+Cand try again.
- The longer the gap between pre-connection and reconnection, the higher the chance of failure.
- Press Enter as quickly as possible to start the attack.
- If the attack does not succeed even though the attacker's connection is stable, try changing the server that the victim is requesting to a more distant location.
Since I am in Korea, I chose a server in Argentina, which is one of the farthest regions.

Verificare se le risposte HTTP e ICMP vengono intercettate e assicurarsi che il corpo HTTP e il payload ICMP siano visualizzati correttamente.
Preparazione
Attacco Deauth
Intercettazione