Atelier SysRes SE4 2025/2026 E5

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

Compte rendu des commandes effectués

Etape 1 : Connexion SSH

ssh root@capbreton

Mot de passe :

Etape 2 : Créer un fichier dans le répertoire /etc/network/interfaces.d du Dom0 aux noms du binôme concerné

On se déplace à ce répertoire :

 cd /etc/network/interfaces.d/

On créer ensuite ensuite un fichier aux noms de notre binôme et on l'édite :

touch SE42026_cpayet_tdelobel
vim SE42026_cpayet_tdelobel

Puis on donne un nom au bridge, ici c'est `pont_pacman`et on met dans le fichier ceci :

auto pont_pacman
iface pont_pacman inet manual
    bridge_ports none
    up ip link set $IFACE up
    down ip link set $IFACE down

Une fois le pont créer, il faut le démarrer :

ifup pont_pacman

Etape 3 : Création des VMs

xen-create-image --hostname=SE4.CachyOS         --dhcp --bridge=pont_pacman --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2048M --force
xen-create-image --hostname=SE4.Manjaro         --dhcp --bridge=pont_pacman --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2048M --force
xen-create-image --hostname=SE4.LinusTorvalds   --dhcp --bridge=pont_pacman --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2048M --force

On adapte les hostnames en fonction des nom de nos machines.

IMPORTANT : Les résultats des commandes sont à noter car ellles contiennent les mots de passe et autres informations importantes.

Nos résultats :

CachyOS :

Installation Summary
---------------------
Hostname        :  SE4.CachyOS
Distribution    :  daedalus
MAC Address     :  00:16:3E:8B:45:EC
IP Address(es)  :  dynamic
SSH Fingerprint :  SHA256:p+nECGSXOPvFjDjk+/x8adAn8JxTTPjuknCTcFZxJNk (DSA)
SSH Fingerprint :  SHA256:YaNMhK5ZFF/TshemMHSmt08R9uBPAnhNK134XEZ0CuY (ECDSA)
SSH Fingerprint :  SHA256:qQNuBNfAoySUPOFPplDh8p0ZPtxRulz/vbOq+Pm4gwM (ED25519)
SSH Fingerprint :  SHA256:psWV2TNuHsZcRelqipM7TJ/mE4cvFI+oxndg6nvCpCk (RSA)
Root Password   :  6nyCiterydiMtnxsPDRsUys

Manjaro :

Installation Summary
---------------------
Hostname        :  SE4.Manjaro
Distribution    :  daedalus
MAC Address     :  00:16:3E:36:79:D8
IP Address(es)  :  dynamic
SSH Fingerprint :  SHA256:n+ojtWyKBODRtEppjCvAp6nd2cjL/Ily54j0cM03lMc (DSA)
SSH Fingerprint :  SHA256:K+Qa9NAU3JIGsMy3LEYCgFbfL3ozuiRKG+U3XsbV5ow (ECDSA)
SSH Fingerprint :  SHA256:AJLfxk4Zz8BZflWYOS8mifapH+uAFgGKA3WSj6rN0NA (ED25519)
SSH Fingerprint :  SHA256:/6iWOWoii0nJsbScwVYIGQAbuTI1/YIpaRyRdBl8mwE (RSA)
Root Password   :  PgvMbhYvgtksg8tmiJnVZnQ

LinusTorvalds :

 Installation Summary
---------------------
Hostname        :  SE4.LinusTorvalds
Distribution    :  daedalus
MAC Address     :  00:16:3E:AA:BF:EF
IP Address(es)  :  dynamic
SSH Fingerprint :  SHA256:ouY/2dce0YI/mJD9Qw68oKU0xdw6Cs9ybgJxRm/FKiI (DSA)
SSH Fingerprint :  SHA256:p5lZznE0q8j6c68YTF5toYgBugOkc0IopTO+Ce9SiZ8 (ECDSA)
SSH Fingerprint :  SHA256:FbqBOG+0bBjuQBOlAytAlbMV/9VoJ8BAlFadG/VaGD4 (ED25519)
SSH Fingerprint :  SHA256:FCEtQGUhMhN9DDtTmt5zts/9PeC7ahnmJA7UOhMnGeg (RSA)
Root Password   :  ekrmCSKb3ZAxXSYvNpjbiSK

Etape 4 :

PHRASE MANQUANTE

xen create /etc/xen/SE4.Manjaro.cfg
xen create /etc/xen/SE4.CachyOS.cfg
xen create /etc/xen/SE4.LinusTorvalds.cfg

On vérifie la liste des machines lancées via :

xen list
Nos résultats :
Name                                        ID   Mem VCPUs    State    Time(s)
SE4.CachyOS                                 83  2048     1     -b----       5.6
SE4.Manjaro                                 85  2048     1     -b----       5.8
SE4.LinusTorvalds                           87  2048     1     -b----       5.3

Etape 5 : Partition

Sur capbreton

On partionne avec cette commande :

lvcreate -n SE4.CachyOS.var -L 10G virtual

On éteint notre machine :

