TP sysres IMA2a5 2015/2016 G2

De Wiki de Projets IMA

Introduction


Cette page est dédiée au travail réalisé dans le cadre de ma dernière année de formation ingénieur au sein de l'école Polytech Lille. Ce projet rentre dans le cadre du cours de protocole avancé dispensé par Monsieur Xavier Redon. L'objectif était d'élaborer une maquette de réseau me permettant de manipuler les protocoles de redondance réseau ainsi que le protocole réseau IPv6.

Matériel à disposition pour ce projet


Pour réaliser à bien ce projet nous avons à notre disposition:

  • deux routeurs Catalyst 3560-Cisco systems [1]
  • deux commutateurs Catalyst 4006-Cisco systems [2]
  • un serveur Xen
  • deux bornes wifi Cisco [3]
  • des ASUS Eee PC [4]
  • En cours de TP, des Eee PC HP ont été mis à notre disposition
  • de nombreux câbles réseaux (Gbits, Mbits)
  • l'accés au serveur de l'école
  • un bon professeur: [5] (sic)

Mise en place d'un des deux commutateurs du réseau


Pour cette première partie, il nous était demandé d'effectuer chacun une tâche particulière dans l'élaboration de ce réseau. Pour ma part j'ai choisi de me consacrer à la mise en place d'un des deux commutateurs Cisco Catalyst 4006 (situé en salle E304). Pour ce faire, j'ai procédé de la façon suivante: répartition des noms de Vlans et de leurs numéros, création des Vlans, configuration des ports pour les Vlans et la configuration pour les ports spécifiques

Répartition des noms de Vlans,de leur numéros et de leur adresses IP:

  • Vlan 2 -> Puduc, IP: 172.20.100.0/24, masque: 255.255.255.0
  • Vlan 3 -> Nounours, IP: 172.20.101.0/24, masque: 255.255.255.0
  • Vlan 4 -> Jeuno, IP: 172.20.102.0/24, masque: 255.255.255.0
  • Vlan 5 -> Relax, IP: 172.20.103.0/24, masque: 255.255.255.0
  • Vlan 6 -> John, IP: 172.20.104.0/24, masque: 255.255.255.0
  • Vlan 7 -> Loki, IP: 172.20.105.0/24, masque: 255.255.255.0
  • Vlan 8 -> Papy, IP: 172.20.106.0/24, masque: 255.255.255.0
  • Vlan 10 -> Hub, IP: 193.48.57.176/28, masque: 255.255.255.240
  • Vlan 131 -> Interco, IP: 192.162.222.8/29, masque: 255.255.255.248 (réseau école)

Création des Vlans:

  • établissement de la connexion filaire entre un port USB et le port "Console" de mon commutateur
  • établissement de la connexion sur minicom via un terminal, en ayant pris soin de passer en root auparavant -> minicom -os
  • modification du port au niveau minicom -> de TTY à USB2 (si vous vous êtes connecté sur le port USB 2 de la machine)
  • il faut à présent entrer dans le minicom et passer en mode enable -> en
  • on vérifie qu'aucune Vlan a été créée jusque là -> show vlan
  • on va à présent configurer notre terminal et donc créer les Vlans -> config term
  • création de notre vlan 2 -> vlan 2
  • celle-ci, suite à un choix personnel d'un de mes collègues, s'appellera Puduc -> Puduc
  • on peut à présent quitter notre mode config -> exit à deux reprises
  • on vérifie que la manipulation a bien fonctionné -> show vlan
  • si la vlan 2 sous le nom de Puduc apparaît, on peut alors sauvegarder notre travail et passer à la suite -> write
  • si jamais vous vous êtes trompés et que vous souhaitez effacer, pas de soucis, retourner en arrière et au lieu de vlan, taper -> no vlan 2

