Cahier 2016 groupe n°10 : Différence entre versions

De Wiki de Projets IMA
(Séance 5 (07/11/2016))
(Séance 5 (07/11/2016))
Ligne 63 : Ligne 63 :
 
Autrement dit, le filtrage par adresse MAC n'est pas du tout efficace pour sécuriser le Wifi.
 
Autrement dit, le filtrage par adresse MAC n'est pas du tout efficace pour sécuriser le Wifi.
  
*Craquage d'une clé wep sur le banc de test
+
====Cassage clé wep====
PHOTO A VENIR !!
+
'''Wep intro'''
 +
 
 +
Wep est un protocole cryptographique dont l’abréviation est Wired Equivalent Privacy. Cette dénomination soulignerait la « robustesse » du cryptage des données et le désir d’assurer des communications sans fil aussi sécurisés que par liens filaires.
 +
Pour essayer de répondre à cette objectif, WEP se base sur un checksum pour contrôler l’intégrité de la trame et sur un algorithme de type RC4 pour chiffrer les données. RC4 est constitué d'un générateur de données pseudo-aléatoire dont la sortie dépend d'une clé de 64 ou 128 bits avec lequel on l'initialise. Pour le chiffrement, un XOR est réalisé entre la sortie du RC4 et la trame à chiffrer. Pour déchiffrer les données il suffit de refaire un XOR entre ce flux arrivant et la même sortie du RC4. On voit déjà là un problème, en effet, les trames chiffrées et non chiffrées sont exactement de même taille. Comme on utilise des XOR, il faudra donc réinitialiser RC4 à chaque envoi de trame pour éviter la réutilisation des clés. La solution a été de découper la clé RC4 en deux. La première partie de la clé est transmise en claire en entête (24 bits) appelé vecteur d'initialisation (IV). La seconde partie de la clé, sera une clé fixe connue par l’utilisateur et le point d’accès (de 40 ou 104 bits). Mais pour que le client puisse déchiffrer les paquets il lui faut le même vecteur d’initialisation, c’est pourquoi les 24 premiers bits (bien qu’aléatoire à la base) sont envoyé en clair.
 +
 +
Lors de l'identification, une phrase P est envoyée en clair par le point d’accès et le client renvoie une réponse cryptée C. L’opération suivante est réalisée C = RC4(IV||clé_WEP) (+) P .
 +
Maintenant que l’on comprend globalement le fonctionnement de WEP, nous allons utiliser un outil qui exploite les failles de WEP afin de récupérer la clé fixe.
 +
 
 +
'''Crack wep'''
 +
 
 +
Pour cela, nous avons à disposition un EeePC équipé d’un module WiPi. L’appareil n’étant pas configurer il nous a fallu réaliser les diverses configurations suivantes.
 +
La première chose a été de connecter le PC à Internet.
 +
Dans /etc/network /interfaces on ajoute les lignes suivantes :
 +
Auto eth0
 +
Iface eth0 inet static
 +
Address 172.26.79.24
 +
Netmask 255.255.240.0
 +
Gateway 172.26.76.254
 +
On relance avec ces nouvelles règles /etc/init.d/network restart
 +
Toutefois cela ne permet pas encore de se connecter à internet, en effet l’horloge interne du PC est dérèglée et ne permet pas de rendre valide les certificats des sites web.  Pour cela on écrit les lignes suivantes :
 +
date -s hh:mm:ss
 +
date -s mm/dd/yyyy
 +
hwclock --systohc
 +
Ensuite une fois cela réalisé nous pouvons installer la suite aircrack-ng.
 +
apt-get install aircrack-ng
 +
Maintenant pour sniffer le réseau, il faut utiliser le module WiPi en mode monitoring. Un nouveau problème apparaît car le module n’est pas reconnu. On observe alors les différents messages d’erreur à travers la commande '''dmesg'''. On en déduit qu’il faut installer le driver de ce module.
 +
On effectue la commande suivante :
 +
apt-get install firmware-ralink
 +
Le module est maintenant reconnu en tant que wlan0 et le crackage peut commencer.
 +
On débute en vérifiant qu’aucun processus pourrait gêner le mode monitor du module avec :
 +
airmon-ng check (s’il y a des processus gênant -> airmon-ng check kill)
 +
Passons maintenant notre WiPi en mode monitoring:
 +
airmon-ng start wlan0 la commande nous indique que l’interface mon0 a été créé pour le monitoring (on parle toujours du même module)
 +
