SlideShare una empresa de Scribd logo
1 de 52
Dédicaces
C’est grâceadieuquetoutacommencé
Etc’estaluiquejrendsgrâce
Leresten’estquedédicace
Amamère Yasmina
Quim’aporténeufmoisetsupporté plusquevingtetunans
Elleattendcejourimpatiemment,pourl’amourquetumeporte
Amon père Mohamed
Toidont laraisonpourlaquelletum’aimeaucuneraisonnepeut
Expliquer
Amessœurs KhouloudetWissal
jevous souhaiteuneviepleinedebonheuretdejoie
Amesfrères AlaetHamdi
jevous souhaitebeaucoupdesuccès
Amachèreamie et masœur Rabeb
Celuiquim’aconseilléetquim’aencouragé
AmacollègueZahra
Quim’aaidéetsoutenu
Atoute mafamille,toutsmesamis
Atous ceuxquej’aimeetquim’aime.
Qu’ilstrouventtoutel’expressiondemonamourleplussincère.
Abidiintissar
Dédicaces
Duplusprofonddemon cœur etavec l’intensité
Demes émotions, je dédiece modeste travaille à:
Mon pèreHechmi
Ma mère Najet
Pourtoutesannées desacrifice, pourl’amour
Lapatience etsurtoutla confidence enmoi
Quedieu les réserves la bonnes santéet la longuevie
Mes adorables etchers frères
«Chiheb etJaber »
Etma chère sœur
«Rafida »
j leurs souhaites une vie pleine desuccès et debonheur
Sansoublie mon binôme
«Intissar»
Atoutema famille quej’aime etj respecte
tousceux quime partagentl’amour etle respect
tousmes amis qui je neles oublierais jamais
tousceux dontl’oubli dunomn’est pascelui ducœur
DhouibiZahra
Remerciements
Avant d’entamer la rédaction de notre rapport du projet de fin d’étude, nous tenons à exprimer
nos vifs remerciements et notre gratitude à tous ceux qui ont voulu apporter l’assistance
nécessaire au bon déroulement de ce projet.
Nous tenons à exprimer nos sincères remerciements, nos respect en premier lieu à notre
encadreur madame imen Sfaihi Zouari pour leurs soutiens, ses contributions efficaces à
notre formation et sa participation précieuse ainsi que les conseils qu’elle nous a apporté
durant le déroulement de ce projet.
Nous remercions aussi le corps enseignant de l’institut supérieur d’Electronique et
communication de Sfax pour leur présence a notre coté.
Nous ne manquerons pas de remercier tous les membres de nos familles pour leur soutien sans
faille.
Toutes les personnes qui nous ont encouragé et aidé de prés ou loin à l’élaborer ce travaille.
Enfin, nous tenon à remercier les membres de jury, en espérant que ce travaille soit à la
hauteur de leur attente.
Table des matières
Introduction générale................................................................................................................ 1
Chapitre 1 : Présentation générale......................................................................................... 3
1. Introduction ...................................................................................................................... 3
2. Cadre du projet .................................................................................................................. 3
3. Les objectifs de la sécurité informatique .............................................................................. 3
4. Présentation générale.......................................................................................................... 4
4.1. Qu’est ce qu’un réseau Wi-Fi?.......................................................................................... 4
4.2. Les différents types de réseaux :....................................................................................... 4
4.3. Qu’est ce qu‘un protocole?.............................................................................................. 5
5. Problématiques .................................................................................................................. 6
6. Solution à ces menaces : les services de sécurité............................................................... 6
7. Les mécanismes du wep .................................................................................................... 7
7.1 Qu’est ce que le wep ?...................................................................................................... 7
7.2 Les problèmes des wep................................................................................................... 9
8. Conclusion......................................................................................................................... 9
Chapitre 2: Etude détaillée des attaques Wi-Fi .................................................................10
1. Introduction .....................................................................................................................10
2. Attaques contre le protocole WEP......................................................................................10
2.1 Attaques récupérant le keystream....................................................................................10
2.1.1 Attaque par Fausse authentification ..........................................................................10
2.1.2 Attaque par modification et injection de paquets .......................................................12
2.1.3 Attaque par dictionnaire d’IV.....................................................................................12
2.1.4. Attaque ChopChop...................................................................................................13
2.1.5 Evaluation................................................................................................................14
2.2. Attaques récupérant la clé..............................................................................................15
2.2.1 Algorithme RC4 :.......................................................................................................15
2.2.2 Attaque FMS.............................................................................................................15
2.2.3 Attaque Korek ..........................................................................................................15
3. Conclusion........................................................................................................................16
Chapitre 3 : Implémentation et Test pour le Reverse Engineering .................................17
1. Introduction .....................................................................................................................17
2. Les Outils utilisés...............................................................................................................17
3. Déroulement des tests ......................................................................................................18
3.1 Déchiffrement de la clé WEP sous Backtrack5..................................................................18
3.1.1 Première étape : mettre la carte en mode monitor.....................................................19
3.1.2 Deuxième étape : lancer la capture des paquets.........................................................20
3.1.3 Troisième étape :Si le rythme de traficestassezfaible,il fautl’activerparla réinjection
des paquets :....................................................................................................................23
4. Partie graphique du Backtrak.............................................................................................28
5. Conclusion........................................................................................................................28
Chapitre4 : Implémentation de l’attaque FMS en RC4....................................................29
1. Introduction .....................................................................................................................29
2. Choix dulangage de programmation..................................................................................29
3. Description de notre implémentation ....................................................................................30
3.1 L’algorithme RC4.............................................................................................................30
3.2 L’attaque FMS.................................................................................................................31
4. Test de notre implémentation ...........................................................................................33
4.1 La partie RC4...................................................................................................................33
4.2 La partie FMS..................................................................................................................36
5. Conclusion........................................................................................................................37
Conclusion générale...................................................................................................................37
Références Bibliographiques.....................................................................................................38
Annexes......................................................................................................................................39
Table des figures
Figure 1: Analyse de risque {1} ..................................................................................................... 4
Figure 2: Présentation des différents types des réseaux {2} ............................................................. 5
Figure 3:cryptage et décryptage d’un texte...................................................................................... 6
Figure 4: Cryptage et Décryptage WEP........................................................................................... 7
Figure 5: Attaque fausse authentification......................................................................................12
Figure 6: Attaque ChopChop ........................................................................................................14
Figure 7: Activation du mode monitor ...........................................................................................20
Figure 8: Capture des paquets .......................................................................................................21
Figure 9: Capture des paquets .......................................................................................................23
Figure 10: Attaque par fausse authentification................................................................................24
Figure 11: Attaque de réinjection des paquets ................................................................................25
Figure 12: Augmentation du Data..................................................................................................26
Figure 13: Attaque de Deauthentication .........................................................................................26
Figure 14: Attaque FMS...............................................................................................................28
Figure 15:Principe de cryptage WEP.............................................................................................31
Figure 16: Chiffrement RC4 .........................................................................................................33
Figure 17: Déchiffrement RC4......................................................................................................34
Figure 18:Les étapes de l'application graphique..............................................................................40
Table des tableaux
Tableau 1: Classification des attaques contre WEP.........................................................................16
Tableau 2: Description des outils aircrack-ng.................................................................................18
Tableau 3: L’algorithme RC4........................................................................................................30
1
Introduction générale
Les réseaux sans fils connus sous le nom de «Wifi», permettent d’interconnecter
plusieurs équipements sans-fil comme des ordinateurs portables, des ordinateurs de bureau et
des périphériques au sein d’un réseau personnel, d’un réseau local ou d’un réseau étendu.
Cette technologie offre toutes les fonctionnalités des réseaux filaires en éliminant les
contraintes matérielles que le câblage impose sur les utilisateurs réseaux. Elle simplifie et
accélère l’installation des réseaux et accroît leur souplesse et leur évolutivité tout en
favorisant une plus grande mobilité des utilisateurs. Si le nous ajoutons à ces avantages la
large bande passante en perpétuelle croissance, nous comprenons aisément que les réseaux
locaux sans fil constituent une solution des plus intéressantes pour les particuliers ou les
organisations qui désirent mettre en œuvre ou étendre un réseau local sans devoir installer ou
déplacer des câbles.
Bien que cela soit très attractif pour des utilisateurs en recherche de perfection
technologique afin d’optimiser leurs méthodes de travail cela reste un moyen de
communication qui doit être contrôlé. En effet, la technologie sans-fil souffre de plusieurs
vulnérabilités. De même, les mécanismes de sécurité et les méthodes d’authentification mises
en place n’ont pas assuré la sécurité attendue. Ces menaces sont mises en œuvre à l’aide
d’une variété d’outils, de scripts et de programmes permettant de lancer des attaques contre
des réseaux et leurs périphériques. En général, les périphériques réseaux attaqués sont des
points d’extrémité comme les serveurs, les points d’accès et les ordinateurs.
Dans ce vaste monde des réseaux sans fils, notre travail consiste à étudier les
problèmes de sécurité rencontrés dans ce type de réseau et détailler les attaques que nous
pouvons y appliquer. Ceci entre dans notre politique du reverse engineering afin de trouver
des solutions pour éviter certains attaques et améliorer le choix des solutions de sécurité.
Afin de présenter le travail qui a été effectué, nous débuterons le présent rapport par
un premier chapitre consacré aux généralités liées aux réseaux locaux sans fil ainsi que les
2
mécanismes de sécurités mis en place. Ensuite, dans le second chapitre, nous présenterons une
étude détaillée des attaques que nous pouvons y appliquer et distinguer les différentes classes
d’attaques Puis, dans le troisième chapitre, nous procèderons une implémentation et test pour
le reverse engineering. En plus dans le quatrième chapitre, nous présenterons une
implémentation de l’attaque FMS en RC4. Nous finissons ce travail par une conclusion
générale et quelques perspectives.
3
Chapitre 1 : Présentation générale
1. Introduction
La sécurité informatique est considérée comme l'un des critères les plus importants dans le
jugement de la fiabilité d'un système informatique. Cependant, les réseaux sans fil ne satisfont
pas cette contrainte, ce qui fait d'eux une cible intéressante pour les pirates.
Dans le premier chapitre, nous abordons brièvement des notions qui nous semblent
essentielles à la compréhension du réseau Wifi et les protocoles. Ensuite, nous poursuivons le
travail en décrivant les attaques engendrées. Pour finir, notre exposé par une implémentation
de l’attaque FMS en RC4 et test pour reverse engineering utilison le backtrack.
2. Cadre du projet
Le présent projet «Etude d’une attaque contre le protocole WEP» proposé par notre
encadrant est réalisé dans le cadre de la préparation d’un rapport de projet de fin d’études en
vue de l’obtention du diplôme de Licence appliquée en technologie des Réseaux et des
Télécommunications spécialité Administration et Sécurité des Systèmes et des Réseaux (TRT
ASSR) et spécialité Téléphonie et Réseaux IP (TRT TRIP) à l’Institut Supérieur
d’Electronique et de Communication de Sfax (ISECS) pour l’année universitaire 2012/2013.
3. Les objectifs de la sécurité informatique
La sécurité informatique à plusieurs objectifs bien sur liés aux types de menace ainsi qu’aux
types de ressource, etc. … Néanmoins, les points principaux points sont les suivant :
Empêcher la divulgation non-autorisée de données
Empêcher la modification non-autorisée de données
Empêcher l’utilisation non-autorisée de ressource réseau ou informatique de façon
général
La sécurité permet de :
4
 Analyser les risques
 Déterminer les données sensibles
 Rechercher des exigences de sécurité fondées sur les critères cryptographiques :
authentification, intégrité, confidentialité, anonymat et disponibilité
 Etudier des vulnérabilités
 Etudier des menaces et de leurs occurrences
 Mesurer du risque
 Déterminer les parties critiques à protéger les risques sur le réseau
Figure 1: Analyse de risque {1}
4. Présentation générale
4.1. Qu’est ce qu’un réseauWi-Fi?
Par définition, un réseau informatique est un ensemble d’ordinateurs reliés entre eux et
échangeant des informations.
4.2. Les différents types de réseaux :
Nous distinguons différents types de réseaux selon leur taille (en termes de nombre de
machine), leur vitesse de transfert des données ainsi que leur étendue. Les réseaux privés sont
des réseaux appartenant à une même organisation. Nous distinguons essentiellement dans la
figure suivante :
 LAN (Local Area Network) dont la portée est de quelques dizaines de mètres.
5
 MAN (Métropolitain Area network) dont la portée est de quelques centaines de
mètres.
 WAN (Wide Area Network) dont la portée est de quelques kilomètres
Figure 2: Présentation des différents types des réseaux {2}
4.3. Qu’est ce qu‘un protocole?
Un protocole est une méthode standard qui permet la communication entre des processus
(s’exécutant éventuellement sur différentes machines), c'est-à-dire un ensemble de règles et de
procédures à respecter pour émettre et recevoir des données sur un réseau. Il en existe
plusieurs selon ce que le nous attendons de la communication :
-WEP Le Wired Equivalent Privacy (abrégé WEP) est un protocole pour sécuriser les réseaux
sans fil de type Wi-Fi, défini par le standard 802.11 ratifié en septembre 1999.
Les réseaux sans fil diffusant les messages échangés par ondes radioélectriques, sont
particulièrement sensibles aux écoutes clandestines. Le WEP tient son nom du fait qu'il devait
fournir aux réseaux sans fil une confidentialité comparable à celle d'un réseau local filaire
classique.
-WPA (Accès Protégé Wi-Fi). C'est une méthode de cryptage des données pour réseau sans
fil. WPA possède des fonctions de sécurité meilleures que WEP, en utilisant le Protocole
Extensible d'Authentication (EAP: Extensible Authentication Protocol). Il consiste à sécuriser
les accès réseau et il intègre une méthode de cryptage permettant de sécuriser les données
transmises. {8}
WPA a été conçu pour utiliser le serveur d'authentification 802.1X qui attribue différentes
clés à chaque utilisateur. Il est également disponible avec la "Clé pré-Standard (PSK: Pre-
Shared Key)", mais il est dans ce cas moins sécurisé. PSK a été conçu pour un usage privé et
pour les petits réseaux d'entreprise. Le WPA-PSK est aussi appelé WPA-Personal. WPA-PSK
6
permet à la machine sans fil Brother de s'associer avec les points d'accès, en utilisant la
méthode de cryptage TKIP ou AES.
TKIP est l'abréviation de Temporal Key Integrity Protocol (Protocole de clé Temporaire). Il
s'agit d'une méthode de cryptage.
AES est l'abréviation d’Advanced Encryption Standard (Cryptage Standard Avancé). Il s'agit
&’du dispositif de cryptage standard le plus performant autorisé par Wi-Fi®.
WPA-PSK et TKIP ou AES utilisent une Clé pré-standard (PSK: Pre-Shared Key) entre 7 et
64 caractères.
-WPA2 (Wi-Fi Protected Access 2): est un protocole de chiffrement qui constitue une norme
en matière de sécurité sans fil. Votre clé WPA2 est un code de sécurité alphanumérique qui
permet aux utilisateurs autorisés d'accéder à votre connexion Internet, tout en protégeant le
contenu de votre réseau contre les intrus. {9}
5. Problématiques
Un réseau sans fil non sécurisé laisse des personnes non autorisées écouter ce réseau, y
accéder, voire le modifier. Nous pouvons le sécuriser de façon plus ou moins stricte à
différents niveaux : configuration des équipements d’accès et choix des protocoles.
Figure 3:cryptage et décryptage d’un texte
6. Solution à ces menaces : les services de sécurité
Pour remédier aux failles et pour contrôler les attaque, la sécurité informatique se base sur un
certain nombre de services qui permettent de mettre en place une réponse appropriée a chaque
menace. A ce niveau, aucune technique n’est encore envisagée ; il ne s’agit que d’un niveau
d’abstraction visant à obtenir une granularité minimale pour déployer une politique de
sécurité de façon optimal décrivons les principaux services de sécurité.
7
 La confidentialité
 L'intégrité des données
 Le contrôle d'accès
 L'identification
 La non répudiation