Configuration des ports pour les Vlans:

  • dans un minicom, on se remet en mode enable et on vérifie la disponibilitée des ports -> show run
  • on configure le port de la Vlan 2 (pour ma part j'ai choisi de faire ça sur les ports FastEthernet 4) -> interface FastEthernet 4/2
  • on le rend ensuite accessible -> switchport mode access
  • on définit quel est la Vlan ayant accès à ce port -> switchport access vlan 2
  • on pré-sauvegarde la configuration -> no shut
  • on peut à présent quitter, sans oublier de sauvegarder son travail -> exit et write

Liste récapitulative des associations:

  • FastEthernet 4/2 -> Vlan 2
  • FastEthernet 4/3 -> Vlan 3
  • FastEthernet 4/4 -> Vlan 4
  • FastEthernet 4/5 -> Vlan 5
  • FastEthernet 4/6 -> Vlan 6
  • FastEthernet 4/7 -> Vlan 7
  • FastEthernet 4/8 -> Vlan 8
  • FastEthernet 4/10 -> Vlan 10
  • FastEthernet 4/31 -> Vlan 131

Configuration pour les ports spécifiques (WIFI et connexion entre les deux commutateurs):

  • pour cette partie une petite différence avec ce que l'on a vu précédemment, toujours la même ligne pour configurer le port
    -> interface FastEthernet 4/1
  • la différence ce fait sur le fait que l'on active un protocole d'encapsulation -> switchport trunk encapsulation dot1q
  • ensuite on précise que c'est un mode trunk que l'on souhaite sur ce port (mode encapsulation) -> switchport mode trunk
  • et enfin on quitte proprement -> no shut, exit
  • avant de sauvegarder (write), on établit selon la même méthode la liaison entre les deux commutateurs sur FastEthernet 4/42

en gras apparaît les lignes à taper dans le terminal ou le minicom suivant le déroulement du projet

Installation de la carte 48 ports en Gigabit sur mon commutateur

Suite à l'arrivée d'une nouvelle interface Gigabit, il a fallut faire quelques petites modifications sur la configuration précédemment décrite. Elles concernent, le port de connexion entre les deux commutateurs et le point d'accès wifi. Ces modifications je vous l'ai mets ci-dessous:

  • comme précédemment, on se met dans le menu qui va bien et on tape -> interface GigabitEthernet 2/12 (pour le wifi)
  • interface GigabitEthernet 2/42 (pour les deux commutateurs)

À présent la configuration du commutateur est terminé et on ne devrait plus avoir à revenir dessus.

Petit tour de passe passe


Le tour de pass pass va consister à tromper la borne wifi sur laquelle on est pas référencé en se faisant passer pour un autre PC qui lui a l'autorisation d'accéder à cette borne. Mais pour faire cela, il faut tout d'abord ce connecter à la première borne wifi pour pouvoir sortir sur internet. Pour ce faire, on utilisera les Eee PC mis à notre disposition. Pour ma part, je me suis mis sur le Eee PC n°9006747 dont l'adresse MAC est: 00:15:AF:E6:ED:B1. La démarche pour accéder à internet via la borne wifi est là suivante:

  • se mettre en root
  • modifier le fichier intitulé /etc/network/interfaces avec vim par exemple
  • dans ce fichier on ajoutera, si ce n'est pas déjà fait, en dessous de netmask
      * wireless-mode managed
      * wireless-essid T2 (pour la borne wifi sur laquelle je souhaite me connecter, T1 pour celle que j'ai vais ensuite usurper)
      * wireless-key 1111111111
      * address 172.26.79.69 (mon adresse IP)
      * netmask 255.255.240.0
      * gateway 172.26.79.254
  • dans un terminal on effectuera les commandes -> ifdown wlan0 puis ifup wlan0
  • ainsi la nouvelle configuration pour le wifi du PC est prête et un essai sur une page internet nous vérifie tout ça

Passons maintenant à un domaine un peu plus intéressant, l'usurpation d'identité. On verra à travers les commandes ci-dessous qu'au final avec les bonnes informations ce n'est pas si dur que ça de se faire passer pour un autre.

  • première étape, un peu de social ... 2min plus tard ... Adresse MAC de la victime: 00:15:AF:E7:2D:FB
  • il nous suffit donc d'aller modifier le fichier /etc/network/interfaces comme précédemment
      * wireless-mode managed
      * wireless-essid T1 (pour la borne wifi sur laquelle le collègue était autorisé)
      * wireless-key 0000000000
      * address 172.26.79.69 
      * netmask 255.255.240.0
      * gateway 172.26.79.254
  • dans un terminal on effectue les commandes -> ifdown wlan0 puis ifup wlan0
  • et voilà! Un petit tour sur internet nous montre que la manipulation a fonctionné

Création de la machine virtuelle


Pour réaliser une création d'une machine virtuelle, je suis retourné sur un pc fixe etaprès avoir ouvert un terminal, rentré les commandes suivantes en root:

  • tout d'abord il a fallut que je me connecte sur le réseau Xen
           -> ssh cordouan.insecserv.deule.net
  • ensuite on lance la création d'une image du serveur xen
           -> xen-create-image
  • lorsque cette commande est envoyé, on remarque qu'il faut rajouter des paramètres comme ci-dessous
           -> --hostname cerbere (le nom de ma machine virtuelle dans le thème des animaux légendaires)
           -> -- ip 193.48.57.179
           -> -- dir /usr/local/xen
  • à l'envoie de la commande avec ces arguments, on remarque que l'installation est en cours
  • pour observer l'état d'avancement de celui-ci on peut lancer la commande dans un autre terminal
           -> tail -f /var/log/xen-tools/cerbere.log
  • une fois l'installation terminée, il faut ouvrir le dossier
           -> /etc/xen/cerbere.cfg
  • modifier les éléments suivants
           -> taille = 1024
           -> vif = ['mac=00:15:AF:E6:ED:B1, brigde=IMA2a5']
  • à présent notre VM est installé, nous pouvons la démarrer
           -> xl create /etc/xen/cerbere.cfg
  • vérification que celle-ci est bien lancée
           -> xl list
  • il faut également allez chercher le mot de passe mis par défaut de la VM
           -> /var/log/xen-tools/cerbere.log
  • à présent on peut lancer la VM
           -> xl console cerbere
  • on va tout de suite modifier le gateway et le netmask dans le fichier
           -> /etc/network/interfaces, masque: 255.255.255.255, gateway: 193.48.57.190
  • encore un petit fichier à modifier
           -> /etc/ssh/sshd_config, permitrootlogin: without: yes
  • à présent on lancera la purge de la machine
           -> apt-get purge network-manager systemd, répondre à la question par: y
  • on remarque alors qu'une erreur est parvenue. Pas de soucis un enième fichier à modifier
           -> /etc/inittab
  • on y remplace tty1 par
           -> hvc0
  • un petit rebootage s'impose
           -> reboot
  • on se reconnecte sur la VM et on relance apt-get
           -> apt-get purge network-manager systemd, y
  • cette fois plus aucune erreur est survenue, on peut tenter un ping sur google.fr ... ça marche !!!

Remarque: pour arrêter proprement notre machine virtuelle il nous suffira de faire

           -> halt

La partie installation de la machine virtuelle est à présent terminée suite au prochain épisode ... chapitre du moins.

Installation et configuration des serveurs Web apache2 et serveur bind9


À présent, nous allons poursuivre notre balade dans le monde merveilleux du réseau. Nous allons diviser la prochaine étape en deux partie, une première, rapide, qui sera l'installation de ces deux éléments. La deuxième pour leurs configuration.

Premièrement donc, installation des serveurs. Pour cela on démarre la VM, on rentre les deux petites commandes suivantes et le tour est joué.

  • apt-get install apache2
  • apt-get install bind9

Configuration d'apache2

Puis on configure le serveur apache2. Pour cela on va dans: /etc/apache2/sites-available/default-ssl.conf et on y modifie:

            -> SSLCertificateFile /root/cerbere.cert
            -> SSLCertificateKeyFile /root/cerbere.key
            -> on enlève le # à SSLCertificateChainFile /root/Gandi.cert (certficat X509 délivré)

On active le changement:

            -> a2ensite default-ssl
            -> a2enmod ssl

On redémarre le serveur apache2 pour effectuer les modifications -> service apache2 restart

Configuration de bind9

Enfin on voit la configuration la partie DNS en DNSSEC. Pour ce faire, on suivra les consignes suivantes:

  • modification du fichier:
            -> /etc/bind/named.conf.options
  • on ajoute l'option:
            -> dnssec-enable yes;
  • on crée un répertoire dans lequel sera classé tous les fichiers concernant notre sécurité du DNS par dnssec:
            -> /etc/bind/g-ryckeboer.dnssec
  • on y génère alors la clef asymétrique de signature de zone:
            -> dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom g-ryckeboer
  • on y génère une deuxième clef asymétrique de signature de zone:
            -> dnssec-keygen -a RSASHA1 -b 1024 -f KSK -n ZONE -r /dev/urandom g-ryckeboer
  • les 4 fichiers générés sont ensuite renommés pour plus de compréhension en:
            -> g-ryckeboer-ksk.key, g-ryckeboer-ksk.private, g-ryckeboer-zsk.key, g-ryckeboer-zsk.private
  • on va à présent inclure les clefs publiques dans notre fichier zone:
            -> $include /etc/bind/g-ryckeboer.dnssec/g-ryckeboer-ksk.key
            -> $include /etc/bind/g-ryckeboer.dnssec/g-ryckeboer-zsk.key
  • on signe les enregistrements de la zone:
            -> dnssec-signzone -o g-ryckeboer -k g-ryckeboer-ksk ../db.gryckebo g-ryckeboer-zsk
  • je renomme le fichier qui vient juste d'être créé par:
            -> g-ryckeboer.signed
  • on modifie le fichier named.conf.local pour utiliser la zone signée:
            -> file "/etc/bind/db.gryckebo.signed";
  • puis on modifiera le fichier /etc/bind/db.gryckebo avec la configuration suivante:
            -> $TTL    3600
            -> @       IN      SOA     ns admin (
            -> 3         ; Serial, il faudra l'incrémenter au fur et à mesure que des modifications soit faite
            -> 3600         ; Refresh
            -> 600         ; Retry
            -> 36000         ; Expire
            -> 3600 )       ; Negative Cache TTL
            -> @       IN      NS      ns
            -> @       IN      NS      ns6.gandi.net.
            -> @       IN      MX      100 mail
            -> ns      IN      A       193.48.57.179
            -> mail    IN      A       193.48.57.179
            -> www     IN      CNAME   ns
  • Et pour finir on ira modifier le fichier /etc/bind/named.conf.options de la façon suivante:
            -> options { directory "/var/cache/bind";
            -> dnssec-validation auto;
            -> auth-nxdomain no;    # conform to RFC1035
            -> listen-on-v6 { any; };
            -> allow-transfer { "allowed_to_transfer"; };};
            -> acl "allowed_to_transfer {217.70.177.40/32;};

Ainsi le serveur Bind9 est configuré, reste plus qu'à attendre que la diffusion se fasse au près des serveurs de gandi.

Réservation et préparation du domaine internet personnel


Nous allons faire une petite parenthèse à la partie réseau etc et allons maintenant nous intéresser à la partie Internet. Commençons par choisir et réserver notre domaine personnel (celui-ci a eu une période de validité de 1an). Pour des raisons de professionnalisme, on s'oriente du côté de Gandi [6]. On se dirige sur la partie Nom de domaine et dans l'onglet de recherche on vient saisir le nom de domaine qui nous intèresse. Après avoir fait son choix sur le nom et le type (ex: .fr, .com, .lol ...), pour ma part j'ai choisi -> g-ryckeboer.lol. Une fois la réservation faite, nous démarrons un terminal en mode administrateur pour ensuite se connecter sur le serveur cordouan.insecserv.deule.net. Puis on lance à partir de là, la VM. Une fois dans la VM, on viendra modifier les fichiers dns.txt et cmddns.txt. Il faut également allez modifier sur le site Gandi, l'adresse IPv4 pour notre domaine -> glue records -> 193.48.57.179 (adresse IPv4 de ma VM, cerbere). Il faut aussi penser à indiquer à Gandi le nom du serveur administrateur par défaut:

            -> DNS 1: ns.g-ryckeboer.lol
            -> DNS 2: ns6.gandi.net

Pour terminer la préparation du domaine internet personnel, on aura besoin d'un serveur de messagerie sur la VM. Pour installer ce dernier on tapera la ligne de commande suivante: apt-get install bsd-mailx postfix. On redirigera les mails admin à root en modifiant le fichier; /etc/aliases, on y ajoute: admin: root. On valide la ligne de commande par: newaliases.

Achat du certificat

Pour acheter notre certificat, pour enfin être reconnu au près des navigateurs tels que Mozilla, on va sur Gandi, mon compte, sur le nom de domaine réservé: g-ryckeboer.lol, certficat SSL, standart, 1 adresse, CSR (allez chercher la demande de certificat dans le fichier: cerbere.csr sous la VM). Pour obtenir la demande de certificat à rentrer sur Gandi, il faut taper: openssl req -nodes -newkey rsa:2048 -sha256 -keyout cerbere.key -out cerbere.car. Des informations sont alors demandées, il faut les remplir avec notamment:

            -> common name: g-ryckeboer.lol
            -> email address: admin@g-ryckeboer.lol

Une fois la demande copiée sur Gandi, on poursuit notre démarche et on valide. On vérifie que le mail est arrivé: mailx (sur la VM). Une fois le mail reçu (pour ma part avec beaucoup de mal à cause de multiple erreur de ma part), on peut à présent continuer la sécurisation de notre site et enregistrer les certificats délivrés par Gandi dans deux fichiers: /etc/apache2/ssl/cerbere.crt pour le premier certificat et /etc/apache2/ssl/"un nom dont je ne me rappelle pas".csr pour le second. Ensuite on modifie le fichier: /etc/apache2/sites-available en ajoutant ces lignes :

            ->SSLCertificateFile      /etc/apache2/ssl/cerbere.cer
            ->SSLCertificateKeyFile /etc/apache2/ssl/cerbere.key
            ->SSLCertificateChainFile /etc/apache2/ssl/"un nom dont je ne me rappelle pas".cer

Enfin on active notre configuration en redémarrant le serveur apache2: a2ensite default-ssl, a2enmod ssl, service apache2 restart.

Problème: on s'aperçoit quand on souhaite accéder à mon site que celui-ci n'apparaît pas en https comme souhaité pour ce faire il suffit d'aller modifier le fichier: /etc/apache2/sites-available/000-default.conf, en supprimant DocumentRoot /var/www/html et en le remplaçant par: Redirect permanent / "https://www.g-ryckeboer.lol". En rafraichissant la page cette fois on constate que la page web est bien sécurisé (le petit cadenas au niveau de l'URL) en https.

Changement d'Eee PC (HP x360)


Pour des raisons pratique nous avons eu l'occassion de faire la mise en route et l'installation de la machine Debian pour ces nouveaux PC qui seront nos outils de travail pour la suite. Je vais donc vous expliquer la démarche suivie pour faire ces deux étapes.

Mis en route de l'Eee PC HP

Une fois le PC démarré, on nous demande de configurer les paramètres du PC, les voici:

  • nom du PC: Truite
  • nom de d'utilisateur: pifou
  • mot de passe: habituel

Une fois cette étapes réalisée, pas besoin d'allez plus loin, surtout dans la configuration de Windows car ce n'est pas ce qui nous intéresse ici, on le redémarre donc. Dans le but de pouvoir accéder au menu de configuration au démarrage du PS, il faut appuyer sur la touche F9 puis F10. Une fois dans ce menu les démarches suivantes ont été effectués:

  • on se dirige vers: System de configuration
  • on sélectionne la langue française puis on se dirige vers option d'amorçage
  • dans ce menu qui s'affiche on va y modifier l'option démarrage sécurisé pour le passer en mode désactivé

Ce qui nous permettra l'installation de la Debian ...

  • on quitte, on enregistre les changements
  • un code nous est demandé, on rentre alors 5828
  • on redémarre une nouvelle fois le PC avec la touche F9 appuyée puis F10 au démarrage

Nous voilà prêt pour l'installation de la machine Debian.

Installation de la machine Debian

Nous allons maintenant passer à l'installation et la mise en route de la machine Debian. Pour cela on se trouve toujours dans la même configuration que dans la partie précédente. Pour commencer l'installation, il faut bien évidemment avoir les sources quelque part. Pour ce faire on se rend sur le site Debian, le fichier iso debian 8.2.0, grâce auquel on créera une image sur la clé USB avec la ligne de commande: dd if=debian-8.2.0-amd64-netinst.iso, en s'étant placé au préalable en mode administrateur et dans le répertoire tmp. La clé contenant le fichier d'installation sera insérer sur un port USB de l'Eee PC. Les commandes suivantes sont l'installation sur mon PC de Debian, avec en première partie la partie configuration réseau:

  • on sélectionne la clé USB -> une page Debian s'affiche
  • Install -> Choose langage -> French ...
  • nous n'avons pas le microcode manquant donc à la question on répond: non
  • on choisit l'option de configuration de réseau par nos soins
  • adresse IP: 172.20.102.0
  • masque-réseau: 255.255.255.0
  • passerelle: 172.20.102.254
  • serveur de nom: 193.48.57.34
  • nom de la machine: Truite
  • nom du domaine: deule.net
  • mot de passe superutilisateur: comme d'habitude
  • nom d'utilisateur: pifou
  • mot de passe utilisateur: comme d'habitude

La deuxième partie est la partie partition du disque:

  • on sélectionne la partition manuel
  • on va commencer à limiter la partition de Windows car cela ne nous servira à rien
  • on redimensionne la partition avec 8Gb qui sera largement assez pour notre utilisation
  • ensuite viens la partition pour Debian, pour cela on choisit la partition assisté
  • on utilise le plus grand espace disponible
  • avec l'option pour les débutants
  • on termine le partionnement et on enregisstre
  • enfin on oublie pas d'appliquer les changements effectués

La troisième partie, nous permettra de configurer l'outil de gestion des paquets. Les commandes suivantes m'ont permis de mener à bien cette configuration:

  • pour le pays on choisit notre beau pays, la France
  • pour le miroir de l'archive Debian on indique: debian.polytech-lille.fr
  • le mandataire http sera: http://proxy.polytech-lille.fr:3128
  • et peut à présent retirer la clé USB et le système se reboot

Ma machine Debian sur mon nouveau Eee PC est à présent installé et configuré on pouvoir continuer la suite du travail avec pour prochaine partie, un petit peu de divertissement ^^.


Un petit peu de divertissement ^^


Pour cette partie nous allons voir comment, grâce à quelques manipulations, je vais réussir à craquer une clé WEP en écoutant un certain nombre de trame. Puis en deuxièment, comment j'ai réussi à cracker le mot de passe WPA-PSK par force brute. Mais avant de faire tout ça il faudra bien évidemment configurer le wifi du Eee PC.


Configuration Wi-fi du Eee PC

Avant de taper dans le vif du sujet, le crackage, nous devons configurer le wifi de notre Eee PC. À travers les différentes manipulations suivantes, on verra qu'au final le wifi des Eee PC nous a tenu donc on a finalement décidé de travailler avec une clé wifi. Les différentes commandes et manipulations de cette partie sont:

  • modifications des fichiers suivant:
     /etc/apt/sources.list, on ajoute la ligne contrib non-free
     /etc/network/interfaces, on modifie la ligne au dessus de iface eth0 inet static par auto eth0
     on vérifie que address, gateway, netmask sont bons
     /etc/resolv.conf, on ajoute la ligne nameserver 193.48.57.34
  • après cette série de de fichiers à modifier, on passe à une série de fichiers à installer:
     broadcom-sta-dkms
     firmware-linux-non-free
     remove network-manager  
  • puis une série de ligne de commande pour cette fois charger des fichiers du noyau:
     -> modprobe wl
     -> modprobe -r b44 b43 b43legacy ssb brcmsmac
     -> modprobe -r wl
     -> modprobe wl
     -> ifconfig-a (pour vérifier les configurations)
     -> reboot
  • à présent si on tape: airmon-ng, on observe le wlan 0 pour l'interface, Broadcom pour chipset et wl-[phy0] pour le driver
  • on essaye ainsi la ligne: airmon-ng start wlan0 et on remarque alors que l'on ne peut aloué de mémoire

(Suite à cette dernière ligne de code, on abandonne l'idée d'utiliser la carte Wi-fi du PC et on connecte la clé Wi-fi)

  • on connecte donc la clé Wi-fi et on retente les lignes de commandes précédentes:
     airmon-ng, on observe l'apparition d'un wlan1 Ralink RT2870/3070 rt2800usb -[phy1], notre clé Wi-fi, 
  • on connecte alors l'Eee PC au réseau (prise pour mon Wlan sur mon commutateur)
     airmon-ng start wlan1, cela aura pour effet de passer la clé en monitor
  • malheuresement on rencontre de nouveau un problème d'allocation mémoire
  • on regarde donc ce qui vient de se passer: dmesg, et on remarque un manque de firmware
  • on installe donc ce firmware -> apt-get install firmware-ralink
  • on relance la ligne airmon-ng start wlan1

Maintenant nous sommes capable de lancer le crackage de la clé.

Crackage de la clé WEP

Pour cette partie un peu plus fun, on va voir comment écouter des trames wifi grâce airdump-ng et ensuite cracker la clé grâce à aircrack-ng. Pour ce faire on procédera de la façon suivante:

  • installation de aircrack-ng -> apt-get install aircrack-ng
  • on lance la ligne airodump-ng permettant d'écouter les conversation wifi PC et cracotte avec les options suivantes:
     -> mon3, nom et numéro du processus lancé par ma dernière ligne airmon-ng
     -> --channel5, car toutes les cracottes communiquent sur le channel 5 du wi-fi
     -> --bsssid 04:DA:D2:9C:50:53, correspondant au ssid de ma cible, la cracotte 4
     -> -w crackage_wep.txt, fichier dans lequel va être recopié le flux wi-fi
  • on ouvre un nouveau terminal où on lancera le crackage de la clé à partir du fichier dans lequel les datas sont enregistrées:
     aircrack-ng -s crackage_wep.txt-01.cap

Au bout d'environ 40.000 datas collectées, la clé WEP est tombé, il s'agit de: AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:BB:BB. =)