xen shutdown SE4.CachyOS

Et on modifie :

vim /etc/xen/SE4.CachyOS.cfg

Et on ajoute ceci :

disk = [
            [...],
            'phy:/dev/virtual/SE4.CachyOS.home,xvda3,w',
            'phy:/dev/virtual/SE4.CachyOS.var,xvdb1,w'
        ]
Sur la machine mandataire

Nous ajoutons les partitions dans /etc/fstab :

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

Nous formatons les partitions avant de les utiliser :

mkfs -t ext4 /dev/xvda3
mkfs -t ext4 /dev/xvdb1

Nous copions le contenu de /var :

mount /dev/xvda3 /mnt
mv /var/* /mnt
umount /mnt

Nous montons ensuite automatiquement les partitions définies dans /etc/fstab :

mount -a
De nouveaux sur capbreton

On redémarre notre machine :

xen create /etc/xen/SE4.CachyOS.cfg

Ensuite on se connecte à notre VM via :

xen console SE4.CachyOS
Machines de Service - CachyOS & Manjaro

Dans notre VM :

On modifie  :

vim /etc/network/interfaces

Et on ajoute ceci :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.10.3/24
    gateway 192.168.10.1

# Pour l'ipv6
auto eth1
iface eth1 inet6 auto
  • 172.60.0.3 est l'adresse IPV4 de la VM CachyOS
Machine Mandataire - LinusTorvalds

La machine mandataire agit comme passerelle IPv4 pour les machines de services. Voici sa configuration réseau :

La machine mandataire va posséder trois adresses. Une adresse IPv6 routée, une adresse IPv4 routée et une adresse IPv4 pour le réseau privé avec ces deux machines de services. Pour ce faire, nous devons au préalable configurer une nouvelle interface eth1 pour y intégrer la seconde adresse IPv4.

Sur capbreton, depuis /etc/xen/SE4.CachyOS.cfg :

vif = [[...], 'mac=00:16:3E:8B:45:ED,bridge=SE4']

Pour l'adresse mac on prend celui existant et on fait +1. Depuis /etc/resolv.conf :

nameserver 8.8.8.8

SSH  476  ssh   -oKexAlgorithms=+diffie-hellman-group14-sha1   -oHostKeyAlgorithms=+ssh-rsa    -oCiphers=+aes128-cbc   admin@172.27.0.3

apt update
apt upgrade

apt install ssh
apt install bind9
apt install apache2

(Dans TOUTES les VMs) On active le SSH en ajoutant dans /etc/ssh/sshd_config :

PermitRootLogin yes

Pour redemarrer le service ssh :

/etc/init.d/ssh restart

Pour la machine mandataire, ensuite après avoir reboot on peut faire dans nos machines de services :

iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.10.0/24

Mascarade

Sur la mandataire :

iptables -t nat -A PREROUTING -p tcp --dport 2202 -j DNAT --to-destination 192.168.10.3:22
iptables-save

Et on décommente cette ligne dans /etc/sysctl.conf :

net.ipv4.ip_forward=1

Et maintenant nous pouvons nous connecter à notre machine de service en ssh :

#IPV4
ssh root@193.48.57.166 -p 2202
# IPV6
ssh root@2001:660:4401:60a0:216:3eff:fe8b:45ed

DNS

Tout d'abord, il faut modifier /etc/bind/named.conf.local :

zone "archlinuxbtw.lol" {
	type master;
	file "/etc/bind/myZones/db.archlinuxbtw.lol";
	allow-transfer{secondaries;};
	notify yes;
};

acl "secondaries"{
	192.168.10.2;
	2001:660:4401:60a0:216:3eff:fe36:79d9;
};

zone "archlinux.lol" {
	type secondary;
	file "/etc/bind/backup/db.archlinux.lol";
	primaries{2001:660:4401:60a0:216:3eff:fe36:79d9;};
};

J'ai ensuite créée un dossier myZones puis j'ai créer db.archlinuxbtw.lol et j'y ai ajouter :

$TTL 400

@ IN SOA ns.archlinuxbtw.lol admin.archlinuxbtw.lol (
          3609     ; Numero de version
          21600     ; Rafraichissement (6h)
           3600     ; Re-tentative (1h)
        2592000     ; Expiration (30j)
         86400     ; Cache negatif (24h)
);

	IN	NS	ns.archlinuxbtw.lol.
	IN	NS	ns.archlinux.lol.
@	IN	A	193.48.57.166
@	IN	AAAA	2001:660:4401:60a0:216:3eff:fe8b:45ed
ns	IN	A	193.48.57.166
ns	IN	AAAA	2001:660:4401:60a0:216:3eff:fe8b:45ed

www IN CNAME archlinuxbtw.lol

Ensuite on restart le service via : service named restart


Création d'une clé

openssl req -nodes -newkey rsa:2048 -sha256 -keyout archlinuxbtw.lol.key -out archlinuxbtw.csr
DNS Checker

Notre DNS est bien reconnu et la commande dig @8.8.8.8 archlinuxbtw.lol c'est grâce au Glue records.


Génération des clés


Changement nom machine nano /etc/hostname : CachyOS

Et dans /etc/hosts:

127.0.1.1    archlinuxbtw.lol SE4.CachyOS

DNSSEC

Afin de protéger notre DNS contre des possibles attaques nous utiliserons DNSSEC. Ici nous utiliserons la politique DNSSEC : "dnspol"

Ensuite on crée le dossier keys et on donne les droits a bind d'écrire dedans avec :

mkdir /etc/bind/keys 
chown bind:bind /etc/bind/keys 
chmod 750 /etc/bind/keys

Pour ce faire, dans named.conf.local il faut rajouter les 3 lignes à partir de "key-directory" :

  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";   // DNSSEC automatique
  inline-signing yes;
  
  [...]
  
  dnssec-policy "dnspol" {
   keys {
       ksk key-directory lifetime unlimited algorithm 13;
       zsk key-directory lifetime unlimited algorithm 13;
   };
   nsec3param;
};

Pour l'activer, il faut restart bind9 avec systemctl restart bind9

Il ne reste qu'à ajouter la clé KSK sur Gandi et ensite on peut voir s'il fonctionne bien grace au site suivant : https://dnsviz.net

DNSSec


Et on peut voir que nos clefs on bien été générer :

root@CachyOS:/etc/bind# ls keys/
Karchlinuxbtw.lol.+013+24458.key      Karchlinuxbtw.lol.+013+56682.key
Karchlinuxbtw.lol.+013+24458.private  Karchlinuxbtw.lol.+013+56682.private
Karchlinuxbtw.lol.+013+24458.state    Karchlinuxbtw.lol.+013+56682.state

Apache

Dans ce repertoire /etc/apache2/sites-available  : touch archlinuxbtw.lol.conf


Je genere un crt via la commande :

openssl x509 -req -days 365 -in archlinuxbtw.csr -signkey archlinuxb

tw.lol.key -out archlinuxbtw.lol.crt


Et je deplace mes fichiers dans :

root@CachyOS:~# mv archlinuxbtw.lol.crt /etc/ssl/certs/

root@CachyOS:~# mv archlinuxbtw.lol.key /etc/ssl/private/

root@CachyOS:~# chmod 600 /etc/ssl/private/archlinuxbtw.lol.key

Pour arreter le service par defaut : a2dissite 000-default.conf

Et on verifie avec la commande : apache2ctl -S

Iptable pour atteindres les ports https : # HTTP iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.10.3:80 # HTTPS iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.10.3:443 iptables-save


iptables -A FORWARD -p tcp -d 192.168.10.3 --dport 80 -j ACCEPT

iptables -A FORWARD -p tcp -d 192.168.10.3 --dport 443 -j ACCEPT


ssh   -oKexAlgorithms=+diffie-hellman-group14-sha1   -oHostKeyAlgorithms=+ssh-rsa    -oCiphers=+aes128-cbc   admin@172.27.0.3

Effraction WiFi

Cassage WEP

Il faut tout faire sur la zabeth13 comme on avait tester sur 4 machines dans la semaine avec mon binome les cartes réseaux des autres machines ne marchent pas.

Avec ip link je vois que l'interface wifi se nomme wlx40a5ef0f679b.

On peut alors recuperer le bssid de notre réseau wifi a crack. Je suis le numéro 5 donc je dois crack la cracotte05 :

sudo airodump-ng wlx40a5ef0f679b


Je recupere :

BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

04:DA:D2:9C:50:54  -63       27        5    0   4   54e. WEP  WEP         cracotte05

Je peux alors dump correctement en filtrant seulement le bon bssid et le bon channel via cette commande :

sudo airodump-ng wlan1 --bssid 04:DA:D2:9C:50:54 -c4 --write log_airodump


Et ensuite après avir récuperer 5000 data :

sudo aircrack-ng -b 04:DA:D2:9C:50:54 log_airodump-01.cap

Cassage WPA-PKS

Ce script python permet de creer un dictionnaire :

with open("dictionnaire_8_chiffres.txt", "w") as f:
    for i in range(100000000):  # Pour générer des nombres de 00000000 à 99999999
        f.write(f"{i:08d}\n")  # Écrit le nombre avec 8 chiffres

Ensuite après execution nous pouvons recuperer le fichier .txt créer.


On récuperer le dump comme precedemment pour cette borne pour mon cas :

BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

44:AD:D9:5F:87:04  -43        3        5    2  13   54e. WPA2 CCMP   PSK  kracotte05  


Utiles

XEN

Liste des VMs allumées :

xen list

Se connecter à la VM :

xen console <nomMachine>

nomMachine : dans notre cas soit SE4.Manjaro | SE4.CachyOS | SE4.LinusTorvalds Sortir de la console xen :

Ctrl + Shift + 5

Eteindre une VM :

xen shutdown <nomMachine>

nomMachine : dans notre cas soit SE4.Manjaro | SE4.CachyOS | SE4.LinusTorvalds Allumer une VM :

xen create /etc/xen/<nomMachine>.cfg