mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-methodologies-and-resources/pentesting-wifi/REA
This commit is contained in:
parent
e5b14da862
commit
d56b532403
@ -25,6 +25,7 @@
|
||||
- [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
- [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)
|
||||
- [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md)
|
||||
- [Enable Nexmon Monitor And Injection On Android](generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md)
|
||||
- [Evil Twin EAP-TLS](generic-methodologies-and-resources/pentesting-wifi/evil-twin-eap-tls.md)
|
||||
- [Phishing Methodology](generic-methodologies-and-resources/phishing-methodology/README.md)
|
||||
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md)
|
||||
|
@ -19,6 +19,12 @@ iwlist wlan0 scan #Scan available wifis
|
||||
```
|
||||
## Outils
|
||||
|
||||
### Hijacker & NexMon (Wi-Fi interne Android)
|
||||
|
||||
{{#ref}}
|
||||
enable-nexmon-monitor-and-injection-on-android.md
|
||||
{{#endref}}
|
||||
|
||||
### EAPHammer
|
||||
```
|
||||
git clone https://github.com/s0lst1c3/eaphammer.git
|
||||
@ -59,7 +65,7 @@ Cet outil automatise les attaques **WPS/WEP/WPA-PSK**. Il va automatiquement :
|
||||
- Scanner les réseaux possibles - Et vous laisser sélectionner la ou les victimes
|
||||
- Si WEP - Lancer des attaques WEP
|
||||
- Si WPA-PSK
|
||||
- Si WPS : attaque Pixie dust et attaque par bruteforce (faites attention, l'attaque par bruteforce peut prendre beaucoup de temps). Notez qu'il ne tente pas de PIN nulle ou de PINs générés/base de données.
|
||||
- Si WPS : attaque Pixie dust et attaque par bruteforce (faites attention, l'attaque par bruteforce peut prendre beaucoup de temps). Notez qu'il n'essaie pas de PIN nulle ou de PINs générés/base de données.
|
||||
- Essayer de capturer le PMKID de l'AP pour le cracker
|
||||
- Essayer de désauthentifier les clients de l'AP pour capturer un handshake
|
||||
- Si PMKID ou Handshake, essayer de bruteforcer en utilisant les 5000 mots de passe les plus courants.
|
||||
@ -146,11 +152,11 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
|
||||
```
|
||||
**MODE D'ATTAQUE p : Probing SSID et Bruteforçage**
|
||||
|
||||
Le probing des points d'accès (APs) vérifie si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, couplée avec le **bruteforçage des SSID cachés** avec ou sans liste de mots, aide à identifier et accéder aux réseaux dissimulés.
|
||||
Le probing des points d'accès (APs) vérifie si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, associée au **bruteforçage 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 Contre-mesures Michael**
|
||||
|
||||
L'envoi de paquets aléatoires ou dupliqués à différentes files d'attente QoS peut déclencher les contre-mesures Michael sur les **APs TKIP**, entraînant un arrêt de l'AP d'une minute. Cette méthode est une tactique d'attaque **DoS** (Denial of Service) efficace.
|
||||
L'envoi de paquets aléatoires ou dupliqués à différentes files d'attente QoS peut déclencher les contre-mesures Michael sur les **APs TKIP**, entraînant un arrêt de l'AP d'une minute. Cette méthode est une tactique d'attaque **DoS** (Déni de Service) efficace.
|
||||
```bash
|
||||
# -t <BSSID> of a TKIP AP
|
||||
# -j use inteligent replay to create the DoS
|
||||
@ -158,7 +164,7 @@ mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
|
||||
```
|
||||
**MODE D'ATTAQUE e : Injection de paquets EAPOL Start et Logoff**
|
||||
|
||||
Inonder un AP avec des **trames EAPOL Start** crée des **sessions factices**, submergeant l'AP et bloquant les clients légitimes. Alternativement, injecter des **messages EAPOL Logoff factices** déconnecte de force les clients, les deux méthodes perturbent efficacement le service réseau.
|
||||
Inonder un AP avec des **trames EAPOL Start** crée des **sessions factices**, submergeant l'AP et bloquant les clients légitimes. Alternativement, l'injection de **faux messages EAPOL Logoff** déconnecte de force les clients, les deux méthodes perturbent efficacement le service réseau.
|
||||
```bash
|
||||
# Use Logoff messages to kick clients
|
||||
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
|
||||
@ -169,7 +175,7 @@ Différentes attaques sur la gestion des liens et le routage dans les réseaux m
|
||||
|
||||
**MODE D'ATTAQUE w : Confusion WIDS**
|
||||
|
||||
La connexion croisée de clients à plusieurs nœuds WDS ou à de faux AP malveillants peut manipuler les systèmes de détection et de prévention d'intrusion, créant de la confusion et un potentiel abus du système.
|
||||
La connexion croisée de clients à plusieurs nœuds WDS ou à de faux APs malveillants peut manipuler les systèmes de détection et de prévention d'intrusion, créant de la confusion et un potentiel abus du système.
|
||||
```bash
|
||||
# -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]
|
||||
@ -195,25 +201,25 @@ Il existe 2 outils principaux pour effectuer cette action : Reaver et Bully.
|
||||
- **Reaver** a été conçu pour être une attaque robuste et pratique contre WPS, et a été testé contre une grande variété de points d'accès et d'implémentations WPS.
|
||||
- **Bully** est une **nouvelle implémentation** de l'attaque par force brute WPS, écrite en C. Il présente plusieurs avantages par rapport au code reaver original : moins de dépendances, performances améliorées en 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 somme de contrôle, 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, nécessitent une **rotation des adresses MAC** pour continuer l'attaque.
|
||||
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 somme de contrôle, 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, nécessitent une **rotation des adresses MAC** pour continuer 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, garantissant un **accès réseau persistant**.
|
||||
```bash
|
||||
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**
|
||||
**Brute Force Intelligent**
|
||||
|
||||
Cette approche raffiné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 les PINs WPS en fonction de l'adresse MAC de l'AP. L'algorithme Arcadyan nécessite également un ID de dispositif, ajoutant une couche au processus de génération de PIN.
|
||||
|
||||
### WPS Pixie Dust attack
|
||||
### Attaque WPS Pixie Dust
|
||||
|
||||
**Dominique Bongard** a découvert un défaut dans certains Points d'Accès (AP) concernant la création de codes secrets, connus sous le nom de **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](<https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)>).
|
||||
|
||||
En termes simples, le problème est que certains AP n'utilisaient pas des clés suffisamment aléatoires pour chiffrer le PIN pendant le processus de connexion. Cela rend le PIN vulnérable à être deviné depuis l'extérieur du réseau (attaque par force brute hors ligne).
|
||||
En termes simples, le problème est que certains AP n'utilisaient pas des clés suffisamment aléatoires pour chiffrer le PIN pendant le processus de connexion. Cela rend le PIN vulnérable à être deviné depuis l'extérieur du réseau (attaque par brute force hors ligne).
|
||||
```bash
|
||||
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
|
||||
@ -242,7 +248,7 @@ Tous les attaques WPS proposées peuvent être facilement réalisées en utilisa
|
||||
|
||||
## **WEP**
|
||||
|
||||
Tellement cassé et inutilisé de nos jours. Sachez juste que _**airgeddon**_ a une option WEP appelée "All-in-One" pour attaquer ce type de protection. D'autres outils offrent des options similaires.
|
||||
Tellement cassé et inutilisé de nos jours. Sachez juste que _**airgeddon**_ a une option WEP appelée "All-in-One" pour attaquer ce type de protection. Plus d'outils offrent des options similaires.
|
||||
|
||||
.png>)
|
||||
|
||||
@ -262,7 +268,7 @@ Comme l'explique le post original, le **PMKID** est créé en utilisant des donn
|
||||
```bash
|
||||
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 4 voies complète, **hashcat** peut utiliser ces informations pour craquer le PSK et récupérer le mot de passe !
|
||||
É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 authentification complète en 4 étapes, **hashcat** peut utiliser ces informations pour craquer le PSK et récupérer le mot de passe !
|
||||
|
||||
Pour **rassembler** ces informations et **bruteforcer** localement le mot de passe, vous pouvez faire :
|
||||
```bash
|
||||
@ -285,7 +291,7 @@ john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
|
||||
```
|
||||
Veuillez noter que le format d'un hash correct contient **4 parties**, comme : `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Si le vôtre **contient seulement** **3 parties**, alors, il est **invalide** (la capture PMKID n'était pas valide).
|
||||
|
||||
Notez que `hcxdumptool` **capture également des handshakes** (quelque chose comme ceci apparaîtra : **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Vous pourriez **transformer** les **handshakes** au format **hashcat**/**john** en utilisant `cap2hccapx`
|
||||
Notez que `hcxdumptool` **capture également des handshakes** (quelque chose comme ceci apparaîtra : **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Vous pouvez **transformer** les **handshakes** au format **hashcat**/**john** en utilisant `cap2hccapx`
|
||||
```bash
|
||||
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
|
||||
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
|
||||
@ -310,7 +316,7 @@ aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may no
|
||||
```
|
||||
_Remarque que, comme le client a été désauthentifié, il pourrait essayer de se connecter à un autre AP ou, dans d'autres cas, à un autre réseau._
|
||||
|
||||
Une fois que dans le `airodump-ng` apparaît des informations de handshake, cela signifie que le handshake a été capturé et vous pouvez arrêter d'écouter :
|
||||
Une fois que dans le `airodump-ng` apparaissent des informations de handshake, cela signifie que le handshake a été capturé et que vous pouvez arrêter d'écouter :
|
||||
|
||||
 (1).png>)
|
||||
|
||||
@ -346,7 +352,7 @@ Dans **les configurations WiFi d'entreprise, vous rencontrerez diverses méthode
|
||||
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 au sein de EAP-PEAP. Contrairement à MSCHAPv2, elle n'utilise pas de défi entre pairs et envoie les mots de passe en texte clair au point d'accès, posant un risque pour les attaques de rétrogradation.
|
||||
- Cette méthode prend en charge les jetons matériels et les mots de passe à usage unique au sein de EAP-PEAP. Contrairement à MSCHAPv2, elle n'utilise pas de défi entre pairs et envoie les mots de passe en texte clair au point d'accès, ce qui pose un risque pour les attaques de rétrogradation.
|
||||
2. **EAP-MD5 (Message Digest 5)**:
|
||||
- Implique l'envoi du hachage MD5 du mot de passe depuis le client. Il est **non recommandé** en raison de sa 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.
|
||||
3. **EAP-TLS (Transport Layer Security)**:
|
||||
@ -383,11 +389,11 @@ Dans EAP-PEAP, une fois le tunnel TLS établi entre le serveur PEAP et le client
|
||||
|
||||
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 User-Name et soit un attribut Password, soit un attribut CHAP-Password dans le message TLS initial envoyé après l'établissement du tunnel.
|
||||
|
||||
Quel que soit le protocole choisi, le serveur PEAP/TTLS obtient connaissance de la véritable identité de l'utilisateur après l'établissement du tunnel TLS. La véritable identité peut être représentée comme user@realm ou simplement user. Si le serveur PEAP/TTLS est également responsable de l'authentification de l'utilisateur, il possède maintenant l'identité de l'utilisateur et procède avec la méthode d'authentification protégée par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transférer une nouvelle demande RADIUS au serveur RADIUS d'origine de l'utilisateur. Cette nouvelle demande RADIUS omet 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 User-Name du message RADIUS sortant contient la véritable identité de l'utilisateur, remplaçant le User-Name anonyme de la demande RADIUS entrante. Lorsque 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 extraits de la charge utile TLS sont substitués dans le message RADIUS sortant, remplaçant le User-Name anonyme et les attributs TTLS EAP-Message trouvés dans la demande RADIUS entrante.
|
||||
Quel que soit le protocole choisi, le serveur PEAP/TTLS obtient connaissance de la véritable identité de l'utilisateur après l'établissement du tunnel TLS. La véritable identité peut être représentée comme user@realm ou simplement user. Si le serveur PEAP/TTLS est également responsable de l'authentification de l'utilisateur, il possède maintenant l'identité de l'utilisateur et procède avec la méthode d'authentification protégée par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transférer une nouvelle demande RADIUS au serveur RADIUS d'origine de l'utilisateur. Cette nouvelle demande RADIUS omet 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 User-Name du message RADIUS sortant contient la véritable identité de l'utilisateur, remplaçant le User-Name anonyme de la demande RADIUS entrante. Lorsque la méthode d'authentification protégée est PAP ou CHAP (prise en charge uniquement par TTLS), l'attribut User-Name et d'autres attributs d'authentification extraits de la charge utile TLS sont substitués dans le message RADIUS sortant, remplaçant le User-Name anonyme et les attributs TTLS EAP-Message trouvés dans la demande RADIUS entrante.
|
||||
|
||||
Pour plus d'infos, consultez [https://www.interlinknetworks.com/app_notes/eap-peap.htm](https://www.interlinknetworks.com/app_notes/eap-peap.htm)
|
||||
|
||||
### EAP-Bruteforce (spray de mots de passe)
|
||||
### 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), alors vous pourriez essayer d'obtenir une **liste** de **noms d'utilisateur** (voir la partie suivante) et de **mots de passe** et essayer de **bruteforcer** l'accès en utilisant [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
|
||||
```bash
|
||||
@ -407,7 +413,7 @@ Vous pouvez également effectuer cette attaque en utilisant `eaphammer` :
|
||||
|
||||
- Le protocole 802.11 définit comment une station rejoint un Extended Service Set (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 itinérer entre les AP partageant le même ESSID, maintenant la connectivité à travers un bâtiment ou une zone.
|
||||
- Le protocole exige l'authentification de la station à l'ESS mais ne mandate pas l'authentification de l'AP à la station.
|
||||
- Le protocole exige l'authentification de la station au ESS mais ne mandate pas l'authentification de l'AP à la station.
|
||||
|
||||
### Listes de réseaux préférés (PNL)
|
||||
|
||||
@ -448,7 +454,7 @@ log-queries
|
||||
log-dhcp
|
||||
listen-address=127.0.0.1
|
||||
```
|
||||
Ensuite, **définissez les IP** et **les routes** :
|
||||
Ensuite, **définir les IP** et **les routes** :
|
||||
```bash
|
||||
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
|
||||
@ -497,7 +503,7 @@ echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
Une attaque de jumeau malveillant exploite la façon dont les clients WiFi reconnaissent les réseaux, s'appuyant principalement sur le nom du réseau (ESSID) sans nécessiter 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 malveillants lorsqu'ils partagent le même ESSID et type de cryptage. 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 des Clients et Manipulation de Connexion** : Le protocole 802.11 permet aux appareils de se déplacer entre les points d'accès 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 à une station malveillante. Cela peut être réalisé en offrant un signal plus fort ou en perturbant la connexion au point d'accès légitime par des méthodes telles que des paquets de désauthentification ou le brouillage.
|
||||
- **Roaming des Clients et Manipulation de Connexion** : Le protocole 802.11 permet aux appareils de se déplacer entre les points d'accès au sein du même ESS. Les attaquants peuvent en profiter en incitant un appareil à se déconnecter de sa station de base actuelle et à se connecter à une station malveillante. Cela peut être réalisé en offrant un signal plus fort ou en perturbant la connexion au point d'accès légitime par des méthodes telles que des paquets de désauthentification ou le brouillage.
|
||||
- **Défis d'Exécution** : Exécuter avec succès une attaque de jumeau malveillant dans des environnements avec plusieurs points d'accès bien placés peut être difficile. Désauthentifier un seul point d'accès légitime entraîne souvent la connexion de l'appareil à un autre point d'accès légitime, à moins que l'attaquant ne puisse désauthentifier tous les points d'accès à proximité ou placer stratégiquement le point d'accès malveillant.
|
||||
|
||||
Vous pouvez créer un Open Evil Twin très basique (sans capacités de routage du trafic vers Internet) en :
|
||||
@ -512,11 +518,11 @@ Ou en utilisant Airgeddon : `Options : 5,6,7,8,9 (dans le menu d'attaque Evil Tw
|
||||
|
||||
.png>)
|
||||
|
||||
Veuillez noter qu'en règle générale, si un ESSID dans le PNL est enregistré comme protégé par WPA, l'appareil ne se connectera pas automatiquement à un Evil Twin ouvert. Vous pouvez essayer de DoS le vrai AP et espérer que l'utilisateur se connecte manuellement à votre Evil Twin ouvert, ou vous pourriez DoS le vrai AP et utiliser un WPA Evil Twin pour capturer le handshake (en utilisant cette méthode, vous ne pourrez pas laisser la victime se connecter à vous car vous ne connaissez pas le PSK, mais vous pouvez capturer le handshake et essayer de le cracker).
|
||||
Veuillez noter qu'en règle générale, si un ESSID dans le PNL est enregistré comme protégé par WPA, l'appareil ne se connectera pas automatiquement à un Evil Twin ouvert. Vous pouvez essayer de DoS le vrai AP et espérer que l'utilisateur se connecte manuellement à votre Evil Twin ouvert, ou vous pourriez DoS le vrai AP et utiliser un Evil Twin 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 le 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..._
|
||||
|
||||
### WPA/WPA2 Evil Twin
|
||||
### Evil Twin WPA/WPA2
|
||||
|
||||
Vous pouvez créer un **Evil Twin utilisant WPA/2** et si les appareils sont configurés pour se connecter à ce SSID avec WPA/2, ils vont essayer de se connecter. Quoi qu'il en soit, **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**.
|
||||
```bash
|
||||
@ -535,9 +541,9 @@ hostapd-wpe ./victim/victim.conf -s
|
||||
```
|
||||
Dans le fichier de configuration, vous pouvez sélectionner de nombreuses choses différentes comme ssid, canal, fichiers utilisateur, cret/key, paramètres dh, version wpa et auth...
|
||||
|
||||
[**Utiliser hostapd-wpe avec EAP-TLS pour permettre à n'importe quel certificat de se connecter.**](evil-twin-eap-tls.md)
|
||||
[**Utilisation de hostapd-wpe avec EAP-TLS pour permettre à n'importe quel certificat de se connecter.**](evil-twin-eap-tls.md)
|
||||
|
||||
**Utiliser EAPHammer**
|
||||
**Utilisation de EAPHammer**
|
||||
```bash
|
||||
# Generate Certificates
|
||||
./eaphammer --cert-wizard
|
||||
@ -561,8 +567,8 @@ Ou vous pourriez également utiliser :
|
||||
|
||||
**Utilisation d'Airgeddon**
|
||||
|
||||
`Airgeddon` peut utiliser des certificats précédemment générés pour offrir une authentification EAP aux réseaux WPA/WPA2-Enterprise. Le réseau factice va rétrograder le protocole de connexion à EAP-MD5 afin de pouvoir **capturer l'utilisateur et le MD5 du mot de passe**. Plus tard, l'attaquant peut essayer de cracker le mot de passe.\
|
||||
`Airgeddon` 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 (silencieuse).**
|
||||
`Airgeddon` peut utiliser des certificats précédemment générés pour offrir une authentification EAP aux réseaux WPA/WPA2-Enterprise. Le réseau factice fera rétrograder le protocole de connexion à EAP-MD5 afin de pouvoir **capturer l'utilisateur et le MD5 du mot de passe**. Plus tard, l'attaquant peut essayer de cracker le mot de passe.\
|
||||
`Airgeddon` 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 (douce).**
|
||||
|
||||
.png>)
|
||||
|
||||
@ -577,7 +583,7 @@ Maintenant, démarrez le **Evil Twin** en utilisant **`hostapd-wpe`** avec cette
|
||||
|
||||
Maintenant ou plus tard (lorsque vous avez déjà capturé quelques tentatives d'authentification), vous pouvez ajouter la clé RSA privée à wireshark dans : `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
|
||||
|
||||
Ajoutez une nouvelle entrée et remplissez le formulaire avec ces valeurs : **Adresse IP = any** -- **Port = 0** -- **Protocole = data** -- **Fichier de clé** (**sélectionnez votre fichier de clé**, pour éviter les problèmes, sélectionnez un fichier de clé **sans protection par mot de passe**).
|
||||
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é **sans protection par mot de passe**).
|
||||
|
||||
.png>)
|
||||
|
||||
@ -585,20 +591,20 @@ Et regardez le nouvel **onglet "TLS déchiffré"** :
|
||||
|
||||
.png>)
|
||||
|
||||
## KARMA, MANA, Loud MANA et attaque par balises connues
|
||||
## KARMA, MANA, Loud MANA et attaque de balises connues
|
||||
|
||||
### Listes noires/blanches ESSID et MAC
|
||||
|
||||
Différents types de listes de filtres d'accès aux médias (MFACLs) et leurs modes et effets correspondants sur le comportement d'un point d'accès (AP) malveillant :
|
||||
Différents types de listes de filtres d'accès aux médias (MFACLs) et leurs modes correspondants et effets sur le comportement d'un point d'accès (AP) malveillant :
|
||||
|
||||
1. **Liste blanche basée sur MAC** :
|
||||
- L'AP malveillant ne répondra qu'aux requêtes de sonde des appareils spécifiés dans la liste blanche, restant invisible à tous les autres non listés.
|
||||
- Le point d'accès malveillant ne répondra qu'aux requêtes de sonde des appareils spécifiés dans la liste blanche, restant invisible à tous les autres non listés.
|
||||
2. **Liste noire basée sur MAC** :
|
||||
- L'AP malveillant ignorera les requêtes de sonde des appareils sur la liste noire, rendant effectivement l'AP malveillant invisible à ces appareils spécifiques.
|
||||
- Le point d'accès malveillant ignorera les requêtes de sonde des appareils sur la liste noire, rendant effectivement le point d'accès malveillant invisible à ces appareils spécifiques.
|
||||
3. **Liste blanche basée sur SSID** :
|
||||
- L'AP malveillant répondra aux requêtes de sonde uniquement pour des ESSIDs spécifiques listés, le rendant invisible aux appareils dont les listes de réseaux préférés (PNLs) ne contiennent pas ces ESSIDs.
|
||||
- Le point d'accès malveillant répondra aux requêtes de sonde uniquement pour des ESSIDs spécifiques listés, le rendant invisible aux appareils dont les listes de réseaux préférés (PNLs) ne contiennent pas ces ESSIDs.
|
||||
4. **Liste noire basée sur SSID** :
|
||||
- L'AP malveillant ne répondra pas aux requêtes de sonde pour les ESSIDs spécifiques sur la liste noire, le rendant invisible aux appareils recherchant ces réseaux particuliers.
|
||||
- Le point d'accès malveillant ne répondra pas aux requêtes de sonde pour les ESSIDs spécifiques sur la liste noire, le rendant invisible aux appareils recherchant ces réseaux particuliers.
|
||||
```bash
|
||||
# example EAPHammer MFACL file, wildcards can be used
|
||||
09:6a:06:c8:36:af
|
||||
@ -638,7 +644,7 @@ Une **attaque Loud MANA** est une stratégie avancée pour les cas où les appar
|
||||
```
|
||||
### Known Beacon attack
|
||||
|
||||
Lorsque l'**attaque Loud MANA** peut ne pas suffire, l'**attaque Known Beacon** présente une autre approche. Cette méthode **force le processus de connexion en simulant un AP qui répond à n'importe quel 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 faire correspondre un ESSID dans la PNL 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'attraper des appareils.
|
||||
Lorsque l'**attaque Loud MANA** peut ne pas suffire, l'**attaque Known Beacon** présente une autre approche. Cette méthode **force le processus de connexion en simulant un AP qui répond à n'importe quel nom de réseau, en parcourant une liste de ESSIDs potentiels** dérivés d'une liste de mots. Cela simule la présence de nombreux réseaux, espérant faire correspondre un ESSID dans la PNL 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'attraper des appareils.
|
||||
|
||||
Eaphammer a implémenté cette attaque comme une attaque MANA où tous les ESSIDs d'une liste sont chargés (vous pouvez également combiner cela avec `--loud` pour créer une attaque Loud MANA + Known beacons) :
|
||||
```bash
|
||||
@ -646,7 +652,7 @@ Eaphammer a implémenté cette attaque comme une attaque MANA où tous les ESSID
|
||||
```
|
||||
**Attaque de Beacon Burst connue**
|
||||
|
||||
L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de beacon pour chaque ESSID répertorié dans un fichier**. Cela crée un environnement dense de réseaux fictifs, augmentant considérablement la probabilité que des appareils se connectent à l'AP malveillant, surtout lorsqu'elle est combinée avec une attaque MANA. Cette technique exploite la vitesse et le volume pour submerger les mécanismes de sélection de réseau des appareils.
|
||||
L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de beacon pour chaque ESSID répertorié dans un fichier**. Cela crée un environnement dense de réseaux fictifs, augmentant considérablement la probabilité que des appareils se connectent au point d'accès malveillant, surtout lorsqu'elle est combinée avec une attaque MANA. Cette technique exploite la vitesse et le volume pour submerger les mécanismes de sélection de réseau des appareils.
|
||||
```bash
|
||||
# transmit a burst of 5 forged beacon packets for each entry in list
|
||||
./forge-beacons -i wlan1 \
|
||||
@ -657,7 +663,7 @@ L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de
|
||||
```
|
||||
## Wi-Fi Direct
|
||||
|
||||
**Wi-Fi Direct** est un protocole permettant aux appareils de se connecter directement les uns aux autres via Wi-Fi sans avoir besoin d'un point d'accès sans fil traditionnel. Cette capacité est intégrée dans divers appareils de l'Internet des objets (IoT), tels que les imprimantes et les téléviseurs, facilitant la communication directe entre appareils. Une caractéristique notable de Wi-Fi Direct est qu'un appareil joue le rôle d'un point d'accès, connu sous le nom de propriétaire de groupe, pour gérer la connexion.
|
||||
**Wi-Fi Direct** est un protocole permettant aux appareils de se connecter directement les uns aux autres via Wi-Fi sans avoir besoin d'un point d'accès sans fil traditionnel. Cette capacité est intégrée dans divers appareils de l'Internet des objets (IoT), tels que les imprimantes et les télévisions, facilitant la communication directe entre appareils. Une caractéristique notable de Wi-Fi Direct est qu'un appareil joue le rôle de point d'accès, connu sous le nom de propriétaire de groupe, pour gérer la connexion.
|
||||
|
||||
La sécurité des connexions Wi-Fi Direct est établie par **Wi-Fi Protected Setup (WPS)**, qui prend en charge plusieurs méthodes de couplage sécurisé, notamment :
|
||||
|
||||
@ -669,7 +675,7 @@ Ces méthodes, en particulier la saisie de PIN, sont susceptibles aux mêmes vul
|
||||
|
||||
### EvilDirect Hijacking
|
||||
|
||||
**EvilDirect Hijacking** est une attaque spécifique à Wi-Fi Direct. Elle 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 à l'aide d'outils comme `airbase-ng` en spécifiant le canal, l'ESSID et l'adresse MAC de l'appareil usurpé :
|
||||
**EvilDirect Hijacking** est une attaque spécifique à Wi-Fi Direct. Elle reflète le concept d'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é :
|
||||
|
||||
## References
|
||||
|
||||
|
@ -0,0 +1,128 @@
|
||||
# Activer le mode moniteur NexMon et l'injection de paquets sur Android (puces Broadcom)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Aperçu
|
||||
La plupart des téléphones Android modernes intègrent une puce Wi-Fi Broadcom/Cypress qui est livrée sans mode moniteur 802.11 ni capacités d'injection de trames. Le framework open-source NexMon patch le firmware propriétaire pour ajouter ces fonctionnalités et les expose via une bibliothèque partagée (`libnexmon.so`) et un helper CLI (`nexutil`). En préchargeant cette bibliothèque dans le pilote Wi-Fi d'origine, un appareil rooté peut capturer le trafic 802.11 brut et injecter des trames arbitraires – éliminant ainsi le besoin d'un adaptateur USB externe.
|
||||
|
||||
Cette page documente un flux de travail rapide qui prend un Samsung Galaxy S10 entièrement patché (BCM4375B1) comme exemple, en utilisant :
|
||||
|
||||
* Module Magisk NexMon contenant le firmware patché + `libnexmon.so`
|
||||
* Application Android Hijacker pour automatiser le basculement du mode moniteur
|
||||
* Chroot Kali NetHunter optionnel pour exécuter des outils sans fil classiques (aircrack-ng, wifite, mdk4 …) directement contre l'interface interne
|
||||
|
||||
La même technique s'applique à tout appareil disposant d'un patch NexMon disponible publiquement (Pixel 1, Nexus 6P, Galaxy S7/S8, etc.).
|
||||
|
||||
---
|
||||
|
||||
## Prérequis
|
||||
* Appareil Android avec une puce Broadcom/Cypress prise en charge (par exemple, BCM4358/59/43596/4375B1)
|
||||
* Root avec Magisk ≥ 24
|
||||
* BusyBox (la plupart des ROMs/NetHunter l'incluent déjà)
|
||||
* ZIP Magisk NexMon ou patch auto-compilé fournissant :
|
||||
* `/system/lib*/libnexmon.so`
|
||||
* `/system/xbin/nexutil`
|
||||
* Hijacker ≥ 1.7 (arm/arm64) – https://github.com/chrisk44/Hijacker
|
||||
* (Optionnel) Kali NetHunter ou tout chroot Linux où vous comptez exécuter des outils sans fil
|
||||
|
||||
---
|
||||
|
||||
## Flasher le patch NexMon (Magisk)
|
||||
1. Téléchargez le ZIP pour votre appareil/firmware exact (exemple : `nexmon-s10.zip`).
|
||||
2. Ouvrez Magisk -> Modules -> Installer depuis le stockage -> sélectionnez le ZIP et redémarrez.
|
||||
Le module copie `libnexmon.so` dans `/data/adb/modules/<module>/lib*/` et s'assure que les étiquettes SELinux sont correctes.
|
||||
3. Vérifiez l'installation :
|
||||
```bash
|
||||
ls -lZ $(find / -name libnexmon.so 2>/dev/null)
|
||||
sha1sum $(which nexutil)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Configurer Hijacker
|
||||
Hijacker peut basculer le mode moniteur automatiquement avant d'exécuter `airodump`, `wifite`, etc. Dans **Paramètres -> Avancé**, ajoutez les entrées suivantes (modifiez le chemin de la bibliothèque si votre module diffère) :
|
||||
```
|
||||
Prefix:
|
||||
LD_PRELOAD=/data/user/0/com.hijacker/files/lib/libnexmon.so
|
||||
|
||||
Enable monitor mode:
|
||||
svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2
|
||||
|
||||
Disable monitor mode:
|
||||
nexutil -m0; svc wifi enable
|
||||
```
|
||||
Activez "Démarrer le mode moniteur au démarrage d'airodump" afin que chaque scan de Hijacker se fasse en mode moniteur natif (`wlan0` au lieu de `wlan0mon`).
|
||||
|
||||
Si Hijacker affiche des erreurs au lancement, créez le répertoire requis sur le stockage partagé et rouvrez l'application :
|
||||
```bash
|
||||
mkdir -p /storage/emulated/0/Hijacker
|
||||
```
|
||||
### Que signifient ces drapeaux `nexutil` ?
|
||||
* **`-s0x613`** Écrire la variable de firmware 0x613 (FCAP_FRAME_INJECTION) → `1` (activer l'envoi de trames arbitraires).
|
||||
* **`-i`** Mettre l'interface en mode moniteur (l'en-tête radiotap sera ajouté).
|
||||
* **`-v2`** Définir le niveau de verbosité ; `2` imprime la confirmation et la version du firmware.
|
||||
* **`-m0`** Restaurer le mode géré (utilisé dans la commande *disable*).
|
||||
|
||||
Après avoir exécuté *Enable monitor mode*, vous devriez voir l'interface en état de moniteur et être capable de capturer des trames brutes avec :
|
||||
```bash
|
||||
airodump-ng --band abg wlan0
|
||||
```
|
||||
---
|
||||
|
||||
## Ligne de commande manuelle (sans Hijacker)
|
||||
```bash
|
||||
# Enable monitor + injection
|
||||
svc wifi disable && ifconfig wlan0 up && nexutil -s0x613 -i -v2
|
||||
|
||||
# Disable and return to normal Wi-Fi
|
||||
nexutil -m0 && svc wifi enable
|
||||
```
|
||||
Si vous n'avez besoin que de l'écoute passive, omettez le drapeau `-s0x613`.
|
||||
|
||||
---
|
||||
|
||||
## Utilisation de `libnexmon` dans Kali NetHunter / chroot
|
||||
Les outils d'espace utilisateur standard dans Kali ne connaissent pas NexMon, mais vous pouvez les forcer à l'utiliser via `LD_PRELOAD` :
|
||||
|
||||
1. Copiez l'objet partagé pré-construit dans le chroot :
|
||||
```bash
|
||||
cp /sdcard/Download/kalilibnexmon.so <chroot>/lib/
|
||||
```
|
||||
2. Activez le mode moniteur depuis l'**hôte Android** (commande ci-dessus ou via Hijacker).
|
||||
3. Lancez n'importe quel outil sans fil dans Kali avec le préchargement :
|
||||
```bash
|
||||
sudo su
|
||||
export LD_PRELOAD=/lib/kalilibnexmon.so
|
||||
wifite -i wlan0 # ou aircrack-ng, mdk4 …
|
||||
```
|
||||
4. Lorsque vous avez terminé, désactivez le mode moniteur comme d'habitude sur Android.
|
||||
|
||||
Parce que le firmware gère déjà l'injection radiotap, les outils d'espace utilisateur se comportent comme sur un adaptateur Atheros externe.
|
||||
|
||||
---
|
||||
|
||||
## Attaques typiques possibles
|
||||
Une fois le mode moniteur + TX actif, vous pouvez :
|
||||
* Capturer des handshakes WPA(2/3-SAE) ou PMKID avec `wifite`, `hcxdumptool`, `airodump-ng`.
|
||||
* Injecter des trames de désauthentification / de désassociation pour forcer les clients à se reconnecter.
|
||||
* Créer des trames de gestion/données arbitraires avec `mdk4`, `aireplay-ng`, Scapy, etc.
|
||||
* Construire des APs malveillants ou effectuer des attaques KARMA/MANA directement depuis le téléphone.
|
||||
|
||||
Les performances sur le Galaxy S10 sont comparables à celles des NIC USB externes (~20 dBm TX, 2-3 M pps RX).
|
||||
|
||||
---
|
||||
|
||||
## Dépannage
|
||||
* `Device or resource busy` – assurez-vous que le **service Wi-Fi Android est désactivé** (`svc wifi disable`) avant d'activer le mode moniteur.
|
||||
* `nexutil: ioctl(PRIV_MAGIC) failed` – la bibliothèque n'est pas préchargée ; vérifiez le chemin `LD_PRELOAD`.
|
||||
* L'injection de trames fonctionne mais aucun paquet capturé – certains ROMs bloquent les canaux ; essayez `nexutil -c <channel>` ou `iwconfig wlan0 channel <n>`.
|
||||
* SELinux bloque la bibliothèque – définissez l'appareil sur *Permissif* ou corrigez le contexte du module : `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
|
||||
|
||||
---
|
||||
|
||||
## Références
|
||||
* [Hijacker sur le Samsung Galaxy S10 avec injection sans fil](https://forums.kali.org/t/hijacker-on-the-samsung-galaxy-s10-with-wireless-injection/10305)
|
||||
* [NexMon – cadre de patching de firmware](https://github.com/seemoo-lab/nexmon)
|
||||
* [Hijacker (interface graphique aircrack-ng pour Android)](https://github.com/chrisk44/Hijacker)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user