7. Les mécanismes du wep
7.1 Qu’est ce que le wep ?
WEP (wired equivalent privacy): est un protocole de sécurité, C’est une première initiative de
sécurisation des charges sur le réseau wifi. Le principe du WEP consiste à définir une clé
secrète déclarée au niveau des points d'accès et des clients qui assurera le cryptage et le
décryptage des informations. Tout utilisateur possédant cette clé pourra communiquer sur le
réseau.
Le protocole WEP utilise l'algorithme RC4, (Ron's Cipher 4 développé en 1984 par Ron
Rivest pour RSA Data Security), qui permet de générer à partir d'une clé secrète partagée k de
40 ou 104 bits combiné à un vecteur d'initialisation IV de 24 bits une séquence pseudo-
aléatoire S. cette séquence est la clé effective du cryptage. L'opération de cryptage par un ou-
exclusif (XOR) entre le texte en clair couplé à son CRC32 et la séquence S.
Figure 4: Cryptage et Décryptage WEP
8
L’intégrité des données est assurée par la fonction CRC32.
Par ailleurs, l’authentification auprès d’un réseau protégé par WEP a deux modes : une
authentification ouverte et une authentification à clé partagée. Dans le premier mode,
n’importe quel client ayant le SSID ou le nom du réseau peut s’authentifier et s’associer auprès du
point d’accès alors que dans l’autre seulement les clients possédant la clé peuvent se connecter au
réseau.
Dans le processus partagé d’authentification, le client envoie tout d’abord une demande
d’accès au point d’accès, qui lui renvoie une "challenge texte". Le client doit encrypter ce
texte en utilisant sa clé WEP. Le client retourne ensuite le paquet au point d’accès et si celui-
ci arrive à décrypter correctement ce paquet, l’authentification a réussi.
L’utilisation du WEP a dévoilé de nombreuses faiblesses. Ainsi plusieurs articles {3, 4, 5,
6,10} ont été publiés au sujet des failles qui consistent principalement :
Faiblesses du vecteur d’initialisation : Le champ vecteur d’initialisation (IV), nécessaire
pour le décodage du message circule en clair dans chaque message. Ainsi, un IV est codé sur
24 bits. Sa rotation peut être de l’ordre de quelques heures sur un réseau chargé. Par la suite
une réutilisation est autorisée.
Faiblesse du contrôle d’intégrité : Le calcul du type CRC, utilisé par Intégrité Check Value
(ICV) ne devrait servir qu’à vérifier si la trame reçue n’a pas été altérée lors de la
communication. Une telle technique est en fait facile à contourner du fait de sa linéarité :
CRC(X+Y)=CRC(X) +CRC(Y). Donc, il est possible de modifier les données sans pour
autant changer la valeur du CRC et sans que le récepteur s’en aperçoive.
Absence d’une spécification de gestion des clés: la même clé est utilisée pour le chiffrement
et le déchiffrement. Elle est partagée manuellement entre les clients. Le nombre d’utilisateurs
connaissant cette clé augmentera à mesure que le réseau croîtra.
Le WEP est employé dans un WLAN pour rendre inintelligible à un tiers non autorisé les
données encapsulées dans des trames. (Un paquet ne peut en effet pas transiter directement
sur un réseau.) Le WEP a pour objectif de satisfaire l’association (s’assurer que nous
discutons avec les membres du même WLAN), la confidentialité, l’authentification et
l’intégrité. Il est défini comme :
-« assez fort » (reasonably strong)
La longueur des clés utilisées rend difficile une attaque de type force brute, c'est-à-dire avec
l’utilisation de toutes les clés possibles.
9
-« à synchronisation automatique » (self synchronizing)
Chaque paquet contient assez d’informations pour permettre à quiconque possède la clé de
déchiffrer son contenu. La connaissance du contenu des paquets précédant n’intervient pas
dans le déchiffrement. Autrement dit, les paquets sont autonomes.
-« efficace » (efficient)
Sa simplicité fait qu’il peut être implémenté en logiciel aisément. Cela signifie aussi que les
opérations de chiffrement et de déchiffrement sont rapides.
-« normalement exportable »
Le standard WEP utilise une longueur de clé variable (jusqu’à 2048 bits mais les USA
limitent la taille des clés à l’export)
-é« optionnel »
La mise en place et l’utilisation du WEP dans les équipements sont en effet optionnelles.
7.2Les problèmes des wep
 Faiblesse de certaines clés RC4.
 Le principal problème est qu’une clé de flux ne peut pas être réutilisée.
 Théoriquement, une fois que les 224 clés possibilités ont été utilisées, il est nécessaire
de changer de clé secrète.
 La norme ne spécifie pas de méthode précise de gestion de clés.
 En pratique, les clés secrètes ne sont quasiment jamais changées.
 Pour une borne avec un client avec une connexion de 11Mb/s et ayant une activité
réseau normale, il suffit d’une heure pour couvrir tout l’espace des clés.
8. Conclusion
Dans ce chapitre, nous avons présenté les caractéristiques des réseaux sans fil et leurs impacts
sur la sécurité. Ainsi nous avons cité les principales attaques contre ce type de réseau et les
solutions envisagées. Nous avons vu comment lutter contre l'écoute passive par le chiffrement
au niveau 802.11 (WEP, WPA,...) et le contrôle d'accès par l'authentification d'un nœud
802.11 (filtrage des adresses MAC, 802.1x,...). Malgré l’évolution des mécanismes de
sécurité, les chercheurs ne cessent plus à dévoiler leurs faiblesses et les exploiter pour
perturber les réseaux et même y accéder.
10
Dans le chapitre suivant, nous mènerons une étude détaillée des attaques WiFi afin de détecter
les failles au niveau des solutions adoptées. Ceci entre dans notre politique du reverse
engineering dans le but d’améliorer ensuite le choix des solutions de sécurité.
Chapitre 2: Etude détaillée des
attaques Wi-Fi
1. Introduction
Bien que plusieurs solutions aient été proposées pour sécuriser les réseaux sans fil, ce type de
réseau reste encore la cible de nombreux attaquants. Dans ce chapitre, nous allons mettre
l’accent sur les vulnérabilités de ces solutions qui représentent les points de départ pour tout
type d’attaque. Ceci à travers l’exploration des travaux de recherche qui ont révélé les
faiblesses et ont mis en œuvre les attaques.
2. Attaques contre le protocole WEP
Le nom WEP (Wired Equivalent Privacy) donne l’intuition que ce protocole est aussi sécurisé
qu’un réseau câblé. Nous montrerons plus loin que ce n’est pas le cas. Nous avons
précédemment souligné brièvement les faiblesses du WEP. Dans cette partie, nous allons
mettre l’accent sur chaque vulnérabilité et détailler les attaques engendrées. Certaines attaques
récupèrent la clé secrète et par la suite peuvent avoir un accès complet au réseau. D’autres se
contentent de récupérer le keystream et par la suite effectuer quelques perturbations sur le
fonctionnement du réseau.
2.1 Attaques récupérant le keystream
2.1.1 Attaque par Fausse authentification
Pré-requis :
Pour aborder cette attaque, il faut que la méthode d’authentification à clé partagée soit utilisée
dans le réseau protégé par WEP.
11
Déroulement :
Dans le processus partagé d’authentification, le point d’accès authentifie le client en lui
envoyant en clair une chaine de caractères de 128 octets nommée challenge qui devra être
renvoyé chiffré. Un attaquant qui écoute cette communication, obtient donc le challenge, et
son équivalent chiffré
Supposons que :
C : le challenge
PC : paquet chiffré
|| :l’opérateur de concaténation
PC = RC4(IV || Rk) XOR (C || ICV(C))
Vu que l’opération XOR est réversible, l’opération A=B XOR C est équivalente à B=A XOR
C ainsi que C=A XOR B.
Alors, l’attaquant peut obtenir le « keystream » utilisé pour chiffrer le challenge. Sa valeur est
égale à RC4(IV || Rk) = PC XOR (C || ICV(C))
L’attaquant peut donc réutiliser ce « keystream » et s’en servir pour s’authentifier auprès du
point d’accès en chiffrant le nouveau challenge.
La figure ci-dessous illustre ce processus.
12
Figure 5: Attaque fausse authentification
2.1.2 Attaque par modification et injection de paquets
Cette attaque exploite les faiblesses liées au vecteur d’initialisation ainsi que la fonction
CRC32.
Vu que le vecteur d’initialisation est transmis en clair et il est réutilisable, l’attaquant peut
envoyer des paquets avec un ancien vecteur d’initialisation qui est déjà obsolète dans la
communication entre le véritable client et le point d’accès.
Ainsi, l’attaquant exploite la linéarité de la fonction CRC32.
Cette linéarité se traduit par : CRC(A XOR B)=CRC(A) XOR CRC(B)
Pré-requis :
L’attaquant doit s’authentifier auprès du point d’accès pour que son paquet soit accepté. Il est
ainsi souhaitable que le paquet à modifier ayant un CRC correcte.
Déroulement :
Soient :
D : un message en clair
C : le message chiffré de (D) tel que C =RC4(IV||Rk) XOR (D||ICV(D))
D’ : Données à injecter à partir d’un paquet chiffré capturé (C) tel que D’=D XOR Mod.
Mod : c’est la modification que nous voulons apporter sur D ; Mod=D’ XOR D
Nous avons donc :
C’=RC4(IV||Rk) XOR (D’||ICV(D’))
=RC4(IV||Rk) XOR ((D XOR Mod) || ICV (D XOR Mod))
= RC4(IV||Rk) XOR (D||ICV(D)) XOR (Mod || ICV (Mod))
=C XOR (Mod || ICV (Mod))
Cette relation montre bien qu’à partir de n’importe quel paquet chiffré valide, il est possible
de créer un paquet forgé et par la suite d’injecter n’importe quelle modification sur ce paquet.
2.1.3 Attaque par dictionnaire d’IV
Une partie de la clé de cryptage se représente par la clé partagée qui est statique utilisée par le
point d’accès et tous ses clients. L’autre partie se représente par le vecteur d’initialisation qui
est dynamique modifiable à chaque nouveau paquet.
13
En recevant un paquet, le point d’accès le retransmet avec un IV différent de celui reçu. Alors,
l’attaquant va inonder le réseau par un très grand nombre de paquets en diffusion (ARP,
ICMP..). Puis, il calcule le keystream de chaque paquet retransmis par le point d’accès. Par la
suite, il peut construire un dictionnaire contenant des couples d’IV et le keystream qui lui
correspond.
A ce stade, l’attaquant est capable de décrypter n’importe quel paquet dont l’IV est stocké
dans le dictionnaire. De plus, il peut utiliser ce dictionnaire pour créer de nouveaux paquets et
les injecter dans le réseau.
Pour construire un dictionnaire permettant le décryptage de tout type de paquet, l’attaquant
n’a qu’à enregistrer 1500 octets (taille d’un MTU) de keystream pour chacun des 24 vecteurs
d’initialisation possibles, ce qui représente à peu près 24 giga octets d’espace. [3]
.
2.1.4. Attaque ChopChop
Cette attaque est publiée par KoreK en 2004 sur un forum de discussion du site NetStumbler.
Elle se base sur la modification et l’injection des paquets. Donc, elle exige les mêmes
conditions que les attaques précédentes. Son but consiste à déterminer le texte en clair d’un
paquet capturé. Une fois réussi, l’attaquant peut obtenir aussi le keystream et par la suite il
peut injecter d’autres paquets.
Déroulement :
Le principe consiste à récupérer le texte en clair, octet par octet. Il se résume en ces étapes :
1. Capture d’un paquet à décrypter.
2. Supposer que le dernier octet du texte en clair est un zéro.
3. Enlever ensuite la valeur chiffrée de cet octet dans le paquet crypté. Par conséquent, nous
aurons un nouveau paquet tronqué malformé car la valeur du checksum est calculée sur le
message initial. Pour corriger cette valeur, KoreK a éprouvé qu’en appliquant un XOR entre
le paquet tronqué et une valeur Mod, le paquet devient valide. Il a montré ainsi que cette
valeur dépend uniquement de l’octet tronqué.
4. Envoyer de nouveau ce paquet au point d’accès pour vérifier s’il a bien deviné l’octet.
L’attaquant n’a qu’écouter la réponse du point d’accès :
*Si l’ICV est correcte, le paquet est retransmis et par la suite la proposition est correcte.
L’attaquant a dévoilé le dernier octet du texte en clair.
14
*Si non, le point d’accès rejette le paquet. Il refait les mêmes étapes en incrémentant de 1 la
valeur proposé du dernier octet, ceci jusqu’à ce qu’il trouve la bonne valeur. Étant donné qu’il
y a 256 valeurs possibles pour l’octet tronqué, il suffit de les tester tous. En moyenne, il
faudra donc envoyer 128 paquets pour décrypter un octet.
5. Enlever cet octet du message et refaire la même chose avec l'octet suivant jusqu'à ce qu'il
découvre tout le message en clair.
La figure ci-dessous illustre le déroulement de l’attaque ChopChop:
Figure 6: Attaque ChopChop
Ce type d’attaque est un peu long avec des paquets de grande taille, il est intéressant et
pratique avec des paquets dont la plus part de son contenu est connu.
2.1.5 Evaluation
Le degré des menaces apportées par cette classe d’attaque est assez tolérable. En effet, ces
attaques se contentent à la récupération du keystream. Elles ne permettent pas à l’attaquant un
accès direct au réseau et de se comporter comme un client légitime. Ainsi, l’attaquant n’a
qu’injecter et décrypter quelques paquets en tenant compte de plusieurs contraintes :
Longueur et type du paquet en jeu : tout paquet à injecter ou à décrypter dépend de la
longueur de keystream obtenu.
15
Le rythme de changement de la clé secrète dans le réseau : le keystream récupéré perd
son validité si la clé secrète est fréquemment modifier.
Type de la carte réseau : la transmission et la réception avec la même carte ne sont pas
toujours autorisées.
Ces attaques donnent leurs valeurs sur le plan pratique par inondation de réseau afin de
faciliter la tâche des attaques récupérant la clé secrète.
2.2. Attaques récupérant la clé
2.2.1 Algorithme RC4 :
Le RC4 a été conçu par Ronald Rivest de RSA Security en 1987. Officiellement nommé
Rivest Cipher 4, l'acronyme RC est aussi surnommé Ron's Code comme dans le cas de RC2,
RC5 et RC6.
Les détails de RC4 furent initialement tenus secrets mais en septembre 1994, une description
du chiffrement fut postée de manière anonyme sur la liste de diffusion Cypherpunks 1. Le
message apparut ensuite sur le forum sci.crypt 2 puis sur divers sites. L'algorithme avait
vraisemblablement fait l'objet d'une rétro-ingénierie. Sur le plan légal, RC4 est une marque
déposée dont les implémentations non officielles sont autorisées sous un autre nom que RC4,
car l'algorithme n'a pas été breveté. La version non officielle de RC4 est aussi connue sous le
nom de « ARCFOUR », « ARC4 » ou « Alleged RC4 » (signifiant « RC4 supposé » puisque
RSA Security n'a jamais officiellement publié les spécifications de l'algorithme).
Il a par la suite été utilisé dans des protocoles comme WEP, WPA ainsi que TLS. Les raisons
de son succès sont liées à sa grande simplicité et à sa vitesse de chiffrement. Les
implémentations matérielles ou logicielles sont faciles à mettre en œuvre.
2.2.2 Attaque FMS
Définition de l’attaque :
En 2001, cette attaque est publiée par Scott FLURHER, Itsik MANTIN et Adi SHAMIR. Son
nom correspond d’ailleurs à leurs initiales : FMS A la différence des attaques précédentes,
cette attaque récupère la clé secrète. Elle est considérée parmi les premières attaques dans
cette classe. Elle exploite des faiblesses liées à l’algorithme RC4 et aux vecteurs
d’initialisations. Son principe est dévoiler les octets de la clé un par un. {13, 14, 15,16}
2.2.3 Attaque Korek
16
En 2004, Korek a cherché d’autres corrélations entre la clé secrète et les premiers octets de
keystream. Les corrélations sont au nombre de 17 capable de déterminer les octets de la clé un
par un. Certaines sont déjà connues, d’autres sont découvertes par Korek lui-même.
Chacun d’eux a une probabilité de succès bien définie à l’exception de celle nommée A-neg.
Elle permet de réduire l’espace de recherche en identifiant les valeurs à rejeter.
Ces attaques peuvent être décomposées en trois classes: {12, 15,17}
*La première, pour déterminer un octet K[L], utilise les valeurs de K[0] jusqu’à K[L-1] et
X[0]
*La deuxième utilise en plus X[1]
*La troisième permettant simplement de réduire l’espace de recherche des clés, en identifiant
les valeurs à rejeter
Dans l’ensemble, la structure de l’attaque est la même que celle de FMS.
Chacune des attaques est lancée l’une après l’autre, jusqu’à ce que l’une d’elles trouve la clé.
En pratique, un nombre de paquets capturés de 500 000 suffit à casser la majorité des clés
WEP de 104 bits {17}.
Contrairement à l’attaque FMS, ces attaques ne nécessitent pas des vecteurs d’initialisations
faibles. Les vecteurs sont en fait choisis en fonction de l’état dans lequel ils laissent les
algorithmes KSA et PRGA. Chaque attaque est accompagnée d’une liste de conditions sur le
KSA et le PRGA après initialisation partielle. Si ces conditions sont vérifiées, le paquet peut
être utilisé.
Par exemple, l’attaque A s-5-1 est une généralisation directe de l’attaque FMS. Alors que
FMS ne s’intéresse qu’à une classe d’IV, connue pour vérifier certaines propriétés, A s-5-1
vérifie pour chaque IV s’il vérifie la resolved condition.
Les attaques contre WEP
Attaque liés à RC4 Attaque non liées à RC4
FMS
Korek
Fausse authentification
Attaque par modification et injection
Tableau 1: Classification des attaques contre WEP
3. Conclusion
Dlans ce chapitre, nous avons intéressé au protocole WEP et. Nous avons analysé également les
attaques que nous pouvons y appliqué.
17
Dans le chapitre suivant, nous essayerons de mener et réaliser plusieurs attaques sur un réseau
WiFi afin de détecter les failles, de mesurer les problèmes et la robustesse du réseau et de
proposer des solutions et des corrections améliorant la sécurité pour ces type de réseau.
Chapitre 3 : Implémentation et Test
pour le Reverse Engineering
1. Introduction
Après notre étude de différents protocoles de sécurité mis en place pour un réseau sans fil
ainsi que l’exploration dans le fonctionnement de chacun, une discussion est menée sur leurs
faiblesses et une étude détaillée des attaques que nous pouvons appliquer contre chacun d’eux
est achevée. Dans ce chapitre, nous allons tester quelques attaques : tout d’abord, nous
commençons par une description de notre environnement matériel et logiciel de test. Ensuite,
nous passons à présenter les résultats obtenus ainsi que les interprétations tirées. Une
spécification exacte de notre environnement est essentielle. Vers la fin, nous allons présenter
les résultats de notre simulation des attaques FMS contre WEP.
2. Les Outils utilisés
Les logiciels utilisés dans la sécurité WiFi sont d’une diversité énorme. Il existe plusieurs
logiciels conçus spécialement pour la plateforme linux permettant d’analyser le trafic réseau,
injecter des faux paquets et réinjecter d’autres,…. Nous avons choisi la suite aircrack-ng car
elle englobe presque toutes les attaques ciblant un réseau sans fil protégé par le protocole
WEP ou WPA. Dans ce qui suit, nous allons décrire cette suite ainsi que les commandes
exécutées pour tester les attaques.
Backtrak{18}: est une version de Linux, ( Un système D’exploitation, OS ) L’objectif de ce
système est de réunir des outils permettant de tester la Sécurité d’un Réseau, Il est bien
entendu Utiliser par de nombreux Hackers
18
BackTrack est donc un système d’exploitation, Nous allons utiliser la Version 5 r3. Cette
Version dispose d’un mode Graphique, d’un Navigateur Internet ( Mozilla Firefox etc…) , et
pleins d’autres fonctionnalités disponible sous Ubuntu ou d’autres Variantes de Linux.
BackTrack n’est pas non plus une Solution Miracle pour le Hacking, il faut maitriser Linux
pour pouvoir l’exploiter Pleinement.
Si vous debutez, vous faites le bon choix en l’utilisant, avec de bon Tuto sur le Net, Nous
n’apprenons très vite pour des résultats surprenants.
Nous avons utilisé la distribution Linux BackTrack. C’est une distribution qui regroupe un
ensemble d’outils nécessaires aux tests de sécurité d’un réseau. Elle inclut de nombreux
logiciels : aircrack-ng, Metasploit RFMON…
Aircrack-ng : est une suite d’outils utilisée afin d’obtenir l’accès à un réseau wifi crypté en
WEP ou WPA, essentiellement utilisé sous linux.
Une description de quelques outils de cette suite est dans le tableau 2.
Outils Description
Aircrack-ng L’outil le plus important, il assure le crack d’un réseau crypté en WEP ou
WPA .il implémente la plus part des attaques contre WEP (FMS,Korek,
Klein, PTW…) et d’autres contre WPA (Brute force, Beck-Tews...)
airmon-ng Outil pour injecter et capturer des paquets 802.11 bas niveau, nous devons
activer le mode monitor. C’est le mode à travers lequel l’interface capture
n’importe quels paquets même ceux qui ne lui sont pas destiné.
aireplay-ng Outil pour vérifier si nous pouvons s’associer au point d’accès, injecter des
paquets…
airodump-ng Outil utilisé pour capturer des paquets
Tableau 2:Description des outils aircrack-ng
3. Déroulement des tests
3.1 Déchiffrement de la clé WEP sous Backtrack5
Les réseaux sans fil (Wi-Fi) sont devenus très courant ces dernières années, et il n'est pas rare
aujourd'hui dans les zones urbaines de capter plusieurs dizaines de points d'accès Wi-Fi
appartenant à des particuliers ou des entreprises. Décrit dans la norme IEEE 802.11, les
réseaux sans fil, de part l'impossibilité de facilement limiter leurs propagation, ont rapidement
nécessités l'emploi d'un codage des transmissions. La première implémentation d'un processus
de sécurité à grande échelle sur les réseaux sans fil a été mise en place avec le protocole WEP.
Le but de ce protocole était de rendre les connexions WiFi semblable aux réseaux filaires sur
le plan de la confidentialité des transmissions, comme son nom l'indique, puisque WEP est
l'acronyme de "Wired Equivalent Privacy". Mais très rapidement (en 2001 via l'attaque FMS)
des faiblesses majeures ont été découvertes dans ce protocole, et la sécurité offerte par le
19
WEP est aujourd'hui inexistante. Pourtant, nous trouvons encore de nombreux réseaux cryptés
par du WEP, alors que son remplacent, le cryptage WPA (appelé WPA2 dans sa version
finale) est maintenant éprouvé et clairement plus solide. Même si pas infaillible lui non plus...
Beaucoup de MachinBox utilise par défaut le cryptage WEP si l'on active le Wi-Fi, même si
les plus récents modèles commencent à le remplacer par WPA. Ce dernier ne garantie en rien
une sécurité infaillible et il est aujourd'hui lui aussi crackable par force brute. Mais il demande
plus de temps/de puissance de calcul pour obtenir la clé, ainsi que des conditions favorables.
L'un des outils les plus rapide pour s'attaquer aux réseaux WPA est disponible sous Windows,
il s'agit d'ElcomSoft Distributed Password Recovery. Il permet d'utiliser les GPU NVIDIA en
complément pour le calcul et de distribuer ce calcul sur plusieurs machines, permettant ainsi
de réduire considérablement le temps nécessaire pour cracker une clé. Il semble que le travail
de deux chercheurs Japonais, Toshihiro Ohigashi et Masakatu Morii, permette de cracker un
réseau WPA utilisant TKIP (PDF) (mais pas ceux utilisant AES) en moins d'une minute. Leur
méthode, qui sera présentée le 25 septembre prochain, est visiblement difficile à mettre en
œuvre à l'heure actuelle, mais elle permet de renforcer les craintes sur la faiblesse des réseaux
sans-fils cryptés avec WPA, au moins dans un avenir proche. Nous lançons l’ordinateur de
l’attaquant avec Backtrack, puis nous lançons un shell. A fin d’exécuter n’importe quel
attaque, nous devons suivre ces étapes.
3.1.1 Première étape : mettre la carte en mode monitor
Nous vérifions tout d’abord que la carte Wi-Fi de l’ordinateur est bien détectée par Backtrack
avec la commande airmon-ng. Ensuite, nous activons le mode monitor de la carte Wi-Fi afin
d’écouter les réseaux Wi-Fi. La commande à exécuter est la suivante :
20
Figure 7: Activation du mode monitor
Le message nous indique que le mode monitor de la carte est disponible via l’interface mon0.
Pour le reste des étapes, il faudra donc utiliser l’interface mon0.
3.1.2 Deuxième étape : lancer la capture des paquets
 Nous allons commencer par surveiller tous les réseaux qui utilisent le WEP afin de trouver
