70
Dédicaces C’est grâce a dieu que tout a commencé Et c’est a lui que j rends grâce Le reste n’est que dédicace A ma mère Yasmina Qui m’a porté neuf mois et supporté plus que vingt et un ans Elle attend ce jour impatiemment, pour l’amour que tu me porte A mon père Mohamed Toi dont la raison pour laquelle tu m’aime aucune raison ne peut Expliquer A mes sœurs Khouloud et Wissal je vous souhaite une vie pleine de bonheur et de joie A mes frères Ala et Hamdi je vous souhaite beaucoup de succès A ma chère amie et ma sœur Rabeb Celui qui m’a conseillé et qui m’a encouragé A ma collègue Zahra Qui m’a aidé et soutenu A toute ma famille, touts mes amis A tous ceux que j’aime et qui m’aime. Qu’ils trouvent toute l’expression de mon amour le plus sincère. Abidi intissar

Pfe etude-d attaque-finale-1

Embed Size (px)

Citation preview

DédicacesC’est grâce a dieu que tout a commencé

Et c’est a lui que j rends grâce

Le reste n’est que dédicace

A ma mère Yasmina

Qui m’a porté neuf mois et supporté plus que vingt et un ans

Elle attend ce jour impatiemment, pour l’amour que tu me porte

A mon père Mohamed

Toi dont la raison pour laquelle tu m’aime aucune raison ne peut

Expliquer

A mes sœurs Khouloud et Wissal

je vous souhaite une vie pleine de bonheur et de joie

A mes frères Ala et Hamdi

je vous souhaite beaucoup de succès

A ma chère amie et ma sœur Rabeb

Celui qui m’a conseillé et qui m’a encouragé

A ma collègue Zahra

Qui m’a aidé et soutenu

A toute ma famille, touts mes amis

A tous ceux que j’aime et qui m’aime.

Qu’ils trouvent toute l’expression de mon amour le plus sincère.

Abidi intissar

Dédicaces

Du plus profond de mon cœur et avec l’intensité

De mes émotions, je dédie ce modeste travaille à :

Mon père Hechmi

Ma mère Najet

Pour toutes années de sacrifice, pour l’amour

La patience et surtout la confidence en moi

Que dieu les réserves la bonnes santé et la longue vie

Mes adorables et chers frères

« Chiheb et Jaber »

Et ma chère sœur

« Rafida » 

j leurs souhaites une vie pleine de succès et de bonheur

Sans oublie mon binôme

« Intissar»

A toute ma famille que j’aime et j respecte

tous ceux qui me partagent l’amour et le respect

tous mes amis qui je ne les oublierais jamais

tous ceux dont l’oubli du nom n’est pas celui du cœur

Dhouibi Zahra

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...........................................................11

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 trafic est assez faible, il faut l’activer par la réinjection des paquets :............................................................................................................................23

4. Partie graphique du Backtrak...................................................................................................27

5. Conclusion................................................................................................................................27

Chapitre4 : Implémentation de l’attaque FMS en RC4.....................................................28

1. Introduction..............................................................................................................................28

2. Choix du langage de programmation........................................................................................28

3. Description de notre implémentation..........................................................................................29

3.1 L’algorithme RC4....................................................................................................................29

3.2 L’attaque FMS.........................................................................................................................30

4. Test de notre implémentation..................................................................................................31

4.1 La partie RC4...........................................................................................................................31

4.2 La partie FMS..........................................................................................................................35

5. Conclusion................................................................................................................................36

Conclusion générale.....................................................................................................................37

Références Bibliographiques.....................................................................................................38

Annexes............................................................................................................................................40

Table des figures

Figure 1: Analyse de risque {1}.................................................................................................4Figure 2: Présentation des différents types des réseaux {2}........................................5Figure 3:cryptage et décryptage d’un texte..........................................................................6Figure 4: Cryptage et Décryptage WEP...............................................................................................7Figure 5: Attaque fausse authentification........................................................................................11Figure 6: Attaque ChopChop......................................................................................................14Figure 7: Activation du mode monitor....................................................................................19Figure 8: Capture des paquets..................................................................................................20Figure 9: Capture des paquets..................................................................................................22Figure 10: Attaque par fausse authentification..................................................................23Figure 11: Attaque de réinjection des paquets...................................................................24Figure 12: Augmentation du Data...........................................................................................25Figure 13: Attaque de Deauthentication...............................................................................26Figure 14: Attaque FMS...............................................................................................................27Figure 15:Principe de cryptage WEP.......................................................................................30Figure 16: Chiffrement RC4........................................................................................................32Figure 17: Déchiffrement RC4...................................................................................................32Figure 18:Les étapes de l'application graphique................................................................40

Table des tableaux

Tableau 1: Classification des attaques contre WEP...........................................................16Tableau 2: Description des outils aircrack-ng.......................................................................................18Tableau 3: L’algorithme RC4.....................................................................................................29

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

1

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 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.

2

Chapitre 1 : Présentation

générale

1. IntroductionLa 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.

3

2. Cadre du projetLe 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 :

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

4

Figure 1: Analyse de risque {1}

4. Présentation générale

4.1. Qu’est ce qu’un réseau Wi-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.

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

5

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

6

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 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

7

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é. 

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.

8

Figure 4: Cryptage et Décryptage WEP

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

9

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.

-« à 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 »

10

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.2 Les 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.

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é.

11

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.

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

12

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.

Figure 5: Attaque fausse authentification

2.1.2 Attaque par modification et injection de paquets

13

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

14

représente par le vecteur d’initialisation qui est dynamique modifiable à

chaque nouveau paquet.

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é

15

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.

*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

16

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.

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

17

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

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}.

18

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é.

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.

19

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

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

20

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 Backtrack5Les 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

21

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 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 :

22

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 :

23

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.

24

CH : Le canal utilisé par l'AP. Information utile pour réduire le champ

du scan et se concentrer sur la cible.

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).

25

-- bssid : Filtre en fonction de la sécurité du réseau.

Nous obtenons la figure 9 comme résultat :

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 assez faible, 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 :

26

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

27

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 :

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é.

28

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 :

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.

29

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"

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.

30

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.

Et après quelques temps, si tout ce passe bien :

Figure 14: Attaque FMS

31

4. Partie graphique du BacktrackIL 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. ConclusionDe 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.

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.

32

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é,

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 RC4L’algorithme RC4 est constitué de deux parties

33

*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

X: keystream

K=IV||Rk

Rk : la clé secrète

34

Figure 15:Principe de cryptage WEP

3.2 L’attaque FMSLe 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.

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

35

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}

36

4. Test de notre implémentation

4.1 La partie RC4Pour 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:

37

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

38

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é.

39

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 FMSLe 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 :

40

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

41

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  

42

{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

43

Annexes

Annexe A: comment cracker la clé wep en mode

graphique

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

44

L’interface wlan0 est apparait

Deuxièment, nous cliquons sur Scan for Access points pour trouver les wifi de type WEP

45

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

46

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’

47

Et après quelques secondes, nous obtenons le résultat ( la clé WEP de

Wisecs1)

48

Après, nous faisons le même travail avec l’attaque chopchop

49

On obtien un resultat comme suit

50