Crackage du mot de passe WPA-PSK par force brute

On continue dans le fun. Maintenant je vais m'attaquer à la clé WPA-PSK de cette même cracotte, la cracotte n°4. Tout d'abord, il faut élaborer un dictionnaire pour ensuite l'attaque par force brute à partir de celui-ci. Pour faire ce dictionnaire, il faut créer un programme C, celui-ci a été nommé: creation-dictionnaire.c. Celui-ci crée toutes les combinaisons possibles de nombre sur 8 chiffres. On le compile et on l'exécute en redirigeant la sortie vers un fichier texte nommé: dictionnaire.txt. Ensuite, on écoute les paquets avec la ligne de commande: airodump-ng mon4 --channel7 --bssid 04:DA:D2:9C:50:53 -w crackage_wpa-psk.txt. J'ai à présent tous les éléments en ma possesion pour attaquer cette cracotte, mais pour des questions de rapidité, je lance le cassage de mot de passe sur une zabeth avec la ligne de commande: aircrack-ng -w dictionnaire.txt crackage_wpa-psk.txt-02.cap.

Au bout d'environ une heure d'essai des combinaisons présentes dans le dictionnaire, la bonne combinaison a été trouvé, c'était: 12399904. C'était bien sûr deux éléments inventés par le prof mais cela nous donne une idée du temps que cela mettrait pour en cracker une réelle.

