TP sysres IMA2a5 2015/2016 G6 : Différence entre versions
Ligne 386 : | Ligne 386 : | ||
telnet 172.20.99.5 | telnet 172.20.99.5 | ||
− | + | aaa new-model | |
− | aaa authentication login eap_Werewolf group | + | aaa authentication login eap_Werewolf group radius_Werewolf |
radius-server host 193.48.57.8 auth-port 1812 acct-port 1813 key secret_Werewolf | radius-server host 193.48.57.8 auth-port 1812 acct-port 1813 key secret_Werewolf | ||
− | aaa group server radius | + | aaa group server radius radius_Werewolf |
server 193.48.57.8 auth-port 1812 acct-port 1813 | server 193.48.57.8 auth-port 1812 acct-port 1813 | ||
Ligne 412 : | Ligne 412 : | ||
exit | exit | ||
+ | Pour avoir accès depuis mon PC : | ||
+ | |||
+ | vim etc/network/interfaces | ||
+ | |||
+ | auto wlan0 | ||
+ | iface wlan0 inet static | ||
+ | wpa-ssid SSID_WEREWOLF | ||
+ | wpa-key-mgmt WPA-EAP | ||
+ | wpa-identity NirkasHunt3r | ||
+ | wpa-password Phil.ze.beat | ||
+ | address 172.20.106.6 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 172.20.106.254 | ||
+ | </pre> | ||
+ | |||
+ | J'arrive à accéder à n'importe quelle adresse de mon réseau. Cependant je n'arrive pas à aller sur internet. | ||
+ | |||
+ | Cela est résolu grâce à cette commande : | ||
+ | |||
+ | <pre> | ||
+ | wget http://193.48.57.34/dns | ||
</pre> | </pre> | ||
+ | |||
+ | Nickel ! Tout fonctionne ! |
Version du 27 novembre 2015 à 15:35
Sommaire
Projet Systèmes&Réseaux IMA2A5
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. Il se décompose en deux parties : tout d'abord une partie à réaliser seul puis d'une réalisation commune. Cette dernière comprend l'installation d'une machine virtuelle Xen, l'implantation d'un auto-commutateur téléphonique logiciel ainsi que la mise en place d'un réseau Wifi et d'un site sécurisés.
Pour ma part, dans un premier temps je m'occuperais de la configuration d'un des deux routeurs permettant la redondance.
Architecture réseau
Dans ma partie, il me fallait donc réaliser la configuration du routeur n°1 dans le but de créer une redondance. Cette dernière permettra donc dans le cas ou l'un des routeurs d'une des deux salles de TP tombe, les ordinateurs du routeur HS continueront d'avoir accès à internet.
La configuration du routeur consistait à affecter à chacun des réseaux une adresse IP. Voici le tableau reprenant le descriptif des VLAN's.
N° du VLAN | Nom | Adresse IP | Adresse Routeur 1 | Adresse Passerelle |
---|---|---|---|---|
1 | default | 172.20.99.0/24 | 172.20.99.252 | 172.20.99.254 |
2 | Puduc | 172.20.100.0/24 | 172.20.100.252 | 172.20.100.254 |
3 | Nounours | 172.20.101.0/24 | 172.20.101.252 | 172.20.101.254 |
4 | Jeuno | 172.20.102.0/24 | 172.20.102.252 | 172.20.102.254 |
5 | Relax | 172.20.103.0/24 | 172.20.103.252 | 172.20.103.254 |
6 | John | 172.20.104.0/24 | 172.20.104.252 | 172.20.104.254 |
7 | Loki | 172.20.105.0/24 | 172.20.105.252 | 172.20.105.254 |
8 | Papy | 172.20.106.0/24 | 172.20.106.252 | 172.20.106.254 |
10 | Hub | 193.48.57.176/28 | 193.48.57.188 | 193.48.57.190 |
131 | Interco | 192.168.222.8/29 | 192.168.222.9 | X |
Afin de créer la redondance on utilise l'adresse passerelle, cette dernière sera "prise" par le routeur le plus prioritaire.
Code sous minicom pour réaliser l'adressage des VLan's: - en // passage en mode administrateur - conf t - int vlan2 //modification du vlan2 - ip address 172.20.100.252 255.255.255.0 // association du l'adresse IP et du mask au vlan2 - standby 1 ip 172.20.100.254 // adresse de passerelle - standby 1 preempt //Utilisation du protocole HSRP nécessaire à la redondance - standby 1 priority 110 // priorité pour la prise de l'adresse passerelle
Code pour affecter un nom à un VLAN: - conf t - vlan8 - name Papy
Code pour affecter un port (içi pour internet) - conf t - interface GigabitEthernet 0/47 // on agit sur ce port - Sitchport mode access - switchport access vlan131 // Définition de l'association entre le port et le vlan pour internet - no shut
Code pour l'échange automatique des tables de routages : - Switch(config)#router ospf 1 -Switch(config-router)#log-adjacency-changes -Switch(config-router)#router-id 172.20.100.252 -Switch(config-router)#log-adjacency-changes -Switch(config-router)#summary-address 172.20.96.0 255.255.240.0 -Switch(config-router)#summary-address 193.48.57.176 255.255.255.240 -Switch(config-router)#redistribute connected metric 20 subnets -Switch(config-router)#network 192.168.222.8 0.0.0.7 area 2
Pour que le routeur de l'école connaîsse toutes ces adresses et vis-versa, on effectue un échange de table de routage par le protocole de routage OSPF. Letric à 20 permettra au routeur de l'école de prendre en priorité ma table de routage à celle de Clément qui lui est à 30. Dès lors que mon routeur ne sera plus en état de foncctionner, le routeur de l'école prendra directement celle de Clément.
Tests d'intrusion
Intrusion par changement d'adresse MAC
Lorsque j'ai récupéré mon EEPC, Marouanne me l'avait configuré pour que je puisse me connecter avec ce dernier sur internet. En modifiant le fichier /etc/network/interfaces, je remplace T1 par T2 et le mot de passe 0000000000 en 1111111111. De cette façon je pourrais aller sur internet en passant pas la wifi de Maxime.
RESULTAT : Impossible de me connecter au réseau. En effet mon adresse MAC n'est pas connue de Maxime donc je suis rejeté.
SOLUTION : Usurper l'identité de quelqu'un autorisé. J'ai donc pris par a force l'adresse de Gauthier 00:15:AF:E6:ED:B1
Avec une simple ligne de code : je change mon adresse MAC ! - ifconfig wlan0 down - ifconfig wlan0 hw ether 00:15:AF:E6:ED:B1 //adresse mac de Gauthier - ifconfig wlan0 up
MAGNIFIQUE je peux maintenant aller sur internet via la borne wifi de Maxime.
Cassage de clef WEP d'un point d'accès Wifi
A partir de là Linux est installé sur la machine. Je vais donc passer maintenant au crackage de la clé WEP.
Pour cela j'installe aircrack.
Code : apt-get install aircrack-ng
Modification du fichier /etc/apt/sources.list : rajout de contrib non-free Modification du fichier /etc/network/interfaces : auto eth0 iface eth0 inet static address 172.20.106.6 netmask 255.255.255.0 gateway 172.20.106.254 Modification du fichier /etc/resolv.conf : nameserver 193.48.57.34
Code : apt-get install firmware-linux-nonfree apt-get remove network-manager apt-get install broadcom-sta-dkms modprobe wl modprobe -r b44 b43 b43legacy ssb brcmsmac modprobe -r wl modprobe wl*dmseg dmseg ifconfig -a reboot
A partir de là je tape la commande airmon-ng et j'obtiens enfin wlan0, Broadcom et wl - [phy0]
code : airmon -ng start wlan1 ==> cela ne fonctionne pas grâce a dmseg on voit que c'est à cause de fail to load rt2870.bin soltion : apt-get install firmware-ralink Je stop les deux mon0 et mon1 que j'avais créé : via la commande airmon-ng stop mon1 et mon0 Je ré-ouvre une mon0. J'utilise la commande airodump-ng mon0 afin voir tous les SSID qui passent en WIFI. Ma cible étant les cracottes je filtre pour n'avoir qu'elles en selectionnant le channel 5 car elles y sont tous dessus. Code : airodump-ng mon0 --channel 5. Je ne voit que les cracottes. Je prends la cracotte qui me concerne, c'est à dire la 8. (même numéro de vlan que moi) code : airodump-ng mon0 --channel 5 --BSSID 04:da:d2:9c:50:57 ainsi je ne vois que la cracotte que je veux. Maintenant pour copier les données dans un fichier il me suffit de rajouter l'option --w nomDeFichier Grâce à la commande aircrack-ng -s *.cap : la clé WEP de la cracotte08 a été cracké : celle-ci est : aa:aa:aa:aa:aa:aa:aa:aa:aa:bb:bb:bb:bb !
Cassage de mot de passe WPA-PSK par force brute
On va commencer par créer un dictionnaire de clé :
#include <stdio.h> int main (void) { int i=0; while(i<100000000) { printf("%08d\n",i); i++; } return 0; }
Il faut ensuite récupérer le handshake :
airodump-ng mon0 --channel 7 --bssid 04:da:d2:9c:50:57 -w handshake
J'envoie le fichier handshake-01.cap sur la zabeth car le PC est beaucoup plus rapide pour réaliser le traitement et trouver la clé.
df fdisk -l mkfs /dev/sda1 mount /dev/sda1 /mnt cp handshake-01.cap /mnt umount /mnt
Une fois que le fichier est sur pifou, je lance le traitement :
aircrack-ng -w dico.txt handshake-01.cap
Après 58 minutes et 48 secondes la clé est trouvée : 12399908 !
Installation des systèmes d'exploitation
J'ai créé une machine virtuelle en me connectant sur root@cordouan.insecserv.deule.net
Code : xen-create-image --hostname Werewolf --ip 193.48.57.183 --netmask 255.255.255.240 --dir /usr/local/xen nano /etc/ssh/sshd_config allow root login (without password)->yes apt -get purge network-manager systemd init tab ==> 1:??45: ..... tty1 à remplacer par 1:??45: ..... hvc0
Hostname : Werewolf Distribution : jessie MAC Address : 00:16:3E:25:96:A7 IP Address(es) : 193.48.57.18 RSA Fingerprint : 4d:ea:00:cc:51:7f:85:92:ec:2d:c3:4e:f4:81:b1:3e Root Password : Il ne serait plus secret sinon ;)
A RETENIR :
Pour ouvrir la machine : Connexion sur Weppes puis ssh root@193.57.48.183 Pour la fermer : halt Pour rallumer la machiner si éteinte : xl create /etc/xen/Werewolf.cfg
Je commence par installer sur la machine virtuellepostfix et bsd-mailx :
apt-get install postfix vim /etc/aliases ==> rajout d'une ligne admin: root newaliases apt-get install mailx
Maintenant lorsque j'envoie un mail à partir de n'importe quelle adresse mail vers admin@hunt3r.lol, je le reçois et via la commande mailx je peux voir que j'ai reçu un mail.
En utilisant "p" je peux l'afficher.
Services Internet
Le nom de domaine que j'ai réservé est : hunt3r.lol
Sécurisation de site web par certificat
Maintenant je vais réclamer mon certificat :
Je vais sur le site de gandi Je clique sur Certificat SSL qui est actuellement inactif Je vais dans la FAQ et je cherche comment générer une CSR ? Je récupère la commande : openssl req -nodes -newkey rsa:2048 -sha256 -keyout Werewolf.key -out Werewolf.csr que j'utilise dans ma VM Country Name (2 letter code) [AU]: FR State or Province Name (full name) [Some-State]: Nord Locality Name (eg, city) []: Lille Organization Name (eg, company) [Internet Widgits Pty Ltd]: PolytechLille Organizational Unit Namec SSLCertificateChainFile. (eg, section) []: Common Name (eg, YOUR name) []: hunt3r.lol Email Address []: admin@hunt3r.lol A challenge password []: An optional company name []: Il me génère donc deux fichiers, le .csr et le .key J'ouvre le fichier Werewolf.csr que je copie colle dans le champ CSR sur gandi. Je valide le tout et à présent sur le site de gandi j'ai : Certificat SSL : hunt3r.lol (et non plus inactif) Je valide ma demande grâce au code reçu dans ma boite mail hunt3r et j'attends le certificat. Une fois reçu je crée un fichier Werewolf.cer et je colle le certificat que j'ai récupéré. Même chose pour les certificats intermédiaire.
Je peux commencer alors la configuration d'apache2 avec mon certificat :
cd /etc/apache2/sites-available vim default-ssl.conf SSLCertificateFile /root/Werewolf.cer SSLCertificateKeyFile /root/Werewolf.key #SSLCertificateChainFile /root/WerewolfInter.cer 3 commandes me permettent de mettre en route le tout : a2ensite default-ssl a2enmod ssl service apache2 restart
Une fois cela fait, lorsque je vais sur ma page internet je remarque je peux y aller à la fois normalement c'est à dire en écrivant : http://www.hunt3r.lol/ mais aussi en utilisant la connexion sécurisée : https://www.hunt3r.lol/. On remarque qu'avec l'https on a bien un cadenas.
Sécurisation de serveur DNS par DNSSEC
cd /etc/bind vim named.conf.options ==> rajout de l'option dnssec-enable yes; mkdir hunt3r.dnssec cd hunt3r.dnssec dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom hunt3r.dnssec dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom hunt3r.dnssec Je renomme les fichiers créé en : *hunt3r-ksk.key *hunt3r-ksk.private *hunt3r-zsk.key *hunt3r-zsk.private J'inclus dans le fichier db.hunt3r : *$include /etc/bind/hunt3r.dnssec/hunt3r-ksk.key *$include /etc/bind/hunt3r.dnssec/hunt3r-zsk.key dnssec-signzone -o hunt3r.lol -k hunt3r-ksk ../db.hunter hunt3r-zsk Modification du fichier named.conf.local ==> db.hunt3r.signed service bind9 restart Copie de la clé KSK sur le site de gandi dans l'onglet gérer DNSSEC
Réalisation
Installation de LINUX sur les nouveaux PC HP
J'ai allumé le nouveau PC et j'ai configuré son nom avec le thème Poisson : perche. [1]
Ensuite je redémarre le PC avec le mode boot (F9) puis je fais F10. Je vais dans System Configurations. Je change la langue en français puis je vais dans option d'amorçage et je désactive le démarrage sécurisé. Il faut quitter et sauvegarder. Entrer le code 8370 + entrer. Redémarrer et faire F9, puis reboot sur la clé usb sur laquelle on a monté l'image de Debian GNU/Linux 8.2.0 à l'aide de cette commande :
Code : root@zabeth09:/tmp# dd if=debian-8.2.0-amd64-netinst.iso of=/dev/sdb
On va donc configurer le réseau nous-même. Adresse IP : 172.20.106.6 Mask : 255.255.255.0 Adresse passerelle : 172.20.106.254 Adresse des serveurs de noms : 193.48.57.34 Nom de machine : perche Domaine : deule.net Mot de passe pour superutilisateur : celui de d'habitude pour un root Nouvel utilisateur : pifou Mot de passe nouvel utilisateur : celui de d'habitude pour pifou Arrivée au partitionnement : J'ai cliqué sur manuel puis sur le n°3 qui avait 22 Gb. J'ai partitionné à 8Gb de façon à avoir 8Gb pour Windows ( on s'en fou de lui) et 14.6Gb pour nous. J'ai ensuite cliqué partitionnement assisté et utiliser le plus grand espace disponible. Nom du miroir de l'archive Debian : debian.polytech-lille.fr Mandataire HTTP : http://proxy.polytech-lille.fr:3128 Logiciels à installer : Xfce, service SSH et utilitaies usuels du système (à valider à l'aider de la barre espace)
Sécurisation Wifi par WPA2-EAP
Maintenant je vais m'attaquer à la protection de l'accès à la borne Wifi de façon à ce qu'il soit controlé par WPA2-EAP. Pour cela je me connecte à ma VM et je réalise la configuration:
apt-get install FreeRadius cd /etc/bind/freeradius Modification de 3 fichiers : vim eap.conf default-eap-type = peap vim client.conf client 172.20.99.0/24 { secret = secret_Werewolf shortname = wifi } vim users On enlève les commentaires au niveau de John Doe et de son mot de passe, de cette façon on aura un utilisateur. telnet 172.20.99.5 aaa new-model aaa authentication login eap_Werewolf group radius_Werewolf radius-server host 193.48.57.8 auth-port 1812 acct-port 1813 key secret_Werewolf aaa group server radius radius_Werewolf server 193.48.57.8 auth-port 1812 acct-port 1813 dot11 ssid SSID_WEREWOLF vlan 8 authentication open eap eap_Werewolf authentication network-eap eap_Werewolf authentication key-management wpa encryption vlan 8 mode ciphers aes-ccm tkip ssid SSID_WEREWOLF int dot11Radio 0.8 en encapsulation dot1Q 8 bridge-group 8 exit int gig0.8 en encapsulation dot1Q 8 bridge-group 8 exit Pour avoir accès depuis mon PC : vim etc/network/interfaces auto wlan0 iface wlan0 inet static wpa-ssid SSID_WEREWOLF wpa-key-mgmt WPA-EAP wpa-identity NirkasHunt3r wpa-password Phil.ze.beat address 172.20.106.6 netmask 255.255.255.0 gateway 172.20.106.254
J'arrive à accéder à n'importe quelle adresse de mon réseau. Cependant je n'arrive pas à aller sur internet.
Cela est résolu grâce à cette commande :
wget http://193.48.57.34/dns
Nickel ! Tout fonctionne !