TP sysres IMA2a5 2015/2016 G4

De Wiki de Projets IMA

Système & Réseaux : S9


I - Configuration du point d’accès

1) Filtrage par adresse MAC

Dans cette partie, chaque élève a son propre PC avec une adresse mac unique. Ci dessous l'adresse Mac de chaque PC

NomAdresse MAC
RElax00:15:af:e6:ed:b3
Puduc00:15:af:e6:ed:c4
papi00:15:af:e7:2d:fb

Pour la récupération de l'adresse mac, il suffit d’exécuter la commande suivante : /sbin/ifconfig

Le résultat ressemble au suivant :

eth0      Link encap:Ethernet  HWaddr f0:de:f1:07:29:e3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:20 Memory:f2500000-f2520000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:207001 errors:0 dropped:0 overruns:0 frame:0
          TX packets:207001 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19842913 (19.8 MB)  TX bytes:19842913 (19.8 MB)

wlan0     Link encap:Ethernet  HWaddr 00:27:10:44:fd:40  
          inet addr:192.168.1.18  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2a01:e35:8a07:de10:227:10ff:fe44:fd40/64 Scope:Global
          inet6 addr: 2a01:e35:8a07:de10:902f:3b4d:9e94:400c/64 Scope:Global
          inet6 addr: fe80::227:10ff:fe44:fd40/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12617493 errors:0 dropped:3 overruns:0 frame:0
          TX packets:4311500 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17440919166 (17.4 GB)  TX bytes:545660742 (545.6 MB)


1) Configuration du point d’accès Cisco

Dans un premier temps, il nous faut programmer le point cisco par le biais d'une connexion série. Après avoir branché le point d’accès en mode série, on se met en mode root et on lance le programme Minicom

pifou@zabeth05:~$ su
pifou@zabeth05:~$ minicom

une fois l’accès au point wifi est réalisé, on accède à sa configuration global :

ap#enable
ap#Config t 

Ensuite, on configure notre point d’accès afin qu'il autorise l’accès a certaine adresse mac et bloque le reste :

              
ap(config)#access-list 701 permit  00:15.afe6.edb3  0000.0000.0000               
ap(config)#access-list 701 permit  0015.afe6.edc4  0000.0000.0000 
ap(config)#access-list 701 permit  0015.afe7.2dfb  0000.0000.0000
ap(config)#access-list 701 deny    0000.0000.0000  ffff.ffff.ffff 

Les adresse mac autorisé sont : 00;15:af:e6:ed:b3 et 00:15:af:e6:ed:c4 et 00:15:af:e7:2d:fb Une fois l’accès par adresse Mac est configuré, on passe ensuite par la configuration du SSID

Configuration du SSID

ap(config)#dot11 ssid T1
ap(config-ssid)#dot11 ssid T1 
ap(config-ssid)#authentication open
ap(config-ssid)#guest-mode

Ceci nous permet de definir le nom du Wifi qui est : T1. Ensuite on déclare notre wifi sur l'une des interfaceRadio du point d’accès : on choisit l'interface "dot11Radio0".

 
ap(config)#interface dot11Radio0 
ap(config-if)#ssid T1
ap(config-if)#encryption key 1
ap(config-if)#encryption key 1 size 40bit 0 ????????? transmit-key
ap(config-if)#encryption mode Wep mandatory 
ap(config-if)#no shutdown

Le réseau est crypté par une clé wep, et se lance une fois le point d’accès est allumé.

3) Configuration des eeePC

Chaque PC doit se connecter automatiquement une fois allumé, pour cela il faut modifier le fichier : /etc/network/interfaces et y mettre les informations suivants :

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
	wireless-mode managed
	wireless-essid T1
	wireless-key ??????????
	address 172.26.79.66
	netmask 255.255.240.0
	gateway 172.26.79.254

Pour prendre en compte ces modification il faut redémarrer la carte wifi

ifdow wlan0
ifup wlan0

Intrusion par Adresse Mac

Dans cette partie, on cassera la sécurité Wifi, pour cela il faut juste changer l’adresse Mac de notre PC : Pour cela, on utilise les lignes de commande suivante :