Maintenant nous allons un peu observer le traffic et cibler notre recherche en n’observant que les point d’accès utilisant wep avec :
 +
airodump-ng –encrypt wep mon0
 +
On observe donc les SSID, le canal d’échange et les adresses MACs des différents point d’accès. Cracotte05 sera notre victime pour cet exercice.
 +
Maintenant nous récupérons tous les paquets associés à Cracotte05 avec :
 +
airodump-ng –w cracotte05 –c 2 –bssid 04:DA:D2:9C:50:54 mon0
 +
 
 +
Enfin avec la commande '''aircrack-ng cracotte05-01.cap''' nous obtenons la clé fixe.
 +
 
 +
 
  
 
*Installations des paquets ssh, apache2 et bind9 sur notre machine virtuelle
 
*Installations des paquets ssh, apache2 et bind9 sur notre machine virtuelle

Version du 18 novembre 2016 à 20:05

Schématisation du réseau

Réseau à mettre en place lors du module PRA

Tâche particulière

Présentation

Notre tâche particulière consiste en la configuration d'un point d'accès Wifi avec filtrage des adresses MAC.

Matériel utilisé

Cisco Aironet 2600

Avancement du travail

Nous commencerons par réaliser notre tâche particulière, celle-ci étant nécessaire pour l'ensemble de la promotion.

Séance 1 (03/10/2016)

  • Prise de connaissance du sujet et lecture de celui-ci
  • Répartition des tâches particulières entre les différents groupes
  • Connexion via le port série au point d'accès Cisco (grâce à minicom)
  • Configuration : ajout de l'adresse IP 172.26.79.5 dans l'interface bvl 1

Séance 2 (10/10/2016)

  • Configuration du ssid
   ap(config)#dot11 ssid Wolverine
   ap(config-ssid)#authentication open
   ap(config-ssid)#guest-mode
  • Configuration de l'interface radio dot11Radio0
   ap(config)#interface dot11Radio0 
   ap(config-if)#ssid Wolverine
   ap(config-if)encryption vlan 1 key 2 size 40 0123456789 transmit-key
   ap(config-if)#encryption vlan 1 mode ciphers wep40
   ap(config-if)#no shutdown

Séance 3 (13/10/2016)

  • Création de la machine virtuelle

On se connecte d'abord sur le serveur cordouan

    ssh root@cordouan.insecserv.deule.net

On créé ensuite la machine avec tous les renseignements souhaités

   xen-create-image --hostname=Wolverine --ip=193.48.57.170 --netmask=255.255.255.240 --gateway=193.48.57.172
   --dir=/usr/local/xen --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie

On démarre la machine virtuelle

   xl create /etc/xen/Wolverine.cfg

Et nous la lançons

   xl console Wolverine

En parallèle, nous avons réservé notre nom de domaine sur Gandi : robico.space

Séance 4 (24/10/2016)

  • Reconfiguration du point d'accès via l'interface web
  • Installation des paquets nécessaires sur l'eeePC
  • Craquage de la clé wep (non-terminé)

Séance 5 (07/11/2016)

  • Ajout d'un filtrage par adresse MAC : seuls la moitié de la classe peut s'associer à notre point d'accès wifi

Si on remplace notre adresse MAC par une adresse non-autorisée, l'association n'est plus possible. Autrement dit, le filtrage par adresse MAC n'est pas du tout efficace pour sécuriser le Wifi.

Cassage clé wep

Wep intro

Wep est un protocole cryptographique dont l’abréviation est Wired Equivalent Privacy. Cette dénomination soulignerait la « robustesse » du cryptage des données et le désir d’assurer des communications sans fil aussi sécurisés que par liens filaires. Pour essayer de répondre à cette objectif, WEP se base sur un checksum pour contrôler l’intégrité de la trame et sur un algorithme de type RC4 pour chiffrer les données. RC4 est constitué d'un générateur de données pseudo-aléatoire dont la sortie dépend d'une clé de 64 ou 128 bits avec lequel on l'initialise. Pour le chiffrement, un XOR est réalisé entre la sortie du RC4 et la trame à chiffrer. Pour déchiffrer les données il suffit de refaire un XOR entre ce flux arrivant et la même sortie du RC4. On voit déjà là un problème, en effet, les trames chiffrées et non chiffrées sont exactement de même taille. Comme on utilise des XOR, il faudra donc réinitialiser RC4 à chaque envoi de trame pour éviter la réutilisation des clés. La solution a été de découper la clé RC4 en deux. La première partie de la clé est transmise en claire en entête (24 bits) appelé vecteur d'initialisation (IV). La seconde partie de la clé, sera une clé fixe connue par l’utilisateur et le point d’accès (de 40 ou 104 bits). Mais pour que le client puisse déchiffrer les paquets il lui faut le même vecteur d’initialisation, c’est pourquoi les 24 premiers bits (bien qu’aléatoire à la base) sont envoyé en clair.