notre cible, avec la commande suivante :
--encrypt : Filtre en fonction de la sécurité du réseau (wpa ,wep,opn).
Nous obtenons la figure 8 comme résultat :
21
Figure 8: Capture des paquets
Le résultat de ce scan est une source d'information primordiale pour repérer et choisir la cible.
Il se divise en deux parties, la première traitant les points d'accès la seconde les stations
(typiquement les ordinateurs) connectées aux points d'accès.
Voici une brève description des champs visibles dans la première partie :
 BSSID : L'adresse MAC de l'AP.
 PWR : La force du signal. Une valeur de -1 indique un problème de calcul sans
incidence.
 Beacons : Le nombre de Beacons reçu, ces petits paquets qu'emploies les AP pour
s'annoncer. Ils n'ont pas d'intérêt ici.
 #DATA : Cette colonne est primordiale. Plus vous aurez de #DATA (et donc de IVs),
plus le crack sera rapide.
 #/s : Nombre de #DATA par seconde. Pas très utile ici.
 CH : Le canal utilisé par l'AP. Information utile pour réduire le champ du scan et se
concentrer sur la cible.
22
 MB : La vitesse de l'AP, à l'heure actuelle, une écrasante majorité de 54 MB
(802.11g).
 ENC : Autre colonne primordiale, elle indique le protocole de cryptage employé par
l'AP.
 CIPHER : La méthode d'authentification utilisée par l'AP.
 AUTH : Complément de la méthode d'authentification.
 ESSID : Le nom du réseau Wi-Fi de l'AP. Celui que le nous indiquons habituellement
pour se connecter de façon "classique".
Et les champs disponibles dans la seconde partie :
 BSSID : L'adresse MAC de l'AP
 STATION : L'adresse MAC de la station connecté à l'AP
 PWR : La force du signal.
 Rate : Le taux de transfert ?
 Lost : Le nombre de paquets perdus ?
 Packets : Le nombre de paquets capturés ?
 Probes : Le nom de l'ESSID auquel la station est connectée.
 Pour affiner la capture et nous concentrer sur la cible, nous allons préciser nos arguments