ifconfig wlan0 down
ifconfig wlan0 hw ether 00:15:af:e7:2d:fb  (PC d' Eric)
ifconfig wlan0 up


Crackage de la cle wep

Dans cette partie, on s'interessera au crackage de la cle wep, pour cela on utilise le packetage aircrack. Dans un premier temps : airmon-ng start wlan1 airmondump-ng mon0 airmondump-ng mon0 --channel 5 --write capteur --bssid 04:d4:d2;9c:50:54 mon0 aircrack-ng capture-01.cap

Crackage de la cle wpa

la particularité de ce crackage est le fait de trouver le handshak : Pour cela on commence par la ligne de commande suivante :

airodump-ng -w out --encrypt wpa -c 11 --bssid 04:d4:d2;9c:50:54 mon0

Une fois le handshak est obtenue, on crée un dictionnaire pour le bruteforce sur notre clé wpa, pour cela on cree un petit programme en C:

#include <stdio.h>

int main(){
int cpt = 0;
for(cpt=0;cpt<99999999;cpt++){
        printf("%08d\n",cpt);
}
return 0;
}

On execute le programme en redirigeant sa sortie vers le fichier dictionnaire :

./bruteforce > dico

une fois le dictionnaire est créer, on utilise aircrack-ng ainsi que notre fichier capture(avec le handshak) Le bruteforce prend une heure pour tester toutes les possibilités avant de trouver la clé wpa

                                 Aircrack-ng 1.2 beta3


                   [00:58:47] 12399908 keys tested (3597.80 k/s)


                           KEY FOUND! [ 12399905 ]


      Master Key     : 10 F5 F9 6D F5 5D 9A D7 66 CE 4D 59 A7 28 E8 FC 
                       AF FD 13 C5 BF 80 CC AB 1E 72 7F 8F 07 36 3E E5 

      Transient Key  : FD 23 BE EE 18 CA 1E 70 D5 E8 2A 44 0A B7 08 7C 
                       CD BA E5 A4 5A 34 EE 2F B4 13 2A 20 81 A7 7A 1B 
                       3E 5A E1 14 D6 4D B9 0B FA 71 D1 C7 FF 01 FE F9 
                       3A 24 2A F3 91 6F C5 AA 5A 93 6D 64 F9 BC 59 68 

      EAPOL HMAC     : DE 44 15 8A 67 04 2C FD 62 79 93 1F 08 7B 34 D6 

Partie II - Installation de ma machine virtuel

Dans cette partie, on s'occupera de la création de la machine virtuel : Dans un premier temps, on se connecte en root sur la machine cordouan

ssh root@cordouan.insecserv.deule.net // pour se connecter au serveur hébergeant nos machines virtuels 
xen-create-image --hostname dragon --ip 193.48.57.180 --netmask 255.255.255.240 --dir /usr/local/xen

Après l'installation de la machine virtuel, quelques changements sont obligatoires :

// autoriser l’accès root  
nano /etc/ssh/sshd_config allow root login (without password)->yes

// dessinstaller les packets network-manager systemd
apt-get purge network-manager systemd

// pour passer via le lien ssh au lieu du lien série
init tab ==> sur la ligne 45 on change le tty1 par hvc0

Après la configuration de notre machine virtuel, il faudra retenir que :

Pour ouvirir la machine pour la première fois ou après l'avoir éteinte  : xl create /etc/xen/[nom de la machine].cfg
Pour l'ouverture d'une machine virtuel on utilise la commande: xl console [nom de la machine]
Pour eteindre la machine on utilise la comande : halt

Configuration du DNS

Dans cette partie, on n'utilisera plus le serveur DNS de gandi mais le notre installé sur nos machines virtuelles. Pour cela il est nécessaire de modifier ces fichiers :

named.conf.local :
zone "loveandpeace.lol" {
        type master; // notre DNS est maitre et celui de gandi comme esclave
        file "/etc/bind/db.dragon";  //dans ce fichier la, on met toutes notre configuration du DNS

db.dragon :
;
; BIND data file for local loopback interface
;
$TTL    3600
@       IN      SOA     ns admin (
                              3         ; Serial  // ce numero doit être incrémenté après lors de chaque modification
                           3600         ; Refresh 
                            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.180 //adresse de ma machine virtuel
mail    IN      A       193.48.57.180
www     IN      CNAME   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;
};

installer le mail server

après la configuration du DNS, on passe à la configuration du mail, ce dernier nous aidera ensuite à la réception du certificat https de gandi. Pour cela

 apt-get install postfix // on installe postfix
 vi /etc/aliases => ajout de : admin:         root // on ajoute un utilisateur qui recevra les mail adressé à admin@loveandpeace.lol
 apt-get install mailx // on installe mailx
 apt-get install bsd-mailx // on installe bsd-mailx
 newaliases // recompiler les alias
 mailx // on vérifie notre boite mail

Sécurisation du site en https

Pour la sécurisation du site, il faut créer le fichier suivant : /etc/apache2/sites-available/000-domain.tld-ssl

  <VirtualHost 193.48.57.180:443>

        ServerName www.loveandpeace.lol
        ServerAlias loveandpeace.lol
        DocumentRoot /var/www/www.loveandpeace.lol/  //ici, on met la racine de notre site en mode https
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        // on définit le chemin des certificats obtenus chez gandi
        SSLCertificateFile /root/dragon.crt
        SSLCertificateKeyFile /root/dragon.key
        SSLCertificateChainFile /root/gandi.crt
        SSLVerifyClient None

  </VirtualHost>

Pour prendre en considération ces modifications, il faut exécuter les commandes suivantes :

// on prends en compte les modifications
a2ensite 000-domain.tld-ssl
a2enmod ssl
//on redemarre le serveur apache
service apache2 restart

Sécurisation du serveur par DNSSEC

mettant

En premier, on modifie le fichier /etc/bind/named.conf.options en mettant dnssec-enable => yes Ensuite, on cree le dossier /etc/bind/loveandpeace pour y stocker les clés Après, on execute les commandes suivantes

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom loveandpeace.lol 
// on renomme ensuite les fichiers générés
dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom loveandpeace.lol
// on renomme ensuite les fichiers générés

Après la géneration des clès on doit les prendre en compte dans le fichier db.dragon en incrémentant le "Serial" par 1

On signe les enregistrement grâce à la commande suivante : dnssec-signzone -o loveandpeace.lol -k loveandandpaece-ksk ../db.dragon loveandpeace-zsk ensuite dans le fichier named.conf.local, on modifie "/etc/bind/db.dragon"; par "/etc/bind/db.dragon.signed"; Au final, on communique la clef publique KSK à gandi.net Pour les tests on utilise le sevise suivant : http://dnsviz.net