Durant tous les tests de pénétration d’un réseau, il y a un quatre étapes inévitables. La premier étape est la phase de reconnaissance qui permet de prépare le terrain suivie de l’étape du scan. En pratique avec les tests de pénétration du wifi ses deux étapes sont faites en simultané hormis l’approche avec les techniques du social engineering. Avec le GUID qu’offre l’adresse MAC, nous pouvons en apprendre beaucoup sur la politique de sécurité par défaut du constructeur d’un routeur comme par exemple une longueur d’une clé WPA prédéfinie. A l’aide de l’adresse MAC d’un routeur faite des recherche sur internet pour trouver le plus d’information utile. Les six premier caractère hexadécimaux corresponde au constructeur du routeur, cela fait le GUID matériel permettant de faire des rechercher sur la cible (nous verrons plus tard comment trouver l’adresse MAC à distance) .
A partir d’ Internet faite une recherche avec les 6 premiers chiffres hexadécimaux de l’adresse mac de votre routeur dans le champ de recherche de la page.
Avec le nom du constructeur, de l’adresse MAC et d’autre information comme un FAI, faire une recherche Internet pour trouver des informations. Certaine information sur le web permette de corrompre le sécurité de certain routeur comme des vidéo Youtube, image, blog ou plus intéressant, le manuelle du routeur en PDF.
Avec une bonne recherche d’information on peut en apprendre beaucoup sur un routeur. Comme par exemple le WPS qui est activé par défaut, des failles de sécurité, le norme Wi-Fi utilisé par défaut et donc la portée du signal. Vous serait surpris du nombre d’information précieuse que l’on peut trouver. Certain internaute laisse transparaitre beaucoup d’information sur les Forum, dans des vidéos ou sur des images comme le type de clé générer par défaut par le routeur. Le plus important sera de noté avec le plus de détail possible les informations trouvées, c’est ce qui fait la différence entre la réussite et l’échec d’un test d’intrusion. Tous les pentesteur professionnel le savent quand ils font un rapport, la valeur de leur travail perçu par le client se base sur la qualité des détails d’un rapport et des preuves.
Certains pirate ou pentester vont plus loin dans leurs recherche alliant les informations trouver sur le router au propriétaire du routeur. Par exemple avec un pseudonyme on peut trouver un demander d’aide du propriétaire du routeur sur un forum et apprendre beaucoup sur le réseau ciblé. Certain pirate se serve même de cette technique avec les alerte Google pour voir les demande d’aide sur les forums et savoir s’il on était repérer.
Afin d’avoir des informations sur les notre réseau de test, il va falloir scanner notre réseau avec Airodump-ng. Airodump-ng a deux fonctions. La premier est le scan des réseaux à porter dans une optique de surveillance. La surveillance d’un réseau permet d’apprendre beaucoup sur sont l’activité. Cela permet à un pirate ou un testeur d’intrusion de préparer sont attaque. Quand on sait à quelle heure et qu’elle machine se connecte, on peut anticipé et cordonner son attaque grâce aux informations collecter. C’est ce qui fait toute la différence avec la réussite et l’échec. Quand la reconnaissance avec collecte d’information est fini, on peut utiliser Airodump-ng avec ça deuxième fonction. Le sniffing avec airodump-ng permet la capture des paquets transitant dans les frames 802.11 nécessaires au décryptage d’une clé WEP ou WPA.
Un test de pénétration ce regroupe sur 4 étapes :
1. La reconnaissance 2. Le scan 3. L’exploitation 4. Le maintien de l’accès.
En se qui concerne le Wi-Fi la reconnaissance et le scan se confonde mais pas tous à fait. Pour une reconnaissance on peut faire appel à des techniques de social engeneering pour avoir des informations importantes pour l’exploitation. Nous pouvons aussi faire une typologie du terrain pour trouver un emplacement stratégique pour faire nos scans ou pour une exploitation d’un réseau. Ces deux exemple sont les exemptions caractéristique à une reconnaissance mais en pratique la reconnaissance et le scan sont étroitement lier avec peut de distinction.
Le sniffing est-il légal ?
Si vous êtes novice vous, vous êtes demander comment et pourquoi il était possible de pirater les réseaux wifi. La réponse au comment et pourquoi est exactement la même. Tous commencent par l’écoute des réseaux. Le sniffing est un outil qui est utile aux administrateurs réseaux dans des cas de dépannage ou pour analyser d’éventuelles intrusions comme la présence d’un trojan. C’est qu’un outil et sont utilisation n’est pas illégal sur un réseau dont a les droit d’administration. Bien entendu c’est très mal perçu vu le caractère intrusif que cela comporte. Le wifi est un réseau de proximité qui peut être écouté grâce au mode promiscuous, ou plus tôt avec le mode monitor. Vous l’avez compris, l’outil n’est pas illégal mais c’est l’utilisation que l’on en fait qui nous rend hors la loi.
C’est comme une voiture qui est au fond qu’un outil de transport. Elle peut être mortelle et dangereux dans les mains d’un conducteur alcoolisé. Mais une voiture permet aussi au secours d’arriver très vite sur le lieu d’un drame pour porter secours aux victimes.
Les commande Airodump-ng
airodump-ng <options> <interface> Options:
–ivs : Enregistrer seulement les IVs dans la capture
–gpsd : Utilisez GPSd
–write <prefix> : Nom du fichier ou est enregistre la capture
-w : racourcis de –write
–beacons : Enregistrer toutes les trames dans le fichier de capture
–update <secs> : Mise à jour de l’affichage par secondes
–showack : Affiche les statistiques
-h : Cahe les stations connues pour –showack -f <msecs> : Temps en ms entre de sauts de canaux –berlin <secs> : Temps avant de retirer l’AP / client de l’écran lorsque plus aucune paquets reçus (par défaut: 120 secondes)
-r <file> : Lire paquets de ce fichier -x <msecs> : Activer la simulation du scanne
–output-format <formats> : format du fichier de capture. Valeur possible: pcap, IVS, csv, gps, Kismet, netxml « -o » est le racourcis de
–output-format L’option peut être spécifiée plusieurs fois et chaque format de fichier spécifié est enregistrer. IVS ou pcap peuvent être utilisés, mais pas les deux en même temps Options de filtrage:
–encrypt <suite> : Filtre APs par chiffrement –netmask <netmask> : Filtre APs par mask –bssid <bssid> : Filtre APs par BSSID –essid <essid> : Filtre une AP par son nom (l’ESSID)
–essid-regex <regex> : Filtre les APs par le ESSID en utilisant une exprésion régulier.
-a : Filtre par clients non associé Par défaut, airodump-ng scan sur les canaux 2,4 Ghz. Vous pouvez le faire capturer sur un autre canal spécifique à l’aide:
–channel <channels> : Capture sur des canal spécifiques -c est le racourcis de –channel –band <abg>: banir du scan de airodump-ng -C <frequencies> : Utilise une fréquences en MHz pour un scan –cswitch <method> : Mettre une méthode de de changement de canal 0: FIFO (par défaut) 1: Round Robin 2 : scan sur le dernier -s : racourcis de –cswitch
–help : Affiche les options d’utilisation
L’analyse des réseaux avec Airodump-ng
Nous allons dans cet exercice apprendre à analyser les réseaux wifi qui nous entoure avec un scan. Démarrer votre carte wifi en mode monitor avec airmon-ng. Comme vous avez pu le constater il y a beaucoup d’options avec airodump-ng mais elles sont utile que dans des cas bien précis. Nous allons nous concentrais seulement sur les options essentiellement utiliser durant un test d’intrusion de base.
CH 9 ][ Elapsed: 1 min ][ 1969-12-28 00:01
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
AC:F1:DF:2E:E5:00 -35 103 19 0 1 54e WEP WEP Wlan-NH1L16
BSSID STATION PWR Rate Lost Frames Probe
AC:F1:DF:2E:E5:00 20:68:9D:04:3B:F3 -9 18e-18e 0 14
Explication de l’affichage
BSSID : Adresse MAC du point d’accès.
PWR : Niveau du signal indiqué par la carte. Sa signification dépend du driver, mais plus le signal est haut plus vous êtes rapproché de l’AP. Si PWR == -1, le pilote ne supporte pas l’indication de niveau de puissance.
RXQ : Qualité mesurée par pourcentage de paquets (trames de gestion et données) reçus avec succès au cours des 10 dernières secondes.
Beacons : Nombre de paquets envoyées par le point d’accès. Chaque point d’accès envoie une dizaine de paquets par seconde au taux le plus bas (1M), de sorte qu’ils peuvent généralement être ramassé de très loin.
# Data : Nombre de paquets de données capturées (si WEP, compte uniquement le IV)), y compris les paquets de données à diffusion générale.
#/s : Nombre de paquets de données par seconde mesure au cours des 10 dernières secondes.
CH : Numéro de canal (tiré des packets). Note: parfois des paquets d’autres canaux sont capturés malgré que airodump ne soit pas configuré pour les recevoir. Ceci à cause d’interférences radio.
MB : Vitesse maximum supportée par AP. Si mb = 11, il s’agit de 802.11b, si mb = 22 il s’agit de 802.11b+ et les taux plus élevés sont du 802.11g. Le point (après 54 ci-dessus) indique que le préambule court est supporté.
ENC : Algorithme de chiffrement utilisé. OPN = pas de chiffrement, « WEP? » = WEP ou plus (pas assez de données pour choisir entre WEP et WPA/WPA2), WEP (sans le point d’interrogation) indique statique ou dynamique WEP et WPA ou WPA2 TKIP ou CCMP si présent .
CIPHER : Le chiffrement détecté. CCMP, WRAP, TKIP, WEP, WEP40 ou WEP104.
AUTH : Le protocole d’authentification utilisé. MGT (WPA/WPA2 qui utilise un serveur d’authentification distinct), SKA (clé partagée WEP), PSK (clé pré-partagée pour WPA/WPA2), ou OPN (ouvert pour le WEP).
ESSID : Affiche le nom du réseau sans fil. Le soi-disant « SSID », qui peut être vide si le SSID est caché. Dans ce cas, airodump-ng va tenter de récupérer le SSID à partir des station ou avec les demandes d’association.
STATION : Adresse MAC de chaque station associée ou un point d’accès qui communique avec.
Lost : Le nombre de paquets de données perdus au cours des 10 dernières secondes basé sur le numéro de séquence.
Packets : Le nombre de paquets de données envoyés par le client.
Probes : C’est les réseaux auxquelles la station s’est connecter ou est actuellement connecté.
Nous utiliserons toujours les commandes ci-dessous quand nous ferons les attaques de notre AP. Quand vous voulez faire un scan avec Airodump-ng il faut toujours préciser l’interface wifi a utilisé. Le scanne des réseaux et le sniffing se fait en deux temps bien distinct. Commençons par faire un premier scan général des réseaux qui nous entoure avec la commande ci-dessous.
root@kali:~# airodump-ng wlan0mon
Si vous êtes dans une zone fortement habité vous verrez tous les réseaux qui vous entourent. Astuce si vous vous par avoir plus d’une dizaine de réseau s’afficher il vous suffit d’enlever l’antenne de votre carte wifi ou de votre routeur. Vous aurez en principe que votre réseau qui va s’affiche mais cela fonctionne bien sur seulement si vous êtes à coté de votre routeur. Vous pouvez aussi à l’aide d’un menu du terminal dézomer pour afficher plus d’information.
Le premier scanne nous révélait tous les réseaux qui nous entourent mais comme vous l’avez vu on peut mettre des filtres pour restreindre l’affichage des réseaux. Avec l’option –encrypt < cryptage> vous pouvez afficher les réseaux crypté avec le chiffrement WEP ou WPA.
root@kali:~# airodump-ng --encrypt wep wlan0mon
root@kali:~# airodump-ng --encrypt tkip wlan0mon
root@kali:~# airodump-ng --encrypt ccmp wlan0mon
Petit a petit nous pouvons avec Airodump-ng cibler un réseau précis. Par défaut airodump-ng sniffe tous les canaux mais comme expliquer précédament on peut communiqué avec l’AP que sur une fréquence a la fois. On peut fixer un canal avec Airmon-ng mais Airodump-ng permet de le faire de façon plus souple avec l’option -c pour envoyer des attaque avec Aireplay-ng. Pour que Airodump-ng scan uniquement notre AP, nous mettons le filtre –bssid avec l’adresse MAC trouver dans le précédant scan.
root@kali:~# airodump-ng -c <CH n°> » --bssid <@mac_AP> wlan0mon
Après avoir fait une reconnaissance et scanner l’AP nous pouvons sniffer. Je vous conseille faire un dossier avec le nom du SSID pour stocker les fichiers du sniffing fait avec Airodump-ng et ce pour des raisons de professionnalisme ou d’organisation. Et en plus cela permet de pas oublier le nom du réseau wifi que l’on à scanner.
root@kali:~# mkidir Wlan-NH1L16
root@kali:~# cd Wlan-NH1L16
Dans les lignes précédente je vous disais de noté les informations importante mais pour pas regarder votre écran à longueur de journée vous pouvez tous enregistrait dans un fichier. En pratique on utilise le sniffing durant une attaque pour décrypter la clé Wi-Fi mais on peut aussi enregistrer tous le trafic du réseau pour récolter des informations. Les information du trafic enregistres dans les fichier sont crypter par une clé WEP ou WPA mais on peut les décrypter plus tard avec la clé. Nous noterons comme même les informations en clair comme les horaires de connexion, les adresses MAC et ect. L’option -w permet d’enregistrez tous le trafic de l’AP dans un fichier. Le nom du fichier est libre. Quand j’utilise airodump-ng durant une attaque je mets un numéro pour deux raison. La premier pour des questions de rapidité, durant un vrai audite de sécurité il faut être rapide. La seconde raison c’est pour l’organisation, si je fait une attaque et
qu’elle échoue, je nomme mon fichier de capture avec le numéro 2 et ainsi de suite.
root@kali:~ # airodump-ng -w 1 -c <CH n°> --bssid <@mac_AP> wlan0mon
Il suffit d’ enregistrer le réseaux pendant plusieurs jours pour connaitre toutes les adresse MAC du réseaux pour ainsi bypasser dans le temps un éventuel filtrage des adresse MAC. Dans le cadre d’une reconnaissance pousser on peu noter les habitude de connexions des utilisateur. Quand on connait les habitude de déconnexion des utilisateur, on peu savoir à l’avance quand on pourra attaquer le réseau en fonction du types d’attaque possible qui sera avec ou sans client. Cela permet aussi d’exploiter le réseaux soit pour maintenir l’accès en toutes discrétion ou pour savoir quand les ordinateur sont connecté au réseaux pour les piraté.
Pour analyser le fichier de capture .cap créer par Airodump-ng, on doit utilisé Wireshark. Wireshak est un analyseur de paquet libre qui est une référence dans le monde des réseaux informatique pour l’analyse du traffic réseaux et dans le dépannage des réseau informatique en général. Les programmeur l’utilisent pour dévelloper de nouveaux protocole réseaux mais on l’utilise dans l’éducation et la rétro-ingénierie. Je vais succintement vous apprendre à utiliser Wireshark.
Dans Kali Linux, démarrer Wireshark. Si vous démarre Wireshark dans un compte utilisateur root vous aurez surement un message qui vous rappel que c’est dangereux de démarrer un logiciel avec tous les droit d’administration car il auront le plus de privilège au sein du système d’exploitation. Si c’est le cas, ne vous inquiétez pas et validez le message qui n’a pas de conséquence pour ce que nous voulons faire.
Une fois Wireshark démarrer vous pouvez directement lancer la capture de paquet réseau en choisissant une interface comme wlan0 ou eth0 pour capturer le trafic actuel de votre carte réseau. Nous ce qu’on voulons faire c’est analysé un fichier de capture enregistrer durant le sniffing. Cliquer sur File et Open pour ouvrir le fichier avec l’extension .cap fait avec Airodump-ng.
Je vais vous présenter quelque menu de Wireshark. Dans le menu Help trouvez la version que vous utilisez et trouver plus d’information sur Wireshark en lisant le manuel. Si vous ne connaissez pas Wireshark le menu Telephony vous a surement sautez aux yeux ce qui peu vous donnez une idée de la puissance d’analyse possible sur les réseaux sans fils. Avec le menu Tools vous pourrez faire des règle dans le firewall de Linux pour filtrer les paquet à enregistrez durant le sniffing d’un réseau pour une période d’espionnage. Vous avez aussi un menu statistique que je encourage apprendre à utiliser pour faire des analyse réseau. Le menu Analyse permet de travailler avec des filtre mais nous pouvons aussi utiliser la zone de texte pour écrire à la volé des filtre pour afficher les information qu’on désire.
Dans la version 2.2.1 et supérieur de wireshark dans Kali Linux nous avons un nouveau menu qui est apparu se nommant Wireless. En cliquant sur WLAN Traffic du menu Wireless vous retrouverez l’adresse MAC du BSSID et des station qui se sont connecté. L’adresse MAC des station qui on les plus grande valeur de trames sont les station les plus connecté au réseau durant le sniffing.
Cette analyse permet au pirate de trouvez la meilleurs adresse MAC à spoofer et ainsi laisser le moins de trace de durant leur futur intrusion et éventuellement pour bypasser un filtrage d’adresse MAC. Pour faire l’inventaire des horaire de connexion vous devez vous rendre dans le menu View et cliquait sur Time Display Format pour sélectionner le format date et heures. Ainsi les pirate peuvent faire l’inventaire du début et fin de connexion correspondante à chaque station connecté a l’AP.
Pour vous facilitez la tacher je vous conseille d’utiliser les filtre par exemple pour lister les heure de connexion avec un filtre comme wlan.adrr == <adresse_mac> . Exemple une adresse mac d’une station trouver à partir du menu Wireless : wlan.addr == A1:B2:C3:D4:E3:F4
Les script kiddies vont généralement faire un ou deux scan et attaquer le réseau sans l’observer avant. Le problème dans cette approche c’est que l’on ne peut pas maintenir l’accès car on n’a pas de liste d’adresse MAC à usurper appartenant au réseau. Avec airodump-ng surveiller un de vos réseaux en cour d’exploitation pendant quelque heure. Après quelque heure lisez le fichier avec l’extension en .cap avec Wireshark. Faite une liste des adresse mac avec leur horaire de connexion. En vous aidant du SSID chercher des information sur l’AP en vous basant sur les 3 premier octet de l’adresse pour trouver la longueur possible de la clé wpa générer par défaut.