de capture passés à airodump-ng :
Les conditions nécessaires sont réunies afin de déchiffrer la clé WEP. Nous arrêtons
airodump-ng. Puis, nous le relançons en ciblant le point d’accès (--bssid 26 :5A :84 :21 :F2) et
en sauvegardant un fichier de capture (-w out).
Ceci est exécuté par cette commande :
-- write : Nom du fichier cap de sortie.
-- channel : canal où se situe l’AP ( entre 1 et 13).
-- bssid : Filtre en fonction de la sécurité du réseau.
Nous obtenons la figure 9 comme résultat :
23
Figure 9: Capture des paquets
L'emploi de l'option --bssid AP_MAC_address permet de limiter la capture au seul paquet
provenant le l'AP dont nous indiquons l'adresse MAC. Ça permet surtout de créer des fichiers
(avec l'option -w fichier) de capture contenant uniquement des paquets intéressants dans le
cadre du crack de la cible, et ainsi d'optimiser la procédure.
Revenons à cette option -w fichier. Celle-ci va créer deux fichiers :
* ASSR_TRIP.cap
*ASSR_TRIP.txt
Ce premier fichier .cap nous sera très utile pour le crack de la clé WEP, puisqu'il contient des
captures de paquets qui seront analysées par aircrack-ng pour cracker la clé.
3.1.3 Troisième étape : Si le rythme de trafic est assezfaible, il faut
l’activer par la réinjection des paquets :
Test de l’association au réseau cible
Nous ouvrons un nouveau shell pour pouvoir utiliser aireplay-ng en parallèle avec airodump-
ng. En premier lieu, nous utilisons ce programme afin de vérifier s’il est possible de s’associer
au point d’accès cible et injecter des paquets.
Nous exécutons la commande suivante :
24
Figure 10: Attaque par fausse authentification
Les paramètres sont:
-1 : Indique une "fake authentication".
0 : Indique le temps a laisser entre 2 tentatives.
-e ESSID : Il faut remplacer ESSID par le nom du réseau indiqué dans la colonne ESSID
par airodump-ng.
-a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP
indiqué dans la colonne BSSID par airodump-ng.
-h STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l'adresse
MAC de la station indiqué dans la colonne STATION par airodump-ng.
mon0 : A remplacer par le nom de votre interface de capture
Le message « association successful » confirme le succès de l’opération.
Cette étape permet principalement de vérifier la présence ou non d'un filtrage sur l'adresse
MAC mis en place sur l'AP. Cependant, il arrive parfois que l'association échoue même en cas
d'absence de filtrage... Cette étape n'est donc pas d'une fiabilité absolue. De plus, en fonction
de la qualité de réception du signal de l'AP cible, le résultat de cette authentification peut être
long à venir.
Donc, ça ne coute rien de tenter la "fake authentification", mais il ne faut pas conclure grand
chose du résultat obtenu, sauf en cas de réussite rapide de l'authentification !
Accumulation de paquets pour préparer le crack
Ensuite, nous lançons l’attaque de réinjection des paquets (aireplay-ng avec l’option -3 permet
l’injection de paquet de type ARP). L’objectif de l’attaque consiste à s’interposer entre le
point d’accès et la machine connectée, d’intercepter les paquets et les retransmettre de
manière transparente à la machine destinatrice.
Il s'agit maintenant de générer du trafic pour obtenir les paquets contenant des IVs dont nous
avons besoin pour cracker la clé WEP. Pour réaliser cette tâche, nous utilisons une fois de
plus aireplay-ng
Donc nous n’avons qu’exécuter cette commande :
25
Figure 11: Attaque de réinjection des paquets
-3 : Indique qu’il s’agit d’une injection de paquets.
-e : Nom du réseau.
-a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP
indiqué dans la colonne BSSID par airodump-ng.
-h STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l'adresse
MAC de la station indiqué dans la colonne STATION par airodump-ng.
-r : Fichier cap à se servir pour l'injection lors de l'attaque FMS par exemple. Facultatif
Cette commande va créer un fichier "ASSR_TRIP.cap" qui contiendra les paquets. Ces
fichiers .cap sont au centre du crack, ils contiennent les données indispensables à aircrack-
ng pour casser rapidement la clé.
Avec aireplay-ng, le facteur important est de faire monter le plus vite possible le nombre de
paquets ARP capturés. Entre le lancement de aireplay-ng et le début de la capture de paquets
ARP, il peut s'écouler un long moment, mais une fois un paquet dans les filets, les autres vont
suivre très rapidement.
Le programme aireplay-ng sauvegarde donc les arp capturés dans un fichier.
Une fois lancée, nous pouvons voir son effet dans le shell airodump-ng : le nombre de paquets
capturés affichés dans la colonne Data augmente ce qui montre la figure ci-dessous :
26
Figure 12: Augmentation du Data
Attaque de type " Deauthentification"
Si jamais le premier paquet ARP ne veut vraiment pas venir, il est possible de lancer une
attaque de "Deauthentication". Dans le cadre d'un crack de clé WEP, une telle attaque, si elle
réussie, va forcer une brève déconnexion de la station cible. Cette station va alors se
reconnecter automatiquement, et il arrive que les machines sous Windows vident leurs caches
ARP en cas de déconnexion, ce qui provoque l'envoi d'un paquet ARP tant attendu... Cette
déconnexion est transparente sur la machine cible dans une large majorité de situation, si et
uniquement si vous n'injectez pas de trop nombreux paquets. Soyez prudent par exemple de
ne pas utiliser 0 comme nombre de paquets et de laisser le processus tourner.
Voici la commande pour lancer une attaque de "Deauthentication" :
aireplay-ng -0 1 -e Wisecs1 –a 00 :26 :5A :84 :21 :F2 –c DC:85:DE:69:E3:97 mon0
Figure 13: Attaque de Deauthentication
-0 : Indique une attaque par "Deauthentication"
27
1 : Indique le nombre de paquet de "Deauthentication" qui doivent être envoyer. 0 force
l'envoi de façon continuelle, jusqu'à l'arrêt du processus
-a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP
ou est connecté la station visée.
-c STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par
l'adresse MAC de la station à déconnecter. Si vous n'indiquez aucune adresse MAC ici, toutes
les stations connectées seront la cible de l'attaque, mais il est recommandé de cibler l’attaque
pour plus de succés.
mon0 : A remplacer par le nom de votre interface de capture.
Le succès de ce type d'attaque n'est pas garanti, mais elle peut ce révéler très efficace contre
certains types de machine.
Notez également que cette attaque envoie les paquets directement sur la station cible, sans
passer par l'AP, ainsi, si vous êtes juste assez proche de l'AP, mais que la station est située un
peu plus loin de votre carte Wi-Fi, il est possible que la cible ne soit pas joignable alors que
son AP l'est.
Le crack
Nous arrivons maintenant au crack de la clé WEP à proprement parler. Nous estimons qu'il
faut environ 300 000 IVs pour cracker une clé WEP 64 bits, et environ 1 000 000 pour une clé
WEP 128 bits. Dans la pratique, il en faut généralement beaucoup moins, puisque que des
parutions datant de 2007 indiquent que 40 000 IVs suffisent...
Pour cracker la clé, nous utilisons le programme aircrack-ng ainsi
Il est plus que recommandé d'utiliser fichier .cap pour allez chercher les paquets à analyser
aussi bien dans le retour de aireplay-ng que dans celui de airodump-ng. Pendant ce temps,
laissez tourner airodump-ng et aireplay-ng pour continuer d'alimenter les fichiers .cap.
28
Et après quelques temps, si tout ce passe bien :
Figure 14: Attaque FMS
4. Partie graphique du Backtrack
IL existe une autre méthode pour cracker une clé wep, plus utilisé que l’airmon. Cette
méthode contient une application graphique (voir annexe).
5. Conclusion
De nos jours, le cryptage WEP n'est plus du tout sécurisé quelque soit la taille de votre clé
encryptage. Il suffit avec la nouvelle attaque Ptw d'accumuler 40 000 IVS afin de cracker une
clé Wep 256 bits en une dizaine de minutes ! Le gros problème du cryptage Wep est que les
paquets transités par la borne Wifi contiennent des informations sur la clé Wep. Il suffit alors
de les sniffer afin de déchiffrer la clé Wep (c'est d'ailleurs le rôle d'Airmon-ng).
Par conséquence, nous oublions ce type de cryptage et nous adoptons immédiatement un
cryptage avec une clé WPA ou WPA2 qui ne peut se cracker que par Brute Force.
29
Chapitre4 : Implémentation de
l’attaque FMS en RC4
1. Introduction
Un des objectifs de ce projet est d'acquérir une meilleure compréhension d'un algorithme ou
d'un protocole et tenter de mettre en œuvre il découvre de nombreux détails autrement pas
apparents et renforce la structure et la fonctionnalité de chacun. Par conséquent, sur le plan
personnel le but de ce projet de recherche est d'acquérir une compréhension plus profonde de
WEP et surtout l'attaque FMS en RC4.
Ce projet est fournir des ressources pour la communauté au sens large intéressés à en
apprendre d’avantage sur ces sujets à travers la mise en œuvre d’algorithme Fms.
Nous avons implémenté l’attaque Fms en utilisant le langage de programmation C. Dans ce
chapitre, nous allons décrire tout d’abord pourquoi le langage C ? Ensuite, nous allons décrire
notre code. Et enfin, nous allons tester notre code avec quelques commandes.
2. Choix du langage de programmation
Aujourd'hui, l'informatique est présente dans tous les domaines de la vie courante, mais à des
degrés différents. Il y a pour cela trois grandes raisons :
 Les gains (en temps, argent, qualité) que l'informatique peut apporter,
 Le prix abordable des matériels,
 La disponibilité de logiciels dans tous les domaines.
Deux domaines sont pleinement exploités :
 Les logiciels généraux, vendus en grande série, et donc relativement bon marché,
30
 Les logiciels spécifiques, d'un coût total important et donc limités à des sujets très
pointus, pour de très grosses industries.
Le domaine intermédiaire, qui peut encore se développer, concerne les programmes
spécifiques, pour des applications de moindre importance. Pour cela, il est nécessaire de
disposer de langages de programmation C. Donc il est souvent le meilleur choix. En effet,
c'est un langage structuré, avec toutes les possibilités des autres langages structurés. Mais il
permet également (avec son extension C++) de gérer des objets. A l'inverse, il permet
également une programmation proche du langage machine, ce qui est nécessaire pour accéder
aux interfaces entre l'ordinateur et son extérieur. Mais son principal avantage est que ces trois
types de programmation peuvent être combinés dans un même programme, tout en restant
portable sur tous les ordinateurs existants. {11}
3. Description de notre implémentation
3.1 L’algorithme RC4
L’algorithme RC4 est constitué de deux parties
*RC4-KSA( Key Scheduling Algorithm) prend en entrée la clé K et génère en sortie un
tableau d’état S.
*RC4-PRGA( Pseudo Random Generation Algorithm) utilise le tableau S résultant pour
générer la suite aléatoire finale nécessaire au chiffrement (keystream)
Le tableau ci-dessous décrit le déroulement de chacune.
RC4-KSA RC4-PRGA
byte S [N] ; // N = 2^8 = 256
byte K[L ] ; // L:longueur de la clé
int i , j ;
for ( i =0; i<N; i++)
S [ i ] = i ;
for ( i =0; i<N; i++)
j = i + S [ i ] + K[ i%L] % 256;
swap (S [ i ] , S [ j ] ) ;
byte S [N] ; // fourni par KSA
int count = xxx , i =0, j =0; //nombre des
octets de keystream voulu
for ( i =1; i<=count ; i++ % 256)
j = j + S [ i ] % 256;
swap (S [ i ] , S [ j ] ) ;
p r i n t f ( "%d" , S [ S [ i ]+S [ j ] ] % 2 5 6 ) ; //
l’octet obtenu à l’itération j
Tableau 3:L’algorithme RC4
Nous adoptons quelques notations afin d’expliquer le fonctionnement des attaques suivantes :
Si : état du tableau S après ième itération de l’algorithme RC4
ji : la valeur de j après ième itération de l’algorithme RC4
31
X: keystream
K=IV||Rk
Rk : la clé secrète
Figure 15:Principe de cryptage WEP
3.2 L’attaque FMS
Le FMS exige la capture d’un grand nombre des paquets cryptés et la récupération du premier
octet du keystream.
Déroulement :
Les chercheurs ont découvert des situations où l’algorithme KSA divulgue des informations
sur la clé. Ils ont nommé cette situation « resolved state ». Il est assez simple de vérifier si un
paquet donné mène à telle situation.
 En effet, avec l’algorithme KSA, si les L premiers octets de la clé K utilisés pour
générer un keystream X sont connus, il est possible de simuler les L premiers étapes
de RC4-KSA.
32
 Pour déterminer un octet K [L], certaines conditions doivent être vérifiées, après les L
étapes de RC4-KSA. Ces conditions sont:
 1. SL [1] <L
 2. SL [1] + SL [SL [1]] =L
 Une fois ces conditions sont vérifiées, ils proposent de calculer une fonction Ffms
définie comme suit :
 Ffms (K[0],..,K[L-1],X[0])=SL-1 [X[0] ] - JL - S L[L]
 Cette fonction détermine la valeur de l’octet K[L] avec une probabilité de succès égale
à 5%.
 Vu que le vecteur d’initialisation est transmis en clair, la valeur initiale de L est égale
3.
 Ils ont indiqué que les vecteurs d’initialisations vérifiant ces conditions sont nommés «
Weak IV » et ils ont le format (3+i, 255, m) avec i est l’indice de l’octet à déterminer
et m peut être une valeur de l’ensemble {0, 1,…,255}.
 Pour réaliser l’attaque, l’attaquant capture les paquets du réseau protégé par WEP et
récupère le premier octet de keystream utilisé pour crypter ces paquets. Puis, il
sélectionne les paquets dont l’IV vérifie les conditions et calcule la valeur Ffms
correspondant à chaque paquet. Chaque résultat de Ffms peut être considéré comme
une proposition de Rk[0]. La valeur correcte de Rk[0] est la valeur le plus fréquent.
Ensuite, il passe à deviner les octets suivants de Rk[1] jusqu’à Rk[L-1] dans l’ordre en
suivant un traitement répétitif sur l’ensemble de paquets capturés.
 Une fois tous les octets ont été récupérés, il vérifie la validité de la clé an essayant de
décrypter un certain nombre de paquets : si la clé est correcte, l’attaque est bien
réalisée. Si non, il cherche quelle est la décision incorrecte de Rk[i]. Il existe plusieurs
méthodes de rangement {15}. Par exemple, il peut choisir la décision pour laquelle la
différence entre la meilleure valeur retournée par Ffms et la seconde meilleure valeur
soit minimale. L’attaquant corrige la décision d’ordre i dans l’arbre de décision et
continue l’attaque avec la valeur alternative.
 La première implémentation de cette attaque est faite par Adam Stubblefield. Un
nombre de paquets entre 5.000.000 et 6.000.000 sera suffisant pour réussir l’attaque
sur une clé de 104 bits. {14}
33
4. Test de notre implémentation
4.1 La partie RC4
Pour RC4, il existe trois modes d'entrée pour notre programme.
 Pour crypter, utilisez-a, qui chiffre le texte d’entrée en ASCII sur la ligne de
commande. Le format approprié est le suivant :
RC4 -a KeyinHex keyLengthInBytes DataInASCII DataLengthInBytes
Par exemple:
Figure 16: Chiffrement RC4
Cela va afficher le texte chiffré en notation Hexadecminal. Ceci doit être fait parce que
environ 1/3 des caractères ASCII valides sont invisibles ou difficilement entré sur la ligne de
commande, et ayant chiffré vous ne pouvez pas déchiffrer serait inutile.
Deux choses à noter: texte ASCII avec des espaces doivent être saisis entre guillemets. Lors
de compte tenu de clés et de données de longueurs, chaque valeur hexadécimale est de 4 bits,
de sorte que le nombre d'octets volonté à la moitié du nombre de caractères hexadécimaux.
 Pour décrypter, utilisez-h, qui prend les données au format hexadécimal. Le format
correct est le suivant:
RC4 -h KEYINHEX keyLengthInBytes DataInHex DataLengthInBytes
Par exemple:
34
Figure 17: Déchiffrement RC4
Cela va afficher le texte crypté / décrypté en hexadécimal. Depuis que vous êtes susceptibles
d'être décryptage à la mode h, la représentation ASCII sera également fournie.
 Le troisième mode d'entrée, avec le drapeau-f, va crypter ou décrypter un fichier entier
(jusqu'à une taille de 4 Go ~limitation). Il faut dans une longueur de clé et la clé
comme les deux autres modes, mais au lieu de saisir les données à chiffrer, vous
fournir un fichier d'entrée et de votre destination souhaitée pour le fichier de sortie. Le
bon format est le suivant:
RC4 -f KEYINHEX keyLengthInBytes InputFile OutputFile
Voici un exemple :
*Nous avons crée tout d’abord deux fichier F1 et F2
Ensuite, nous écrivons le mot « bonjour » dans F1 et nous laissons F2 vide
35
Et nous avons effectué un exemple le suivant :
RC4 -f KEYINHEX keyLengthInBytes InputFile OutputFile
RC4 -f AAAAAAAAAAAAAAAA 8 "F1" "F2"
Nous obtenons le résultat comme suit :
Nous remarquons par défaut le fichier F2 contient le mot « bonjour » chiffré.
36
Par la suite, nous créons un aut1re fichier nommé F3 et nous laissons vide. Et nous avons
appliqué ce format :
RC4 -f AAAAAAAAAAAAAAAA 8 "F2" "F3"
Nous obtenons le résultat comme suit :
Nous remarquons par défaut le fichier F3 contient le mot « bonjour ».
4.2 La partie FMS
Le programme fms permet d’exploiter les faiblesses de l’algorithme Rc4 pour cracker la clé
wep.
fms <messages
Où messages est un fichier contenant des lignes comme:
iv plaine de chiffrement
Lorsque ceux-ci sont toutes les valeurs en hexadécimal ASCII sans préfixe. (par exemple
001122 12 34) et nous obtenons comme résultat :
37
Le testeur FMS prend deux arguments de ligne de commande, une clé et un message de test. Il
émet le résultat de test d'erreur standard, et renvoie la valeur 0 pour le succès et -1 en échec.
5. Conclusion
Le RC4 est un algorithme symétrique. Pour décrypter, utiliser le bon mode d'entrée et de
fournir le texte chiffré et la clé utilisée pour chiffrer.
Conclusion générale
Les réseaux sans fil en général, et le Wi-Fi en particulier sont des technologies
intéressantes et très utilisées dans de divers domaines. Cette diversification d'utilisation
revient aux différents avantages qu'apportent ces technologies, comme la mobilité, la
simplicité d'installation, la disponibilité. Mais, ils introduisent de nouveaux problèmes
notamment la sécurité qui reste un sujet très délicat. En effet, le manque de protection
38
physique des points d’accès et la transmission sur des liens radios sont les causes principales
de la vulnérabilité des réseaux sans fil. Ainsi, depuis l'utilisation de ce type de réseaux
plusieurs failles ont été détectées.
Malgré des problèmes de sécurité intrinsèques, les réseaux sans fil continuent à se
développer. Il est donc important de bien connaître les problèmes liés à la sécurité de ce type
de réseaux afin d'en limiter les effets néfastes. Dans cette optique, nous avons étudié en
premier temps d’une façon générale les attaques wifi. Ensuite, nous avons approfondi le
fonctionnement des algorithmes de sécurité, nous avons traité les failles de chacun d’eux et
nous avons tiré les principales attaques inspirées d’une étude détaillée des travaux de
recherche. Ainsi, nous avons noté que certaines attaques persistent même en adoptant des
protocoles de sécurité.
En effet, nous avons passé en revue les principales attaques contre le WEP. En plus,
nous avons détaillé les RC4 dans une implémentation. Nous avons montré que cet algorithme
n’apporte pas un niveau de sécurité satisfaisant. Pour cela nous avons implémenté nous-
mêmes l’attaque FMS qui a permis de retrouver la clé secrète utilisée sur un réseau WiFi à
partir des paquets capturés.
Notre travail, nous avons apporté une meilleure compréhension du fonctionnement du
WiFi, des méthodes de cryptanalyse et des attaques sur les algorithmes de chiffrement. Le
reverse engineering nous avons permis de mieux voir les failles pour mieux choisir les
solutions.
Comme perspectives à notre travail, d’autres algorithmes tels que TKIP utilisé par
WPA, AES utilisé par WPA2 méritent d’être testés et analysés avec la même démarche suivie
dans notre travail afin de détecter les défaillances de telles solutions et de sélectionner à la fin
l’algorithme le plus adéquat.
Références Bibliographiques
{1} http://perso.citi.insa-lyon.fr/mminier/images/MASTER_part1.pdf
{2}Les Technologies de l'Information et de Communication, moteur de ...jmdejaeger.free.fr
39
{3} N. Borisov, I. Goldberg et D. Wagner, « Intercepting Mobile Communications: The
Insecurity of 802.11 »
{4} Jesse R.Walker, « unsafe at any key size; an analysis of the WEP encapsulation »,
October 2000.
{5} Alexander Gutjahr, « Wired Equivalent Privacy(WEP) Fonctionnality, Weak Points,
Attacks », 2009
{6} Lasse Kosetski Deleuran, Thomas Loftager, Nielsen Henrik Gammelmark «Cryptography
E2006 Insecurity of the IEEE 802.11 Wired Equivalent Privacy (WEP) standard» 15
December 2006
{7} http://www.pouf.org/documentation/securite/html/node48.html
{8} http://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access
{9} http://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access
{10} Brash Habibi Lashkari, Mir mohammad Seyed Danesh, Behrang Samadi, “ A survey on
wirless security protocols(WEP,WPA and WPA2/802.11i”, 1999
{11} Patrick TRAU, « Langage C » (URL: http://www-ipst.u-strasbg.fr/pat/program/tpc.htm)
{12} Finn Michael Halvorsen, Olav Haugen “ Cryptanalysis of IEEE 802.11i TKIP”, Juin
2009
{13} S. Fluhrer, I. Mantin, A. Shamir, « Weakness in the Key Scheduling Algorithm of RC4»
Eighth Annual Workshop on Selected Areas in Cryptography, Août 2001.
{14} Adam Stubblefield, John Ioannidis, Aviel D. Rubin “Using the Fluhrer, Mantin, and
Shamir Attackto Break WEP”
{15} These Erick Tews “Attacks on The WEP protocol” 2007
{16} Adam Stubblefield, John Ioanniidis, Aviel Drubin, “A key recovery attack on the
802.11b Wired Equivalent Privacy Protocol (WEP), 2001
{17} Rafik Chaabouni, “Break WEP faster with statistical analysis”, juin 2006
{18} http://fr.wikipedia.org/wiki/BackTrack
Annexes
Annexe A: comment crackerla clé wep en mode graphique
40
Il n y’a pas toujours le airmon ou bien le aircrack pour cracker le mot de passe (password)
d’un wifi. Nous avons montré deux applications très utiles que l’airmon.
La première application : nous suivrons les étapes suivantes:
Figure 18:les étapes de l'application graphique
-Premièrement, nous sélectionnons l’interface wlan0
L’interface wlan0 est apparait
41
Deuxièment, nous cliquons sur Scan for Access points pour trouver les wifi de type WEP
42
Nous cliquons sur Scan for Access points, nous trouvons combien de wifi de type WEP et de
type WPA. Par la suite on clic sur le Key Database, on a donné les informations suivantes :
les points d’accès, tous les réseaux wifi, les Channels, les keys et les adresses MAC.
Nous trouvons un seul wifi de type WEP« Wisecs1 », un simple clic sur ce wifi donne tous
ses détailles : Essid, Bssid, channel, power et encryption et on choisit l’attaque d’ARP
Request Replay, puis on lance l’attaque avec un clic sur le bouton ‘Attack’
43
Et après quelques secondes, nous obtenons le résultat ( la clé WEP de Wisecs1)
44
Après, nous faisons le même travail avec l’attaque chopchop
45
On obtien un resultat comme suit

Más contenido relacionado

La actualidad más candente

petit cours sur la sécurité des réseaux informatiques
petit cours sur la sécurité des réseaux informatiques petit cours sur la sécurité des réseaux informatiques
petit cours sur la sécurité des réseaux informatiques Manuel Cédric EBODE MBALLA
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Charif Khrichfa
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Karima Torkhani
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détectionManassé Achim kpaya
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatiqueMohammed Zaoui
 
La sécurité informatique expliquée aux salariés
La sécurité informatique expliquée aux salariésLa sécurité informatique expliquée aux salariés
La sécurité informatique expliquée aux salariésNRC
 
Les avantages de la virtualisation
Les avantages de la virtualisationLes avantages de la virtualisation
Les avantages de la virtualisationNRC
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...Tidiane Sylla
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Khalid EDAIG
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing FICEL Hemza
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Sécurité des Systèmes d'Information et de l'Information
Sécurité des Systèmes d'Information et de l'InformationSécurité des Systèmes d'Information et de l'Information
Sécurité des Systèmes d'Information et de l'InformationShema Labidi
 
Introduction a la securité informatique Volume1
Introduction a la securité informatique Volume1Introduction a la securité informatique Volume1
Introduction a la securité informatique Volume1Sylvain Maret
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
Projet sur le Cloud Computing
Projet sur le Cloud ComputingProjet sur le Cloud Computing
Projet sur le Cloud ComputingTsubichi
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachislim Hannachi
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asrTECOS
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatiqueSaber Ferjani
 

La actualidad más candente (20)

petit cours sur la sécurité des réseaux informatiques
petit cours sur la sécurité des réseaux informatiques petit cours sur la sécurité des réseaux informatiques
petit cours sur la sécurité des réseaux informatiques
 
Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)Installation et configuration d'un système de Détection d'intrusion (IDS)
Installation et configuration d'un système de Détection d'intrusion (IDS)
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
 
La sécurité informatique expliquée aux salariés
La sécurité informatique expliquée aux salariésLa sécurité informatique expliquée aux salariés
La sécurité informatique expliquée aux salariés
 
Les avantages de la virtualisation
Les avantages de la virtualisationLes avantages de la virtualisation
Les avantages de la virtualisation
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
 
Introduction au Cloud Computing
Introduction au Cloud Computing Introduction au Cloud Computing
Introduction au Cloud Computing
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
Sécurité des Systèmes d'Information et de l'Information
Sécurité des Systèmes d'Information et de l'InformationSécurité des Systèmes d'Information et de l'Information
Sécurité des Systèmes d'Information et de l'Information
 
Introduction a la securité informatique Volume1
Introduction a la securité informatique Volume1Introduction a la securité informatique Volume1
Introduction a la securité informatique Volume1
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
Projet sur le Cloud Computing
Projet sur le Cloud ComputingProjet sur le Cloud Computing
Projet sur le Cloud Computing
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asr
 
Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
 

Destacado

Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATIS
Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATISIntégration et personnalisation d’OpenERP au sein de l’entreprise ISATIS
Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATIScelia maouche
 
Abc rapport de-stage
Abc rapport de-stageAbc rapport de-stage
Abc rapport de-stagemarmouchi
 
rapport de stage : Etude de comportement de consommateur envers les produits MDD
rapport de stage : Etude de comportement de consommateur envers les produits MDDrapport de stage : Etude de comportement de consommateur envers les produits MDD
rapport de stage : Etude de comportement de consommateur envers les produits MDDYaya Im
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
 
rapport de stage
rapport de stagerapport de stage
rapport de stageMarouane Gh
 
Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de Stage
 

Destacado (6)

Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATIS
Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATISIntégration et personnalisation d’OpenERP au sein de l’entreprise ISATIS
Intégration et personnalisation d’OpenERP au sein de l’entreprise ISATIS
 
Abc rapport de-stage
Abc rapport de-stageAbc rapport de-stage
Abc rapport de-stage
 
rapport de stage : Etude de comportement de consommateur envers les produits MDD
rapport de stage : Etude de comportement de consommateur envers les produits MDDrapport de stage : Etude de comportement de consommateur envers les produits MDD
rapport de stage : Etude de comportement de consommateur envers les produits MDD
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
rapport de stage
rapport de stagerapport de stage
rapport de stage
 
Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3Rapport de stage Fiduciaire3
Rapport de stage Fiduciaire3
 

Pfe etude-d attaque-finale-1

  • 1. Dédicaces C’est grâceadieuquetoutacommencé Etc’estaluiquejrendsgrâce Leresten’estquedédicace Amamère Yasmina Quim’aporténeufmoisetsupporté plusquevingtetunans Elleattendcejourimpatiemment,pourl’amourquetumeporte Amon père Mohamed Toidont laraisonpourlaquelletum’aimeaucuneraisonnepeut Expliquer Amessœurs KhouloudetWissal jevous souhaiteuneviepleinedebonheuretdejoie Amesfrères AlaetHamdi jevous souhaitebeaucoupdesuccès Amachèreamie et masœur Rabeb Celuiquim’aconseilléetquim’aencouragé AmacollègueZahra Quim’aaidéetsoutenu Atoute mafamille,toutsmesamis Atous ceuxquej’aimeetquim’aime. Qu’ilstrouventtoutel’expressiondemonamourleplussincère.
  • 2. Abidiintissar Dédicaces Duplusprofonddemon cœur etavec l’intensité Demes émotions, je dédiece modeste travaille à: Mon pèreHechmi Ma mère Najet Pourtoutesannées desacrifice, pourl’amour Lapatience etsurtoutla confidence enmoi Quedieu les réserves la bonnes santéet la longuevie Mes adorables etchers frères «Chiheb etJaber » Etma chère sœur «Rafida » j leurs souhaites une vie pleine desuccès et debonheur Sansoublie mon binôme «Intissar»
  • 3. Atoutema famille quej’aime etj respecte tousceux quime partagentl’amour etle respect tousmes amis qui je neles oublierais jamais tousceux dontl’oubli dunomn’est pascelui ducœur DhouibiZahra Remerciements Avant d’entamer la rédaction de notre rapport du projet de fin d’étude, nous tenons à exprimer nos vifs remerciements et notre gratitude à tous ceux qui ont voulu apporter l’assistance nécessaire au bon déroulement de ce projet. Nous tenons à exprimer nos sincères remerciements, nos respect en premier lieu à notre encadreur madame imen Sfaihi Zouari pour leurs soutiens, ses contributions efficaces à notre formation et sa participation précieuse ainsi que les conseils qu’elle nous a apporté durant le déroulement de ce projet. Nous remercions aussi le corps enseignant de l’institut supérieur d’Electronique et communication de Sfax pour leur présence a notre coté. Nous ne manquerons pas de remercier tous les membres de nos familles pour leur soutien sans faille. Toutes les personnes qui nous ont encouragé et aidé de prés ou loin à l’élaborer ce travaille.
  • 4. Enfin, nous tenon à remercier les membres de jury, en espérant que ce travaille soit à la hauteur de leur attente.
  • 5. Table des matières Introduction générale................................................................................................................ 1 Chapitre 1 : Présentation générale......................................................................................... 3 1. Introduction ...................................................................................................................... 3 2. Cadre du projet .................................................................................................................. 3 3. Les objectifs de la sécurité informatique .............................................................................. 3 4. Présentation générale.......................................................................................................... 4 4.1. Qu’est ce qu’un réseau Wi-Fi?.......................................................................................... 4 4.2. Les différents types de réseaux :....................................................................................... 4 4.3. Qu’est ce qu‘un protocole?.............................................................................................. 5 5. Problématiques .................................................................................................................. 6 6. Solution à ces menaces : les services de sécurité............................................................... 6 7. Les mécanismes du wep .................................................................................................... 7 7.1 Qu’est ce que le wep ?...................................................................................................... 7 7.2 Les problèmes des wep................................................................................................... 9 8. Conclusion......................................................................................................................... 9 Chapitre 2: Etude détaillée des attaques Wi-Fi .................................................................10 1. Introduction .....................................................................................................................10 2. Attaques contre le protocole WEP......................................................................................10 2.1 Attaques récupérant le keystream....................................................................................10 2.1.1 Attaque par Fausse authentification ..........................................................................10 2.1.2 Attaque par modification et injection de paquets .......................................................12 2.1.3 Attaque par dictionnaire d’IV.....................................................................................12 2.1.4. Attaque ChopChop...................................................................................................13 2.1.5 Evaluation................................................................................................................14 2.2. Attaques récupérant la clé..............................................................................................15 2.2.1 Algorithme RC4 :.......................................................................................................15 2.2.2 Attaque FMS.............................................................................................................15 2.2.3 Attaque Korek ..........................................................................................................15 3. Conclusion........................................................................................................................16 Chapitre 3 : Implémentation et Test pour le Reverse Engineering .................................17
  • 6. 1. Introduction .....................................................................................................................17 2. Les Outils utilisés...............................................................................................................17 3. Déroulement des tests ......................................................................................................18 3.1 Déchiffrement de la clé WEP sous Backtrack5..................................................................18 3.1.1 Première étape : mettre la carte en mode monitor.....................................................19 3.1.2 Deuxième étape : lancer la capture des paquets.........................................................20 3.1.3 Troisième étape :Si le rythme de traficestassezfaible,il fautl’activerparla réinjection des paquets :....................................................................................................................23 4. Partie graphique du Backtrak.............................................................................................28 5. Conclusion........................................................................................................................28 Chapitre4 : Implémentation de l’attaque FMS en RC4....................................................29 1. Introduction .....................................................................................................................29 2. Choix dulangage de programmation..................................................................................29 3. Description de notre implémentation ....................................................................................30 3.1 L’algorithme RC4.............................................................................................................30 3.2 L’attaque FMS.................................................................................................................31 4. Test de notre implémentation ...........................................................................................33 4.1 La partie RC4...................................................................................................................33 4.2 La partie FMS..................................................................................................................36 5. Conclusion........................................................................................................................37 Conclusion générale...................................................................................................................37 Références Bibliographiques.....................................................................................................38 Annexes......................................................................................................................................39
  • 7. Table des figures Figure 1: Analyse de risque {1} ..................................................................................................... 4 Figure 2: Présentation des différents types des réseaux {2} ............................................................. 5 Figure 3:cryptage et décryptage d’un texte...................................................................................... 6 Figure 4: Cryptage et Décryptage WEP........................................................................................... 7 Figure 5: Attaque fausse authentification......................................................................................12 Figure 6: Attaque ChopChop ........................................................................................................14 Figure 7: Activation du mode monitor ...........................................................................................20 Figure 8: Capture des paquets .......................................................................................................21 Figure 9: Capture des paquets .......................................................................................................23 Figure 10: Attaque par fausse authentification................................................................................24 Figure 11: Attaque de réinjection des paquets ................................................................................25 Figure 12: Augmentation du Data..................................................................................................26 Figure 13: Attaque de Deauthentication .........................................................................................26 Figure 14: Attaque FMS...............................................................................................................28 Figure 15:Principe de cryptage WEP.............................................................................................31 Figure 16: Chiffrement RC4 .........................................................................................................33 Figure 17: Déchiffrement RC4......................................................................................................34 Figure 18:Les étapes de l'application graphique..............................................................................40 Table des tableaux Tableau 1: Classification des attaques contre WEP.........................................................................16 Tableau 2: Description des outils aircrack-ng.................................................................................18 Tableau 3: L’algorithme RC4........................................................................................................30
  • 8. 1 Introduction générale Les réseaux sans fils connus sous le nom de «Wifi», permettent d’interconnecter plusieurs équipements sans-fil comme des ordinateurs portables, des ordinateurs de bureau et des périphériques au sein d’un réseau personnel, d’un réseau local ou d’un réseau étendu. Cette technologie offre toutes les fonctionnalités des réseaux filaires en éliminant les contraintes matérielles que le câblage impose sur les utilisateurs réseaux. Elle simplifie et accélère l’installation des réseaux et accroît leur souplesse et leur évolutivité tout en favorisant une plus grande mobilité des utilisateurs. Si le nous ajoutons à ces avantages la large bande passante en perpétuelle croissance, nous comprenons aisément que les réseaux locaux sans fil constituent une solution des plus intéressantes pour les particuliers ou les organisations qui désirent mettre en œuvre ou étendre un réseau local sans devoir installer ou déplacer des câbles. Bien que cela soit très attractif pour des utilisateurs en recherche de perfection technologique afin d’optimiser leurs méthodes de travail cela reste un moyen de communication qui doit être contrôlé. En effet, la technologie sans-fil souffre de plusieurs vulnérabilités. De même, les mécanismes de sécurité et les méthodes d’authentification mises en place n’ont pas assuré la sécurité attendue. Ces menaces sont mises en œuvre à l’aide d’une variété d’outils, de scripts et de programmes permettant de lancer des attaques contre des réseaux et leurs périphériques. En général, les périphériques réseaux attaqués sont des points d’extrémité comme les serveurs, les points d’accès et les ordinateurs. Dans ce vaste monde des réseaux sans fils, notre travail consiste à étudier les problèmes de sécurité rencontrés dans ce type de réseau et détailler les attaques que nous pouvons y appliquer. Ceci entre dans notre politique du reverse engineering afin de trouver des solutions pour éviter certains attaques et améliorer le choix des solutions de sécurité. Afin de présenter le travail qui a été effectué, nous débuterons le présent rapport par un premier chapitre consacré aux généralités liées aux réseaux locaux sans fil ainsi que les
  • 9. 2 mécanismes de sécurités mis en place. Ensuite, dans le second chapitre, nous présenterons une étude détaillée des attaques que nous pouvons y appliquer et distinguer les différentes classes d’attaques Puis, dans le troisième chapitre, nous procèderons une implémentation et test pour le reverse engineering. En plus dans le quatrième chapitre, nous présenterons une implémentation de l’attaque FMS en RC4. Nous finissons ce travail par une conclusion générale et quelques perspectives.
  • 10. 3 Chapitre 1 : Présentation générale 1. Introduction La sécurité informatique est considérée comme l'un des critères les plus importants dans le jugement de la fiabilité d'un système informatique. Cependant, les réseaux sans fil ne satisfont pas cette contrainte, ce qui fait d'eux une cible intéressante pour les pirates. Dans le premier chapitre, nous abordons brièvement des notions qui nous semblent essentielles à la compréhension du réseau Wifi et les protocoles. Ensuite, nous poursuivons le travail en décrivant les attaques engendrées. Pour finir, notre exposé par une implémentation de l’attaque FMS en RC4 et test pour reverse engineering utilison le backtrack. 2. Cadre du projet Le présent projet «Etude d’une attaque contre le protocole WEP» proposé par notre encadrant est réalisé dans le cadre de la préparation d’un rapport de projet de fin d’études en vue de l’obtention du diplôme de Licence appliquée en technologie des Réseaux et des Télécommunications spécialité Administration et Sécurité des Systèmes et des Réseaux (TRT ASSR) et spécialité Téléphonie et Réseaux IP (TRT TRIP) à l’Institut Supérieur d’Electronique et de Communication de Sfax (ISECS) pour l’année universitaire 2012/2013. 3. Les objectifs de la sécurité informatique La sécurité informatique à plusieurs objectifs bien sur liés aux types de menace ainsi qu’aux types de ressource, etc. … Néanmoins, les points principaux points sont les suivant : Empêcher la divulgation non-autorisée de données Empêcher la modification non-autorisée de données Empêcher l’utilisation non-autorisée de ressource réseau ou informatique de façon général La sécurité permet de :
  • 11. 4  Analyser les risques  Déterminer les données sensibles  Rechercher des exigences de sécurité fondées sur les critères cryptographiques : authentification, intégrité, confidentialité, anonymat et disponibilité  Etudier des vulnérabilités  Etudier des menaces et de leurs occurrences  Mesurer du risque  Déterminer les parties critiques à protéger les risques sur le réseau Figure 1: Analyse de risque {1} 4. Présentation générale 4.1. Qu’est ce qu’un réseauWi-Fi? Par définition, un réseau informatique est un ensemble d’ordinateurs reliés entre eux et échangeant des informations. 4.2. Les différents types de réseaux : Nous distinguons différents types de réseaux selon leur taille (en termes de nombre de machine), leur vitesse de transfert des données ainsi que leur étendue. Les réseaux privés sont des réseaux appartenant à une même organisation. Nous distinguons essentiellement dans la figure suivante :  LAN (Local Area Network) dont la portée est de quelques dizaines de mètres.
  • 12. 5  MAN (Métropolitain Area network) dont la portée est de quelques centaines de mètres.  WAN (Wide Area Network) dont la portée est de quelques kilomètres Figure 2: Présentation des différents types des réseaux {2} 4.3. Qu’est ce qu‘un protocole? Un protocole est une méthode standard qui permet la communication entre des processus (s’exécutant éventuellement sur différentes machines), c'est-à-dire un ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur un réseau. Il en existe plusieurs selon ce que le nous attendons de la communication : -WEP Le Wired Equivalent Privacy (abrégé WEP) est un protocole pour sécuriser les réseaux sans fil de type Wi-Fi, défini par le standard 802.11 ratifié en septembre 1999. Les réseaux sans fil diffusant les messages échangés par ondes radioélectriques, sont particulièrement sensibles aux écoutes clandestines. Le WEP tient son nom du fait qu'il devait fournir aux réseaux sans fil une confidentialité comparable à celle d'un réseau local filaire classique. -WPA (Accès Protégé Wi-Fi). C'est une méthode de cryptage des données pour réseau sans fil. WPA possède des fonctions de sécurité meilleures que WEP, en utilisant le Protocole Extensible d'Authentication (EAP: Extensible Authentication Protocol). Il consiste à sécuriser les accès réseau et il intègre une méthode de cryptage permettant de sécuriser les données transmises. {8} WPA a été conçu pour utiliser le serveur d'authentification 802.1X qui attribue différentes clés à chaque utilisateur. Il est également disponible avec la "Clé pré-Standard (PSK: Pre- Shared Key)", mais il est dans ce cas moins sécurisé. PSK a été conçu pour un usage privé et pour les petits réseaux d'entreprise. Le WPA-PSK est aussi appelé WPA-Personal. WPA-PSK
  • 13. 6 permet à la machine sans fil Brother de s'associer avec les points d'accès, en utilisant la méthode de cryptage TKIP ou AES. TKIP est l'abréviation de Temporal Key Integrity Protocol (Protocole de clé Temporaire). Il s'agit d'une méthode de cryptage. AES est l'abréviation d’Advanced Encryption Standard (Cryptage Standard Avancé). Il s'agit &’du dispositif de cryptage standard le plus performant autorisé par Wi-Fi®. WPA-PSK et TKIP ou AES utilisent une Clé pré-standard (PSK: Pre-Shared Key) entre 7 et 64 caractères. -WPA2 (Wi-Fi Protected Access 2): est un protocole de chiffrement qui constitue une norme en matière de sécurité sans fil. Votre clé WPA2 est un code de sécurité alphanumérique qui permet aux utilisateurs autorisés d'accéder à votre connexion Internet, tout en protégeant le contenu de votre réseau contre les intrus. {9} 5. Problématiques Un réseau sans fil non sécurisé laisse des personnes non autorisées écouter ce réseau, y accéder, voire le modifier. Nous pouvons le sécuriser de façon plus ou moins stricte à différents niveaux : configuration des équipements d’accès et choix des protocoles. Figure 3:cryptage et décryptage d’un texte 6. Solution à ces menaces : les services de sécurité Pour remédier aux failles et pour contrôler les attaque, la sécurité informatique se base sur un certain nombre de services qui permettent de mettre en place une réponse appropriée a chaque menace. A ce niveau, aucune technique n’est encore envisagée ; il ne s’agit que d’un niveau d’abstraction visant à obtenir une granularité minimale pour déployer une politique de sécurité de façon optimal décrivons les principaux services de sécurité.
  • 14. 7  La confidentialité  L'intégrité des données  Le contrôle d'accès  L'identification  La non répudiation 7. Les mécanismes du wep 7.1 Qu’est ce que le wep ? WEP (wired equivalent privacy): est un protocole de sécurité, C’est une première initiative de sécurisation des charges sur le réseau wifi. Le principe du WEP consiste à définir une clé secrète déclarée au niveau des points d'accès et des clients qui assurera le cryptage et le décryptage des informations. Tout utilisateur possédant cette clé pourra communiquer sur le réseau. Le protocole WEP utilise l'algorithme RC4, (Ron's Cipher 4 développé en 1984 par Ron Rivest pour RSA Data Security), qui permet de générer à partir d'une clé secrète partagée k de 40 ou 104 bits combiné à un vecteur d'initialisation IV de 24 bits une séquence pseudo- aléatoire S. cette séquence est la clé effective du cryptage. L'opération de cryptage par un ou- exclusif (XOR) entre le texte en clair couplé à son CRC32 et la séquence S. Figure 4: Cryptage et Décryptage WEP
  • 15. 8 L’intégrité des données est assurée par la fonction CRC32. Par ailleurs, l’authentification auprès d’un réseau protégé par WEP a deux modes : une authentification ouverte et une authentification à clé partagée. Dans le premier mode, n’importe quel client ayant le SSID ou le nom du réseau peut s’authentifier et s’associer auprès du point d’accès alors que dans l’autre seulement les clients possédant la clé peuvent se connecter au réseau. Dans le processus partagé d’authentification, le client envoie tout d’abord une demande d’accès au point d’accès, qui lui renvoie une "challenge texte". Le client doit encrypter ce texte en utilisant sa clé WEP. Le client retourne ensuite le paquet au point d’accès et si celui- ci arrive à décrypter correctement ce paquet, l’authentification a réussi. L’utilisation du WEP a dévoilé de nombreuses faiblesses. Ainsi plusieurs articles {3, 4, 5, 6,10} ont été publiés au sujet des failles qui consistent principalement : Faiblesses du vecteur d’initialisation : Le champ vecteur d’initialisation (IV), nécessaire pour le décodage du message circule en clair dans chaque message. Ainsi, un IV est codé sur 24 bits. Sa rotation peut être de l’ordre de quelques heures sur un réseau chargé. Par la suite une réutilisation est autorisée. Faiblesse du contrôle d’intégrité : Le calcul du type CRC, utilisé par Intégrité Check Value (ICV) ne devrait servir qu’à vérifier si la trame reçue n’a pas été altérée lors de la communication. Une telle technique est en fait facile à contourner du fait de sa linéarité : CRC(X+Y)=CRC(X) +CRC(Y). Donc, il est possible de modifier les données sans pour autant changer la valeur du CRC et sans que le récepteur s’en aperçoive. Absence d’une spécification de gestion des clés: la même clé est utilisée pour le chiffrement et le déchiffrement. Elle est partagée manuellement entre les clients. Le nombre d’utilisateurs connaissant cette clé augmentera à mesure que le réseau croîtra. Le WEP est employé dans un WLAN pour rendre inintelligible à un tiers non autorisé les données encapsulées dans des trames. (Un paquet ne peut en effet pas transiter directement sur un réseau.) Le WEP a pour objectif de satisfaire l’association (s’assurer que nous discutons avec les membres du même WLAN), la confidentialité, l’authentification et l’intégrité. Il est défini comme : -« assez fort » (reasonably strong) La longueur des clés utilisées rend difficile une attaque de type force brute, c'est-à-dire avec l’utilisation de toutes les clés possibles.
  • 16. 9 -« à synchronisation automatique » (self synchronizing) Chaque paquet contient assez d’informations pour permettre à quiconque possède la clé de déchiffrer son contenu. La connaissance du contenu des paquets précédant n’intervient pas dans le déchiffrement. Autrement dit, les paquets sont autonomes. -« efficace » (efficient) Sa simplicité fait qu’il peut être implémenté en logiciel aisément. Cela signifie aussi que les opérations de chiffrement et de déchiffrement sont rapides. -« normalement exportable » Le standard WEP utilise une longueur de clé variable (jusqu’à 2048 bits mais les USA limitent la taille des clés à l’export) -é« optionnel » La mise en place et l’utilisation du WEP dans les équipements sont en effet optionnelles. 7.2Les problèmes des wep  Faiblesse de certaines clés RC4.  Le principal problème est qu’une clé de flux ne peut pas être réutilisée.  Théoriquement, une fois que les 224 clés possibilités ont été utilisées, il est nécessaire de changer de clé secrète.  La norme ne spécifie pas de méthode précise de gestion de clés.  En pratique, les clés secrètes ne sont quasiment jamais changées.  Pour une borne avec un client avec une connexion de 11Mb/s et ayant une activité réseau normale, il suffit d’une heure pour couvrir tout l’espace des clés. 8. Conclusion Dans ce chapitre, nous avons présenté les caractéristiques des réseaux sans fil et leurs impacts sur la sécurité. Ainsi nous avons cité les principales attaques contre ce type de réseau et les solutions envisagées. Nous avons vu comment lutter contre l'écoute passive par le chiffrement au niveau 802.11 (WEP, WPA,...) et le contrôle d'accès par l'authentification d'un nœud 802.11 (filtrage des adresses MAC, 802.1x,...). Malgré l’évolution des mécanismes de sécurité, les chercheurs ne cessent plus à dévoiler leurs faiblesses et les exploiter pour perturber les réseaux et même y accéder.
  • 17. 10 Dans le chapitre suivant, nous mènerons une étude détaillée des attaques WiFi afin de détecter les failles au niveau des solutions adoptées. Ceci entre dans notre politique du reverse engineering dans le but d’améliorer ensuite le choix des solutions de sécurité. Chapitre 2: Etude détaillée des attaques Wi-Fi 1. Introduction Bien que plusieurs solutions aient été proposées pour sécuriser les réseaux sans fil, ce type de réseau reste encore la cible de nombreux attaquants. Dans ce chapitre, nous allons mettre l’accent sur les vulnérabilités de ces solutions qui représentent les points de départ pour tout type d’attaque. Ceci à travers l’exploration des travaux de recherche qui ont révélé les faiblesses et ont mis en œuvre les attaques. 2. Attaques contre le protocole WEP Le nom WEP (Wired Equivalent Privacy) donne l’intuition que ce protocole est aussi sécurisé qu’un réseau câblé. Nous montrerons plus loin que ce n’est pas le cas. Nous avons précédemment souligné brièvement les faiblesses du WEP. Dans cette partie, nous allons mettre l’accent sur chaque vulnérabilité et détailler les attaques engendrées. Certaines attaques récupèrent la clé secrète et par la suite peuvent avoir un accès complet au réseau. D’autres se contentent de récupérer le keystream et par la suite effectuer quelques perturbations sur le fonctionnement du réseau. 2.1 Attaques récupérant le keystream 2.1.1 Attaque par Fausse authentification Pré-requis : Pour aborder cette attaque, il faut que la méthode d’authentification à clé partagée soit utilisée dans le réseau protégé par WEP.
  • 18. 11 Déroulement : Dans le processus partagé d’authentification, le point d’accès authentifie le client en lui envoyant en clair une chaine de caractères de 128 octets nommée challenge qui devra être renvoyé chiffré. Un attaquant qui écoute cette communication, obtient donc le challenge, et son équivalent chiffré Supposons que : C : le challenge PC : paquet chiffré || :l’opérateur de concaténation PC = RC4(IV || Rk) XOR (C || ICV(C)) Vu que l’opération XOR est réversible, l’opération A=B XOR C est équivalente à B=A XOR C ainsi que C=A XOR B. Alors, l’attaquant peut obtenir le « keystream » utilisé pour chiffrer le challenge. Sa valeur est égale à RC4(IV || Rk) = PC XOR (C || ICV(C)) L’attaquant peut donc réutiliser ce « keystream » et s’en servir pour s’authentifier auprès du point d’accès en chiffrant le nouveau challenge. La figure ci-dessous illustre ce processus.
  • 19. 12 Figure 5: Attaque fausse authentification 2.1.2 Attaque par modification et injection de paquets Cette attaque exploite les faiblesses liées au vecteur d’initialisation ainsi que la fonction CRC32. Vu que le vecteur d’initialisation est transmis en clair et il est réutilisable, l’attaquant peut envoyer des paquets avec un ancien vecteur d’initialisation qui est déjà obsolète dans la communication entre le véritable client et le point d’accès. Ainsi, l’attaquant exploite la linéarité de la fonction CRC32. Cette linéarité se traduit par : CRC(A XOR B)=CRC(A) XOR CRC(B) Pré-requis : L’attaquant doit s’authentifier auprès du point d’accès pour que son paquet soit accepté. Il est ainsi souhaitable que le paquet à modifier ayant un CRC correcte. Déroulement : Soient : D : un message en clair C : le message chiffré de (D) tel que C =RC4(IV||Rk) XOR (D||ICV(D)) D’ : Données à injecter à partir d’un paquet chiffré capturé (C) tel que D’=D XOR Mod. Mod : c’est la modification que nous voulons apporter sur D ; Mod=D’ XOR D Nous avons donc : C’=RC4(IV||Rk) XOR (D’||ICV(D’)) =RC4(IV||Rk) XOR ((D XOR Mod) || ICV (D XOR Mod)) = RC4(IV||Rk) XOR (D||ICV(D)) XOR (Mod || ICV (Mod)) =C XOR (Mod || ICV (Mod)) Cette relation montre bien qu’à partir de n’importe quel paquet chiffré valide, il est possible de créer un paquet forgé et par la suite d’injecter n’importe quelle modification sur ce paquet. 2.1.3 Attaque par dictionnaire d’IV Une partie de la clé de cryptage se représente par la clé partagée qui est statique utilisée par le point d’accès et tous ses clients. L’autre partie se représente par le vecteur d’initialisation qui est dynamique modifiable à chaque nouveau paquet.
  • 20. 13 En recevant un paquet, le point d’accès le retransmet avec un IV différent de celui reçu. Alors, l’attaquant va inonder le réseau par un très grand nombre de paquets en diffusion (ARP, ICMP..). Puis, il calcule le keystream de chaque paquet retransmis par le point d’accès. Par la suite, il peut construire un dictionnaire contenant des couples d’IV et le keystream qui lui correspond. A ce stade, l’attaquant est capable de décrypter n’importe quel paquet dont l’IV est stocké dans le dictionnaire. De plus, il peut utiliser ce dictionnaire pour créer de nouveaux paquets et les injecter dans le réseau. Pour construire un dictionnaire permettant le décryptage de tout type de paquet, l’attaquant n’a qu’à enregistrer 1500 octets (taille d’un MTU) de keystream pour chacun des 24 vecteurs d’initialisation possibles, ce qui représente à peu près 24 giga octets d’espace. [3] . 2.1.4. Attaque ChopChop Cette attaque est publiée par KoreK en 2004 sur un forum de discussion du site NetStumbler. Elle se base sur la modification et l’injection des paquets. Donc, elle exige les mêmes conditions que les attaques précédentes. Son but consiste à déterminer le texte en clair d’un paquet capturé. Une fois réussi, l’attaquant peut obtenir aussi le keystream et par la suite il peut injecter d’autres paquets. Déroulement : Le principe consiste à récupérer le texte en clair, octet par octet. Il se résume en ces étapes : 1. Capture d’un paquet à décrypter. 2. Supposer que le dernier octet du texte en clair est un zéro. 3. Enlever ensuite la valeur chiffrée de cet octet dans le paquet crypté. Par conséquent, nous aurons un nouveau paquet tronqué malformé car la valeur du checksum est calculée sur le message initial. Pour corriger cette valeur, KoreK a éprouvé qu’en appliquant un XOR entre le paquet tronqué et une valeur Mod, le paquet devient valide. Il a montré ainsi que cette valeur dépend uniquement de l’octet tronqué. 4. Envoyer de nouveau ce paquet au point d’accès pour vérifier s’il a bien deviné l’octet. L’attaquant n’a qu’écouter la réponse du point d’accès : *Si l’ICV est correcte, le paquet est retransmis et par la suite la proposition est correcte. L’attaquant a dévoilé le dernier octet du texte en clair.
  • 21. 14 *Si non, le point d’accès rejette le paquet. Il refait les mêmes étapes en incrémentant de 1 la valeur proposé du dernier octet, ceci jusqu’à ce qu’il trouve la bonne valeur. Étant donné qu’il y a 256 valeurs possibles pour l’octet tronqué, il suffit de les tester tous. En moyenne, il faudra donc envoyer 128 paquets pour décrypter un octet. 5. Enlever cet octet du message et refaire la même chose avec l'octet suivant jusqu'à ce qu'il découvre tout le message en clair. La figure ci-dessous illustre le déroulement de l’attaque ChopChop: Figure 6: Attaque ChopChop Ce type d’attaque est un peu long avec des paquets de grande taille, il est intéressant et pratique avec des paquets dont la plus part de son contenu est connu. 2.1.5 Evaluation Le degré des menaces apportées par cette classe d’attaque est assez tolérable. En effet, ces attaques se contentent à la récupération du keystream. Elles ne permettent pas à l’attaquant un accès direct au réseau et de se comporter comme un client légitime. Ainsi, l’attaquant n’a qu’injecter et décrypter quelques paquets en tenant compte de plusieurs contraintes : Longueur et type du paquet en jeu : tout paquet à injecter ou à décrypter dépend de la longueur de keystream obtenu.
  • 22. 15 Le rythme de changement de la clé secrète dans le réseau : le keystream récupéré perd son validité si la clé secrète est fréquemment modifier. Type de la carte réseau : la transmission et la réception avec la même carte ne sont pas toujours autorisées. Ces attaques donnent leurs valeurs sur le plan pratique par inondation de réseau afin de faciliter la tâche des attaques récupérant la clé secrète. 2.2. Attaques récupérant la clé 2.2.1 Algorithme RC4 : Le RC4 a été conçu par Ronald Rivest de RSA Security en 1987. Officiellement nommé Rivest Cipher 4, l'acronyme RC est aussi surnommé Ron's Code comme dans le cas de RC2, RC5 et RC6. Les détails de RC4 furent initialement tenus secrets mais en septembre 1994, une description du chiffrement fut postée de manière anonyme sur la liste de diffusion Cypherpunks 1. Le message apparut ensuite sur le forum sci.crypt 2 puis sur divers sites. L'algorithme avait vraisemblablement fait l'objet d'une rétro-ingénierie. Sur le plan légal, RC4 est une marque déposée dont les implémentations non officielles sont autorisées sous un autre nom que RC4, car l'algorithme n'a pas été breveté. La version non officielle de RC4 est aussi connue sous le nom de « ARCFOUR », « ARC4 » ou « Alleged RC4 » (signifiant « RC4 supposé » puisque RSA Security n'a jamais officiellement publié les spécifications de l'algorithme). Il a par la suite été utilisé dans des protocoles comme WEP, WPA ainsi que TLS. Les raisons de son succès sont liées à sa grande simplicité et à sa vitesse de chiffrement. Les implémentations matérielles ou logicielles sont faciles à mettre en œuvre. 2.2.2 Attaque FMS Définition de l’attaque : En 2001, cette attaque est publiée par Scott FLURHER, Itsik MANTIN et Adi SHAMIR. Son nom correspond d’ailleurs à leurs initiales : FMS A la différence des attaques précédentes, cette attaque récupère la clé secrète. Elle est considérée parmi les premières attaques dans cette classe. Elle exploite des faiblesses liées à l’algorithme RC4 et aux vecteurs d’initialisations. Son principe est dévoiler les octets de la clé un par un. {13, 14, 15,16} 2.2.3 Attaque Korek
  • 23. 16 En 2004, Korek a cherché d’autres corrélations entre la clé secrète et les premiers octets de keystream. Les corrélations sont au nombre de 17 capable de déterminer les octets de la clé un par un. Certaines sont déjà connues, d’autres sont découvertes par Korek lui-même. Chacun d’eux a une probabilité de succès bien définie à l’exception de celle nommée A-neg. Elle permet de réduire l’espace de recherche en identifiant les valeurs à rejeter. Ces attaques peuvent être décomposées en trois classes: {12, 15,17} *La première, pour déterminer un octet K[L], utilise les valeurs de K[0] jusqu’à K[L-1] et X[0] *La deuxième utilise en plus X[1] *La troisième permettant simplement de réduire l’espace de recherche des clés, en identifiant les valeurs à rejeter Dans l’ensemble, la structure de l’attaque est la même que celle de FMS. Chacune des attaques est lancée l’une après l’autre, jusqu’à ce que l’une d’elles trouve la clé. En pratique, un nombre de paquets capturés de 500 000 suffit à casser la majorité des clés WEP de 104 bits {17}. Contrairement à l’attaque FMS, ces attaques ne nécessitent pas des vecteurs d’initialisations faibles. Les vecteurs sont en fait choisis en fonction de l’état dans lequel ils laissent les algorithmes KSA et PRGA. Chaque attaque est accompagnée d’une liste de conditions sur le KSA et le PRGA après initialisation partielle. Si ces conditions sont vérifiées, le paquet peut être utilisé. Par exemple, l’attaque A s-5-1 est une généralisation directe de l’attaque FMS. Alors que FMS ne s’intéresse qu’à une classe d’IV, connue pour vérifier certaines propriétés, A s-5-1 vérifie pour chaque IV s’il vérifie la resolved condition. Les attaques contre WEP Attaque liés à RC4 Attaque non liées à RC4 FMS Korek Fausse authentification Attaque par modification et injection Tableau 1: Classification des attaques contre WEP 3. Conclusion Dlans ce chapitre, nous avons intéressé au protocole WEP et. Nous avons analysé également les attaques que nous pouvons y appliqué.
  • 24. 17 Dans le chapitre suivant, nous essayerons de mener et réaliser plusieurs attaques sur un réseau WiFi afin de détecter les failles, de mesurer les problèmes et la robustesse du réseau et de proposer des solutions et des corrections améliorant la sécurité pour ces type de réseau. Chapitre 3 : Implémentation et Test pour le Reverse Engineering 1. Introduction Après notre étude de différents protocoles de sécurité mis en place pour un réseau sans fil ainsi que l’exploration dans le fonctionnement de chacun, une discussion est menée sur leurs faiblesses et une étude détaillée des attaques que nous pouvons appliquer contre chacun d’eux est achevée. Dans ce chapitre, nous allons tester quelques attaques : tout d’abord, nous commençons par une description de notre environnement matériel et logiciel de test. Ensuite, nous passons à présenter les résultats obtenus ainsi que les interprétations tirées. Une spécification exacte de notre environnement est essentielle. Vers la fin, nous allons présenter les résultats de notre simulation des attaques FMS contre WEP. 2. Les Outils utilisés Les logiciels utilisés dans la sécurité WiFi sont d’une diversité énorme. Il existe plusieurs logiciels conçus spécialement pour la plateforme linux permettant d’analyser le trafic réseau, injecter des faux paquets et réinjecter d’autres,…. Nous avons choisi la suite aircrack-ng car elle englobe presque toutes les attaques ciblant un réseau sans fil protégé par le protocole WEP ou WPA. Dans ce qui suit, nous allons décrire cette suite ainsi que les commandes exécutées pour tester les attaques. Backtrak{18}: est une version de Linux, ( Un système D’exploitation, OS ) L’objectif de ce système est de réunir des outils permettant de tester la Sécurité d’un Réseau, Il est bien entendu Utiliser par de nombreux Hackers
  • 25. 18 BackTrack est donc un système d’exploitation, Nous allons utiliser la Version 5 r3. Cette Version dispose d’un mode Graphique, d’un Navigateur Internet ( Mozilla Firefox etc…) , et pleins d’autres fonctionnalités disponible sous Ubuntu ou d’autres Variantes de Linux. BackTrack n’est pas non plus une Solution Miracle pour le Hacking, il faut maitriser Linux pour pouvoir l’exploiter Pleinement. Si vous debutez, vous faites le bon choix en l’utilisant, avec de bon Tuto sur le Net, Nous n’apprenons très vite pour des résultats surprenants. Nous avons utilisé la distribution Linux BackTrack. C’est une distribution qui regroupe un ensemble d’outils nécessaires aux tests de sécurité d’un réseau. Elle inclut de nombreux logiciels : aircrack-ng, Metasploit RFMON… Aircrack-ng : est une suite d’outils utilisée afin d’obtenir l’accès à un réseau wifi crypté en WEP ou WPA, essentiellement utilisé sous linux. Une description de quelques outils de cette suite est dans le tableau 2. Outils Description Aircrack-ng L’outil le plus important, il assure le crack d’un réseau crypté en WEP ou WPA .il implémente la plus part des attaques contre WEP (FMS,Korek, Klein, PTW…) et d’autres contre WPA (Brute force, Beck-Tews...) airmon-ng Outil pour injecter et capturer des paquets 802.11 bas niveau, nous devons activer le mode monitor. C’est le mode à travers lequel l’interface capture n’importe quels paquets même ceux qui ne lui sont pas destiné. aireplay-ng Outil pour vérifier si nous pouvons s’associer au point d’accès, injecter des paquets… airodump-ng Outil utilisé pour capturer des paquets Tableau 2:Description des outils aircrack-ng 3. Déroulement des tests 3.1 Déchiffrement de la clé WEP sous Backtrack5 Les réseaux sans fil (Wi-Fi) sont devenus très courant ces dernières années, et il n'est pas rare aujourd'hui dans les zones urbaines de capter plusieurs dizaines de points d'accès Wi-Fi appartenant à des particuliers ou des entreprises. Décrit dans la norme IEEE 802.11, les réseaux sans fil, de part l'impossibilité de facilement limiter leurs propagation, ont rapidement nécessités l'emploi d'un codage des transmissions. La première implémentation d'un processus de sécurité à grande échelle sur les réseaux sans fil a été mise en place avec le protocole WEP. Le but de ce protocole était de rendre les connexions WiFi semblable aux réseaux filaires sur le plan de la confidentialité des transmissions, comme son nom l'indique, puisque WEP est l'acronyme de "Wired Equivalent Privacy". Mais très rapidement (en 2001 via l'attaque FMS) des faiblesses majeures ont été découvertes dans ce protocole, et la sécurité offerte par le
  • 26. 19 WEP est aujourd'hui inexistante. Pourtant, nous trouvons encore de nombreux réseaux cryptés par du WEP, alors que son remplacent, le cryptage WPA (appelé WPA2 dans sa version finale) est maintenant éprouvé et clairement plus solide. Même si pas infaillible lui non plus... Beaucoup de MachinBox utilise par défaut le cryptage WEP si l'on active le Wi-Fi, même si les plus récents modèles commencent à le remplacer par WPA. Ce dernier ne garantie en rien une sécurité infaillible et il est aujourd'hui lui aussi crackable par force brute. Mais il demande plus de temps/de puissance de calcul pour obtenir la clé, ainsi que des conditions favorables. L'un des outils les plus rapide pour s'attaquer aux réseaux WPA est disponible sous Windows, il s'agit d'ElcomSoft Distributed Password Recovery. Il permet d'utiliser les GPU NVIDIA en complément pour le calcul et de distribuer ce calcul sur plusieurs machines, permettant ainsi de réduire considérablement le temps nécessaire pour cracker une clé. Il semble que le travail de deux chercheurs Japonais, Toshihiro Ohigashi et Masakatu Morii, permette de cracker un réseau WPA utilisant TKIP (PDF) (mais pas ceux utilisant AES) en moins d'une minute. Leur méthode, qui sera présentée le 25 septembre prochain, est visiblement difficile à mettre en œuvre à l'heure actuelle, mais elle permet de renforcer les craintes sur la faiblesse des réseaux sans-fils cryptés avec WPA, au moins dans un avenir proche. Nous lançons l’ordinateur de l’attaquant avec Backtrack, puis nous lançons un shell. A fin d’exécuter n’importe quel attaque, nous devons suivre ces étapes. 3.1.1 Première étape : mettre la carte en mode monitor Nous vérifions tout d’abord que la carte Wi-Fi de l’ordinateur est bien détectée par Backtrack avec la commande airmon-ng. Ensuite, nous activons le mode monitor de la carte Wi-Fi afin d’écouter les réseaux Wi-Fi. La commande à exécuter est la suivante :
  • 27. 20 Figure 7: Activation du mode monitor Le message nous indique que le mode monitor de la carte est disponible via l’interface mon0. Pour le reste des étapes, il faudra donc utiliser l’interface mon0. 3.1.2 Deuxième étape : lancer la capture des paquets  Nous allons commencer par surveiller tous les réseaux qui utilisent le WEP afin de trouver notre cible, avec la commande suivante : --encrypt : Filtre en fonction de la sécurité du réseau (wpa ,wep,opn). Nous obtenons la figure 8 comme résultat :
  • 28. 21 Figure 8: Capture des paquets Le résultat de ce scan est une source d'information primordiale pour repérer et choisir la cible. Il se divise en deux parties, la première traitant les points d'accès la seconde les stations (typiquement les ordinateurs) connectées aux points d'accès. Voici une brève description des champs visibles dans la première partie :  BSSID : L'adresse MAC de l'AP.  PWR : La force du signal. Une valeur de -1 indique un problème de calcul sans incidence.  Beacons : Le nombre de Beacons reçu, ces petits paquets qu'emploies les AP pour s'annoncer. Ils n'ont pas d'intérêt ici.  #DATA : Cette colonne est primordiale. Plus vous aurez de #DATA (et donc de IVs), plus le crack sera rapide.  #/s : Nombre de #DATA par seconde. Pas très utile ici.  CH : Le canal utilisé par l'AP. Information utile pour réduire le champ du scan et se concentrer sur la cible.
  • 29. 22  MB : La vitesse de l'AP, à l'heure actuelle, une écrasante majorité de 54 MB (802.11g).  ENC : Autre colonne primordiale, elle indique le protocole de cryptage employé par l'AP.  CIPHER : La méthode d'authentification utilisée par l'AP.  AUTH : Complément de la méthode d'authentification.  ESSID : Le nom du réseau Wi-Fi de l'AP. Celui que le nous indiquons habituellement pour se connecter de façon "classique". Et les champs disponibles dans la seconde partie :  BSSID : L'adresse MAC de l'AP  STATION : L'adresse MAC de la station connecté à l'AP  PWR : La force du signal.  Rate : Le taux de transfert ?  Lost : Le nombre de paquets perdus ?  Packets : Le nombre de paquets capturés ?  Probes : Le nom de l'ESSID auquel la station est connectée.  Pour affiner la capture et nous concentrer sur la cible, nous allons préciser nos arguments de capture passés à airodump-ng : Les conditions nécessaires sont réunies afin de déchiffrer la clé WEP. Nous arrêtons airodump-ng. Puis, nous le relançons en ciblant le point d’accès (--bssid 26 :5A :84 :21 :F2) et en sauvegardant un fichier de capture (-w out). Ceci est exécuté par cette commande : -- write : Nom du fichier cap de sortie. -- channel : canal où se situe l’AP ( entre 1 et 13). -- bssid : Filtre en fonction de la sécurité du réseau. Nous obtenons la figure 9 comme résultat :
  • 30. 23 Figure 9: Capture des paquets L'emploi de l'option --bssid AP_MAC_address permet de limiter la capture au seul paquet provenant le l'AP dont nous indiquons l'adresse MAC. Ça permet surtout de créer des fichiers (avec l'option -w fichier) de capture contenant uniquement des paquets intéressants dans le cadre du crack de la cible, et ainsi d'optimiser la procédure. Revenons à cette option -w fichier. Celle-ci va créer deux fichiers : * ASSR_TRIP.cap *ASSR_TRIP.txt Ce premier fichier .cap nous sera très utile pour le crack de la clé WEP, puisqu'il contient des captures de paquets qui seront analysées par aircrack-ng pour cracker la clé. 3.1.3 Troisième étape : Si le rythme de trafic est assezfaible, il faut l’activer par la réinjection des paquets : Test de l’association au réseau cible Nous ouvrons un nouveau shell pour pouvoir utiliser aireplay-ng en parallèle avec airodump- ng. En premier lieu, nous utilisons ce programme afin de vérifier s’il est possible de s’associer au point d’accès cible et injecter des paquets. Nous exécutons la commande suivante :
  • 31. 24 Figure 10: Attaque par fausse authentification Les paramètres sont: -1 : Indique une "fake authentication". 0 : Indique le temps a laisser entre 2 tentatives. -e ESSID : Il faut remplacer ESSID par le nom du réseau indiqué dans la colonne ESSID par airodump-ng. -a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP indiqué dans la colonne BSSID par airodump-ng. -h STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l'adresse MAC de la station indiqué dans la colonne STATION par airodump-ng. mon0 : A remplacer par le nom de votre interface de capture Le message « association successful » confirme le succès de l’opération. Cette étape permet principalement de vérifier la présence ou non d'un filtrage sur l'adresse MAC mis en place sur l'AP. Cependant, il arrive parfois que l'association échoue même en cas d'absence de filtrage... Cette étape n'est donc pas d'une fiabilité absolue. De plus, en fonction de la qualité de réception du signal de l'AP cible, le résultat de cette authentification peut être long à venir. Donc, ça ne coute rien de tenter la "fake authentification", mais il ne faut pas conclure grand chose du résultat obtenu, sauf en cas de réussite rapide de l'authentification ! Accumulation de paquets pour préparer le crack Ensuite, nous lançons l’attaque de réinjection des paquets (aireplay-ng avec l’option -3 permet l’injection de paquet de type ARP). L’objectif de l’attaque consiste à s’interposer entre le point d’accès et la machine connectée, d’intercepter les paquets et les retransmettre de manière transparente à la machine destinatrice. Il s'agit maintenant de générer du trafic pour obtenir les paquets contenant des IVs dont nous avons besoin pour cracker la clé WEP. Pour réaliser cette tâche, nous utilisons une fois de plus aireplay-ng Donc nous n’avons qu’exécuter cette commande :
  • 32. 25 Figure 11: Attaque de réinjection des paquets -3 : Indique qu’il s’agit d’une injection de paquets. -e : Nom du réseau. -a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP indiqué dans la colonne BSSID par airodump-ng. -h STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l'adresse MAC de la station indiqué dans la colonne STATION par airodump-ng. -r : Fichier cap à se servir pour l'injection lors de l'attaque FMS par exemple. Facultatif Cette commande va créer un fichier "ASSR_TRIP.cap" qui contiendra les paquets. Ces fichiers .cap sont au centre du crack, ils contiennent les données indispensables à aircrack- ng pour casser rapidement la clé. Avec aireplay-ng, le facteur important est de faire monter le plus vite possible le nombre de paquets ARP capturés. Entre le lancement de aireplay-ng et le début de la capture de paquets ARP, il peut s'écouler un long moment, mais une fois un paquet dans les filets, les autres vont suivre très rapidement. Le programme aireplay-ng sauvegarde donc les arp capturés dans un fichier. Une fois lancée, nous pouvons voir son effet dans le shell airodump-ng : le nombre de paquets capturés affichés dans la colonne Data augmente ce qui montre la figure ci-dessous :
  • 33. 26 Figure 12: Augmentation du Data Attaque de type " Deauthentification" Si jamais le premier paquet ARP ne veut vraiment pas venir, il est possible de lancer une attaque de "Deauthentication". Dans le cadre d'un crack de clé WEP, une telle attaque, si elle réussie, va forcer une brève déconnexion de la station cible. Cette station va alors se reconnecter automatiquement, et il arrive que les machines sous Windows vident leurs caches ARP en cas de déconnexion, ce qui provoque l'envoi d'un paquet ARP tant attendu... Cette déconnexion est transparente sur la machine cible dans une large majorité de situation, si et uniquement si vous n'injectez pas de trop nombreux paquets. Soyez prudent par exemple de ne pas utiliser 0 comme nombre de paquets et de laisser le processus tourner. Voici la commande pour lancer une attaque de "Deauthentication" : aireplay-ng -0 1 -e Wisecs1 –a 00 :26 :5A :84 :21 :F2 –c DC:85:DE:69:E3:97 mon0 Figure 13: Attaque de Deauthentication -0 : Indique une attaque par "Deauthentication"
  • 34. 27 1 : Indique le nombre de paquet de "Deauthentication" qui doivent être envoyer. 0 force l'envoi de façon continuelle, jusqu'à l'arrêt du processus -a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l'adresse MAC de l'AP ou est connecté la station visée. -c STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l'adresse MAC de la station à déconnecter. Si vous n'indiquez aucune adresse MAC ici, toutes les stations connectées seront la cible de l'attaque, mais il est recommandé de cibler l’attaque pour plus de succés. mon0 : A remplacer par le nom de votre interface de capture. Le succès de ce type d'attaque n'est pas garanti, mais elle peut ce révéler très efficace contre certains types de machine. Notez également que cette attaque envoie les paquets directement sur la station cible, sans passer par l'AP, ainsi, si vous êtes juste assez proche de l'AP, mais que la station est située un peu plus loin de votre carte Wi-Fi, il est possible que la cible ne soit pas joignable alors que son AP l'est. Le crack Nous arrivons maintenant au crack de la clé WEP à proprement parler. Nous estimons qu'il faut environ 300 000 IVs pour cracker une clé WEP 64 bits, et environ 1 000 000 pour une clé WEP 128 bits. Dans la pratique, il en faut généralement beaucoup moins, puisque que des parutions datant de 2007 indiquent que 40 000 IVs suffisent... Pour cracker la clé, nous utilisons le programme aircrack-ng ainsi Il est plus que recommandé d'utiliser fichier .cap pour allez chercher les paquets à analyser aussi bien dans le retour de aireplay-ng que dans celui de airodump-ng. Pendant ce temps, laissez tourner airodump-ng et aireplay-ng pour continuer d'alimenter les fichiers .cap.
  • 35. 28 Et après quelques temps, si tout ce passe bien : Figure 14: Attaque FMS 4. Partie graphique du Backtrack IL existe une autre méthode pour cracker une clé wep, plus utilisé que l’airmon. Cette méthode contient une application graphique (voir annexe). 5. Conclusion De nos jours, le cryptage WEP n'est plus du tout sécurisé quelque soit la taille de votre clé encryptage. Il suffit avec la nouvelle attaque Ptw d'accumuler 40 000 IVS afin de cracker une clé Wep 256 bits en une dizaine de minutes ! Le gros problème du cryptage Wep est que les paquets transités par la borne Wifi contiennent des informations sur la clé Wep. Il suffit alors de les sniffer afin de déchiffrer la clé Wep (c'est d'ailleurs le rôle d'Airmon-ng). Par conséquence, nous oublions ce type de cryptage et nous adoptons immédiatement un cryptage avec une clé WPA ou WPA2 qui ne peut se cracker que par Brute Force.
  • 36. 29 Chapitre4 : Implémentation de l’attaque FMS en RC4 1. Introduction Un des objectifs de ce projet est d'acquérir une meilleure compréhension d'un algorithme ou d'un protocole et tenter de mettre en œuvre il découvre de nombreux détails autrement pas apparents et renforce la structure et la fonctionnalité de chacun. Par conséquent, sur le plan personnel le but de ce projet de recherche est d'acquérir une compréhension plus profonde de WEP et surtout l'attaque FMS en RC4. Ce projet est fournir des ressources pour la communauté au sens large intéressés à en apprendre d’avantage sur ces sujets à travers la mise en œuvre d’algorithme Fms. Nous avons implémenté l’attaque Fms en utilisant le langage de programmation C. Dans ce chapitre, nous allons décrire tout d’abord pourquoi le langage C ? Ensuite, nous allons décrire notre code. Et enfin, nous allons tester notre code avec quelques commandes. 2. Choix du langage de programmation Aujourd'hui, l'informatique est présente dans tous les domaines de la vie courante, mais à des degrés différents. Il y a pour cela trois grandes raisons :  Les gains (en temps, argent, qualité) que l'informatique peut apporter,  Le prix abordable des matériels,  La disponibilité de logiciels dans tous les domaines. Deux domaines sont pleinement exploités :  Les logiciels généraux, vendus en grande série, et donc relativement bon marché,
  • 37. 30  Les logiciels spécifiques, d'un coût total important et donc limités à des sujets très pointus, pour de très grosses industries. Le domaine intermédiaire, qui peut encore se développer, concerne les programmes spécifiques, pour des applications de moindre importance. Pour cela, il est nécessaire de disposer de langages de programmation C. Donc il est souvent le meilleur choix. En effet, c'est un langage structuré, avec toutes les possibilités des autres langages structurés. Mais il permet également (avec son extension C++) de gérer des objets. A l'inverse, il permet également une programmation proche du langage machine, ce qui est nécessaire pour accéder aux interfaces entre l'ordinateur et son extérieur. Mais son principal avantage est que ces trois types de programmation peuvent être combinés dans un même programme, tout en restant portable sur tous les ordinateurs existants. {11} 3. Description de notre implémentation 3.1 L’algorithme RC4 L’algorithme RC4 est constitué de deux parties *RC4-KSA( Key Scheduling Algorithm) prend en entrée la clé K et génère en sortie un tableau d’état S. *RC4-PRGA( Pseudo Random Generation Algorithm) utilise le tableau S résultant pour générer la suite aléatoire finale nécessaire au chiffrement (keystream) Le tableau ci-dessous décrit le déroulement de chacune. RC4-KSA RC4-PRGA byte S [N] ; // N = 2^8 = 256 byte K[L ] ; // L:longueur de la clé int i , j ; for ( i =0; i<N; i++) S [ i ] = i ; for ( i =0; i<N; i++) j = i + S [ i ] + K[ i%L] % 256; swap (S [ i ] , S [ j ] ) ; byte S [N] ; // fourni par KSA int count = xxx , i =0, j =0; //nombre des octets de keystream voulu for ( i =1; i<=count ; i++ % 256) j = j + S [ i ] % 256; swap (S [ i ] , S [ j ] ) ; p r i n t f ( "%d" , S [ S [ i ]+S [ j ] ] % 2 5 6 ) ; // l’octet obtenu à l’itération j Tableau 3:L’algorithme RC4 Nous adoptons quelques notations afin d’expliquer le fonctionnement des attaques suivantes : Si : état du tableau S après ième itération de l’algorithme RC4 ji : la valeur de j après ième itération de l’algorithme RC4
  • 38. 31 X: keystream K=IV||Rk Rk : la clé secrète Figure 15:Principe de cryptage WEP 3.2 L’attaque FMS Le FMS exige la capture d’un grand nombre des paquets cryptés et la récupération du premier octet du keystream. Déroulement : Les chercheurs ont découvert des situations où l’algorithme KSA divulgue des informations sur la clé. Ils ont nommé cette situation « resolved state ». Il est assez simple de vérifier si un paquet donné mène à telle situation.  En effet, avec l’algorithme KSA, si les L premiers octets de la clé K utilisés pour générer un keystream X sont connus, il est possible de simuler les L premiers étapes de RC4-KSA.
  • 39. 32  Pour déterminer un octet K [L], certaines conditions doivent être vérifiées, après les L étapes de RC4-KSA. Ces conditions sont:  1. SL [1] <L  2. SL [1] + SL [SL [1]] =L  Une fois ces conditions sont vérifiées, ils proposent de calculer une fonction Ffms définie comme suit :  Ffms (K[0],..,K[L-1],X[0])=SL-1 [X[0] ] - JL - S L[L]  Cette fonction détermine la valeur de l’octet K[L] avec une probabilité de succès égale à 5%.  Vu que le vecteur d’initialisation est transmis en clair, la valeur initiale de L est égale 3.  Ils ont indiqué que les vecteurs d’initialisations vérifiant ces conditions sont nommés « Weak IV » et ils ont le format (3+i, 255, m) avec i est l’indice de l’octet à déterminer et m peut être une valeur de l’ensemble {0, 1,…,255}.  Pour réaliser l’attaque, l’attaquant capture les paquets du réseau protégé par WEP et récupère le premier octet de keystream utilisé pour crypter ces paquets. Puis, il sélectionne les paquets dont l’IV vérifie les conditions et calcule la valeur Ffms correspondant à chaque paquet. Chaque résultat de Ffms peut être considéré comme une proposition de Rk[0]. La valeur correcte de Rk[0] est la valeur le plus fréquent. Ensuite, il passe à deviner les octets suivants de Rk[1] jusqu’à Rk[L-1] dans l’ordre en suivant un traitement répétitif sur l’ensemble de paquets capturés.  Une fois tous les octets ont été récupérés, il vérifie la validité de la clé an essayant de décrypter un certain nombre de paquets : si la clé est correcte, l’attaque est bien réalisée. Si non, il cherche quelle est la décision incorrecte de Rk[i]. Il existe plusieurs méthodes de rangement {15}. Par exemple, il peut choisir la décision pour laquelle la différence entre la meilleure valeur retournée par Ffms et la seconde meilleure valeur soit minimale. L’attaquant corrige la décision d’ordre i dans l’arbre de décision et continue l’attaque avec la valeur alternative.  La première implémentation de cette attaque est faite par Adam Stubblefield. Un nombre de paquets entre 5.000.000 et 6.000.000 sera suffisant pour réussir l’attaque sur une clé de 104 bits. {14}
  • 40. 33 4. Test de notre implémentation 4.1 La partie RC4 Pour RC4, il existe trois modes d'entrée pour notre programme.  Pour crypter, utilisez-a, qui chiffre le texte d’entrée en ASCII sur la ligne de commande. Le format approprié est le suivant : RC4 -a KeyinHex keyLengthInBytes DataInASCII DataLengthInBytes Par exemple: Figure 16: Chiffrement RC4 Cela va afficher le texte chiffré en notation Hexadecminal. Ceci doit être fait parce que environ 1/3 des caractères ASCII valides sont invisibles ou difficilement entré sur la ligne de commande, et ayant chiffré vous ne pouvez pas déchiffrer serait inutile. Deux choses à noter: texte ASCII avec des espaces doivent être saisis entre guillemets. Lors de compte tenu de clés et de données de longueurs, chaque valeur hexadécimale est de 4 bits, de sorte que le nombre d'octets volonté à la moitié du nombre de caractères hexadécimaux.  Pour décrypter, utilisez-h, qui prend les données au format hexadécimal. Le format correct est le suivant: RC4 -h KEYINHEX keyLengthInBytes DataInHex DataLengthInBytes Par exemple:
  • 41. 34 Figure 17: Déchiffrement RC4 Cela va afficher le texte crypté / décrypté en hexadécimal. Depuis que vous êtes susceptibles d'être décryptage à la mode h, la représentation ASCII sera également fournie.  Le troisième mode d'entrée, avec le drapeau-f, va crypter ou décrypter un fichier entier (jusqu'à une taille de 4 Go ~limitation). Il faut dans une longueur de clé et la clé comme les deux autres modes, mais au lieu de saisir les données à chiffrer, vous fournir un fichier d'entrée et de votre destination souhaitée pour le fichier de sortie. Le bon format est le suivant: RC4 -f KEYINHEX keyLengthInBytes InputFile OutputFile Voici un exemple : *Nous avons crée tout d’abord deux fichier F1 et F2 Ensuite, nous écrivons le mot « bonjour » dans F1 et nous laissons F2 vide
  • 42. 35 Et nous avons effectué un exemple le suivant : RC4 -f KEYINHEX keyLengthInBytes InputFile OutputFile RC4 -f AAAAAAAAAAAAAAAA 8 "F1" "F2" Nous obtenons le résultat comme suit : Nous remarquons par défaut le fichier F2 contient le mot « bonjour » chiffré.
  • 43. 36 Par la suite, nous créons un aut1re fichier nommé F3 et nous laissons vide. Et nous avons appliqué ce format : RC4 -f AAAAAAAAAAAAAAAA 8 "F2" "F3" Nous obtenons le résultat comme suit : Nous remarquons par défaut le fichier F3 contient le mot « bonjour ». 4.2 La partie FMS Le programme fms permet d’exploiter les faiblesses de l’algorithme Rc4 pour cracker la clé wep. fms <messages Où messages est un fichier contenant des lignes comme: iv plaine de chiffrement Lorsque ceux-ci sont toutes les valeurs en hexadécimal ASCII sans préfixe. (par exemple 001122 12 34) et nous obtenons comme résultat :
  • 44. 37 Le testeur FMS prend deux arguments de ligne de commande, une clé et un message de test. Il émet le résultat de test d'erreur standard, et renvoie la valeur 0 pour le succès et -1 en échec. 5. Conclusion Le RC4 est un algorithme symétrique. Pour décrypter, utiliser le bon mode d'entrée et de fournir le texte chiffré et la clé utilisée pour chiffrer. Conclusion générale Les réseaux sans fil en général, et le Wi-Fi en particulier sont des technologies intéressantes et très utilisées dans de divers domaines. Cette diversification d'utilisation revient aux différents avantages qu'apportent ces technologies, comme la mobilité, la simplicité d'installation, la disponibilité. Mais, ils introduisent de nouveaux problèmes notamment la sécurité qui reste un sujet très délicat. En effet, le manque de protection
  • 45. 38 physique des points d’accès et la transmission sur des liens radios sont les causes principales de la vulnérabilité des réseaux sans fil. Ainsi, depuis l'utilisation de ce type de réseaux plusieurs failles ont été détectées. Malgré des problèmes de sécurité intrinsèques, les réseaux sans fil continuent à se développer. Il est donc important de bien connaître les problèmes liés à la sécurité de ce type de réseaux afin d'en limiter les effets néfastes. Dans cette optique, nous avons étudié en premier temps d’une façon générale les attaques wifi. Ensuite, nous avons approfondi le fonctionnement des algorithmes de sécurité, nous avons traité les failles de chacun d’eux et nous avons tiré les principales attaques inspirées d’une étude détaillée des travaux de recherche. Ainsi, nous avons noté que certaines attaques persistent même en adoptant des protocoles de sécurité. En effet, nous avons passé en revue les principales attaques contre le WEP. En plus, nous avons détaillé les RC4 dans une implémentation. Nous avons montré que cet algorithme n’apporte pas un niveau de sécurité satisfaisant. Pour cela nous avons implémenté nous- mêmes l’attaque FMS qui a permis de retrouver la clé secrète utilisée sur un réseau WiFi à partir des paquets capturés. Notre travail, nous avons apporté une meilleure compréhension du fonctionnement du WiFi, des méthodes de cryptanalyse et des attaques sur les algorithmes de chiffrement. Le reverse engineering nous avons permis de mieux voir les failles pour mieux choisir les solutions. Comme perspectives à notre travail, d’autres algorithmes tels que TKIP utilisé par WPA, AES utilisé par WPA2 méritent d’être testés et analysés avec la même démarche suivie dans notre travail afin de détecter les défaillances de telles solutions et de sélectionner à la fin l’algorithme le plus adéquat. Références Bibliographiques {1} http://perso.citi.insa-lyon.fr/mminier/images/MASTER_part1.pdf {2}Les Technologies de l'Information et de Communication, moteur de ...jmdejaeger.free.fr
  • 46. 39 {3} N. Borisov, I. Goldberg et D. Wagner, « Intercepting Mobile Communications: The Insecurity of 802.11 » {4} Jesse R.Walker, « unsafe at any key size; an analysis of the WEP encapsulation », October 2000. {5} Alexander Gutjahr, « Wired Equivalent Privacy(WEP) Fonctionnality, Weak Points, Attacks », 2009 {6} Lasse Kosetski Deleuran, Thomas Loftager, Nielsen Henrik Gammelmark «Cryptography E2006 Insecurity of the IEEE 802.11 Wired Equivalent Privacy (WEP) standard» 15 December 2006 {7} http://www.pouf.org/documentation/securite/html/node48.html {8} http://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access {9} http://fr.wikipedia.org/wiki/Wi-Fi_Protected_Access {10} Brash Habibi Lashkari, Mir mohammad Seyed Danesh, Behrang Samadi, “ A survey on wirless security protocols(WEP,WPA and WPA2/802.11i”, 1999 {11} Patrick TRAU, « Langage C » (URL: http://www-ipst.u-strasbg.fr/pat/program/tpc.htm) {12} Finn Michael Halvorsen, Olav Haugen “ Cryptanalysis of IEEE 802.11i TKIP”, Juin 2009 {13} S. Fluhrer, I. Mantin, A. Shamir, « Weakness in the Key Scheduling Algorithm of RC4» Eighth Annual Workshop on Selected Areas in Cryptography, Août 2001. {14} Adam Stubblefield, John Ioannidis, Aviel D. Rubin “Using the Fluhrer, Mantin, and Shamir Attackto Break WEP” {15} These Erick Tews “Attacks on The WEP protocol” 2007 {16} Adam Stubblefield, John Ioanniidis, Aviel Drubin, “A key recovery attack on the 802.11b Wired Equivalent Privacy Protocol (WEP), 2001 {17} Rafik Chaabouni, “Break WEP faster with statistical analysis”, juin 2006 {18} http://fr.wikipedia.org/wiki/BackTrack Annexes Annexe A: comment crackerla clé wep en mode graphique
  • 47. 40 Il n y’a pas toujours le airmon ou bien le aircrack pour cracker le mot de passe (password) d’un wifi. Nous avons montré deux applications très utiles que l’airmon. La première application : nous suivrons les étapes suivantes: Figure 18:les étapes de l'application graphique -Premièrement, nous sélectionnons l’interface wlan0 L’interface wlan0 est apparait
  • 48. 41 Deuxièment, nous cliquons sur Scan for Access points pour trouver les wifi de type WEP
  • 49. 42 Nous cliquons sur Scan for Access points, nous trouvons combien de wifi de type WEP et de type WPA. Par la suite on clic sur le Key Database, on a donné les informations suivantes : les points d’accès, tous les réseaux wifi, les Channels, les keys et les adresses MAC. Nous trouvons un seul wifi de type WEP« Wisecs1 », un simple clic sur ce wifi donne tous ses détailles : Essid, Bssid, channel, power et encryption et on choisit l’attaque d’ARP Request Replay, puis on lance l’attaque avec un clic sur le bouton ‘Attack’
  • 50. 43 Et après quelques secondes, nous obtenons le résultat ( la clé WEP de Wisecs1)
  • 51. 44 Après, nous faisons le même travail avec l’attaque chopchop
  • 52. 45 On obtien un resultat comme suit