Sécurisation du point d'accès wifi avec WPA-EAP

Après avoir hacké des mot de passe et clé, je vais m'intéresser à ne pas être hacké, discipline tout aussi sportive. Pour se faire on va protéger notre connexion sur la borne wifi avec WPA-EAP, c'est parti!

On commence par modifier deux ou trois fichiers sur notre VM:

  • /etc/freeradius/clients.conf, on ajoute:
        -> client 172.20.99.0/24 {
        -> secret          = cerbere
        -> shortname       = wifi}
  • /etc/freeradius/eap.conf, on modifie:
        -> default_eap_type = md5 par default_eap_type = peap 
  • /etc/freeradius/users, on ajoute:
        -> cerbere    Cleartext-Password := "notre motDePasse"

Ainsi on vient de créer un utilisateur qui s'appelle cerbere et qui pourra se connecter par la suite sur la borne wifi avec son id: cerbere et son mdp: "le mdp choisit".

À présent on configure donc la borne wifi en elle même pour lui faire connaître les paramètres ci-dessus. Pour cela il suufit de s'y connecter avec telnet sur son adresse IP et de rentrer ces nombreuses lignes de commandes ci-dessous:

   -> en, pour passer en "admin"
   -> conf t
   -> aaa new-model
   -> aaa group server radius cerbere_EAP
   -> server 193.48.57.179 auth-port 1812 acct-port 1813
   -> exit
   -> radius-server host cerbere_EAP auth-port 1812 acct-port 1813 key cerbere
   -> aaa authentication login cerbere group cerbere_EAP
   -> dot11 ssid cerbere
   -> vlan 4
   -> authentication open eap cerbere
   -> authentication network-eap cerbere
   -> authentication key-management wpa
   -> mbssid guest-mode
   -> exit
   -> interface Dot11Radio0
   -> encryption vlan 4 mode ciphers aes-ccm tkip
   -> ssid cerbere
   -> mbssid
   -> exit
   -> interface Dot11Radio0.4
   -> encapsulation dot1Q 4
   -> bridge-group 4
   -> exit
   -> interface GigabitEthernet0.4
   -> encapsulation dot1Q 4
   -> bridge-group 4
   -> exit
   -> et enfin on sauvegarde tous ce beau monde: write

Rapidement, ces lignes ont permis de réserver une interface de la borne, la 0.4, qui est une interface en Gigabit et qui nous servira grâce au protocole dot1Q d'accéder à internet en se connectant à cette borne avec mes id et mdp créés précédemment.

Pour vérifier tous ça il a donc suffit d'aller sur le portable ou sur un Eee PC et d'accéder à internet une fois la borne sélectionné et les id et mdp rentré.

Le mot de la faim (ou fin)

Ce fut pour moi un immense plaisir de travailler sur ce TP car, bien que loin d'être intuitif pour ma part, cela m'a permis de découvrir bien des choses, sur bien des domaines (interdit ou autorisé) et c'est tellement plaisant d'avoir à la fin de chaque partie un résultat concluant. Quelques regrets tout de même sur la durer de celui-ci qui pourrait nous apporter tellement plus encore si on avait plus de temps. Toutes bonne choses ont une fin mais moi je reste sur ma faim!

Merci (de même !!)