
Preuve de concept de l'exploit pour CVE-2022-47522 démontrant l'interception de trames Wi-Fi via une attaque par désauthentification et usurpation d'adresse MAC pour capturer les réponses HTTP et ICMP.
Ceci est une vulnérabilité qui permet d'intercepter des trames envoyées à des clients arbitraires sur un réseau Wi-Fi.
Pour une explication détaillée, voir ici.
Note : La description de MITRE est inexacte ; veuillez vous référer au lien ci-dessus pour les détails corrects.
Ce dépôt est basé sur ce lien.
Pour un environnement de test réaliste, la victime et l'attaquant s'exécutent sur des hôtes séparés.
Il est peut-être possible d'exécuter à la fois la victime et l'attaquant sur un seul hôte, mais cela nécessiterait trois interfaces réseau sans fil et des modifications potentielles du code et de la méthode d'exécution.
Exécutez les commandes suivantes (éventuellement dans un environnement virtuel python) :
pip install scapy==2.6.1 httpx==0.28.1
Alternativement, vous pouvez utiliser ping, curl ou un navigateur web au lieu de victim.py.
Exécutez les commandes suivantes :
cd macstealer/research
./build.sh
cd ../../attacker
./pysetup.sh
Assurez-vous que la victime est connectée au réseau que vous souhaitez tester.
Modifiez ./attacker/attacker.conf pour qu'il corresponde aux paramètres réseau de la connexion de la victime.
Si vous n'êtes pas sûr, renseignez-vous sur la façon de configurer 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"
}
Vous devez configurer NetworkManager pour ignorer les deux interfaces :
Ajoutez les lignes suivantes à /etc/NetworkManager/NetworkManager.conf :
[keyfile]
unmanaged-devices=interface-name:{iface};interface-name:{mon_iface}
Appliquez les modifications en exécutant :
sudo systemctl restart NetworkManager
Pour annuler, supprimez les lignes ajoutées et redémarrez à nouveau NetworkManager.
Activez le venv en tant que root avant l'exécution :
cd attacker
sudo su
source venv/bin/activate
Exécutez victim.py et suivez les invites pour saisir les informations requises (ou utilisez les valeurs par défaut).
Ensuite, chaque fois que vous appuyez sur Entrée, une requête d'écho ICMP et une requête HTTP GET seront envoyées.
Exécutez la commande suivante :
./attacker.py -i $iface -m $mon_iface -v $victimMAC
-i spécifie l'interface gérée de l'attaquant,
-m spécifie l'interface moniteur de l'attaquant,
-v spécifie l'adresse MAC de la victime.
Par exemple :
./attacker.py -i wlan0 -m wlan1 -v a0:d3:65:2c:ed:71
Une fois exécuté, le script établira automatiquement une pré-connexion et préparera l'attaque.
Lorsque l'attaque est prête, vous verrez l'invite :
Press enter to start attack:
À ce stade, appuyez d'abord sur Entrée du côté de la victime pour envoyer la requête, puis appuyez immédiatement sur Entrée du côté de l'attaquant pour lancer l'attaque.
Pour que l'attaque réussisse, les deux actions doivent être effectuées presque simultanément.
Cependant, la victime doit envoyer la requête en premier.
Note :
- Des temps de connexion plus courts augmentent le taux de réussite de l'attaque.
- Dans mes tests, le temps de connexion était d'environ 200 ms, mais parfois le point d'accès refusait inopinément des connexions, ce qui prolongeait les temps de connexion.
- Si cela se produit, attendez un timeout ou terminez le processus avecCtrl+Cet réessayez.
- Plus l'écart entre la pré-connexion et la reconnexion est long, plus le risque d'échec est élevé.
- Appuyez sur Entrée aussi rapidement que possible pour lancer l'attaque.
- Si l'attaque ne réussit pas même si la connexion de l'attaquant est stable, essayez de changer le serveur demandé par la victime pour un emplacement plus éloigné.
Comme je suis en Corée, j'ai choisi un serveur en Argentine, qui est l'une des régions les plus éloignées.

Vérifiez si les réponses HTTP et ICMP sont interceptées et assurez-vous que le corps HTTP et la charge utile ICMP sont correctement affichés.
Préparer
Attaque Deauth
Intercepter