Lors de l'identification, une phrase P est envoyée en clair par le point d’accès et le client renvoie une réponse cryptée C. L’opération suivante est réalisée C = RC4(IV||clé_WEP) (+) P . Maintenant que l’on comprend globalement le fonctionnement de WEP, nous allons utiliser un outil qui exploite les failles de WEP afin de récupérer la clé fixe.

Crack wep

Pour cela, nous avons à disposition un EeePC équipé d’un module WiPi. L’appareil n’étant pas configurer il nous a fallu réaliser les diverses configurations suivantes. La première chose a été de connecter le PC à Internet.

Dans /etc/network /interfaces on ajoute les lignes suivantes :
Auto eth0
Iface eth0 inet static
Address 172.26.79.24
Netmask 255.255.240.0
Gateway 172.26.76.254

On relance avec ces nouvelles règles /etc/init.d/network restart Toutefois cela ne permet pas encore de se connecter à internet, en effet l’horloge interne du PC est dérèglée et ne permet pas de rendre valide les certificats des sites web. Pour cela on écrit les lignes suivantes :

date -s hh:mm:ss
date -s mm/dd/yyyy
hwclock --systohc

Ensuite une fois cela réalisé nous pouvons installer la suite aircrack-ng.

apt-get install aircrack-ng

Maintenant pour sniffer le réseau, il faut utiliser le module WiPi en mode monitoring. Un nouveau problème apparaît car le module n’est pas reconnu. On observe alors les différents messages d’erreur à travers la commande dmesg. On en déduit qu’il faut installer le driver de ce module. On effectue la commande suivante :

apt-get install firmware-ralink

Le module est maintenant reconnu en tant que wlan0 et le crackage peut commencer. On débute en vérifiant qu’aucun processus pourrait gêner le mode monitor du module avec :

airmon-ng check (s’il y a des processus gênant -> airmon-ng check kill)

Passons maintenant notre WiPi en mode monitoring:

airmon-ng start wlan0 la commande nous indique que l’interface mon0 a été créé pour le monitoring (on parle toujours du même module)

Maintenant nous allons un peu observer le traffic et cibler notre recherche en n’observant que les point d’accès utilisant wep avec :

airodump-ng –encrypt wep mon0

On observe donc les SSID, le canal d’échange et les adresses MACs des différents point d’accès. Cracotte05 sera notre victime pour cet exercice. Maintenant nous récupérons tous les paquets associés à Cracotte05 avec :

airodump-ng –w cracotte05 –c 2 –bssid 04:DA:D2:9C:50:54 mon0
Enfin avec la commande aircrack-ng cracotte05-01.cap nous obtenons la clé fixe.


  • Installations des paquets ssh, apache2 et bind9 sur notre machine virtuelle
  • Configuration du serveur DNS

Modification du fichier /etc/bind/named.conf.local :

zone "robico.space" {
     type master;
     file "/etc/bind/zones/robico.space.db";
     };

zone "57.48.193.in-addr.arpa" IN {
            type master;
            file "/etc/bind/zones/db.57.48.193.in-addr.arpa";
       };

Création des fichiers /etc/bind/zones/robico.space.db et /etc/bind/zones/db.57.48.193.in-addr.arpa :

$TTL    604800
@       IN      SOA     ns.robico.space. root.robico.space. (
                             2         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.robico.space.
@       IN      NS      ns6.gandi.net.
ns      IN      A       193.48.57.170
www     IN      A       193.48.57.170
@       IN      A       193.48.57.170
ns      IN      AAAA    2001:660:4401:60ba:216:3eff:fea6:173a
www     IN      AAAA    2001:660:4401:60ba:216:3eff:fea6:173a
@       IN      AAAA    2001:660:4401:60ba:216:3eff:fea6:173a
$TTL    604800
@       IN      SOA     robico.space. root.robico.space. (
                             2         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
57.48.193.in-addr.arpa.         IN      NS      ns.robico.space.
57.48.193.in-addr.arpa.         IN      NS      ns6.gandi.net.
170                             IN      PTR     robico.space.