TP sysres IMA2a5 2015/2016 G4 : Différence entre versions
(3 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 52 : | Ligne 52 : | ||
<h4>1) Configuration du point d’accès Cisco </h4> | <h4>1) Configuration du point d’accès Cisco </h4> | ||
− | Dans un premier temps, il nous faut programmer le point cisco par le biais d'une | + | Dans un premier temps, il nous faut programmer le point cisco par le biais d'une connexion série. |
Après avoir branché le point d’accès en mode série, on se met en mode root et on lance le programme Minicom | Après avoir branché le point d’accès en mode série, on se met en mode root et on lance le programme Minicom | ||
Ligne 60 : | Ligne 60 : | ||
</pre> | </pre> | ||
− | une fois | + | une fois l’accès au point wifi est réalisé, on accède à sa configuration global : |
<pre> | <pre> | ||
ap#enable | ap#enable | ||
Ligne 66 : | Ligne 66 : | ||
</pre> | </pre> | ||
− | Ensuite, on configure notre point | + | Ensuite, on configure notre point d’accès afin qu'il autorise l’accès a certaine adresse mac et bloque le reste : |
<pre> | <pre> | ||
− | ap(config)#access-list 701 permit | + | ap(config)#access-list 701 permit 00:15.afe6.edb3 0000.0000.0000 |
ap(config)#access-list 701 permit 0015.afe6.edc4 0000.0000.0000 | ap(config)#access-list 701 permit 0015.afe6.edc4 0000.0000.0000 | ||
ap(config)#access-list 701 permit 0015.afe7.2dfb 0000.0000.0000 | ap(config)#access-list 701 permit 0015.afe7.2dfb 0000.0000.0000 | ||
ap(config)#access-list 701 deny 0000.0000.0000 ffff.ffff.ffff | ap(config)#access-list 701 deny 0000.0000.0000 ffff.ffff.ffff | ||
</pre> | </pre> | ||
− | + | Les adresse mac autorisé sont : 00;15:af:e6:ed:b3 et 00:15:af:e6:ed:c4 et 00:15:af:e7:2d:fb | |
Une fois l’accès par adresse Mac est configuré, on passe ensuite par la configuration du SSID | Une fois l’accès par adresse Mac est configuré, on passe ensuite par la configuration du SSID | ||
Ligne 94 : | Ligne 94 : | ||
ap(config-if)#no shutdown | ap(config-if)#no shutdown | ||
</pre> | </pre> | ||
− | Le réseau est crypté par une clé wep, et | + | Le réseau est crypté par une clé wep, et se lance une fois le point d’accès est allumé. |
<h4>3) Configuration des eeePC </h4> | <h4>3) Configuration des eeePC </h4> | ||
Ligne 142 : | Ligne 142 : | ||
<h4>Crackage de la cle wpa</h4> | <h4>Crackage de la cle wpa</h4> | ||
la particularité de ce crackage est le fait de trouver le handshak : | la particularité de ce crackage est le fait de trouver le handshak : | ||
− | Pour cela on | + | Pour cela on commence par la ligne de commande suivante : |
<pre> | <pre> | ||
airodump-ng -w out --encrypt wpa -c 11 --bssid 04:d4:d2;9c:50:54 mon0 | airodump-ng -w out --encrypt wpa -c 11 --bssid 04:d4:d2;9c:50:54 mon0 | ||
</pre> | </pre> | ||
− | Une fois le handshak est | + | Une fois le handshak est obtenue, on crée un dictionnaire pour le bruteforce sur notre clé wpa, pour cela on cree un petit programme en C: |
<pre> | <pre> | ||
#include <stdio.h> | #include <stdio.h> | ||
Ligne 163 : | Ligne 163 : | ||
</pre> | </pre> | ||
une fois le dictionnaire est créer, on utilise aircrack-ng ainsi que notre fichier capture(avec le handshak) | une fois le dictionnaire est créer, on utilise aircrack-ng ainsi que notre fichier capture(avec le handshak) | ||
− | + | Le bruteforce prend une heure pour tester toutes les possibilités avant de trouver la clé wpa | |
<pre> | <pre> | ||
Aircrack-ng 1.2 beta3 | Aircrack-ng 1.2 beta3 | ||
Ligne 189 : | Ligne 189 : | ||
Dans cette partie, on s'occupera de la création de la machine virtuel : | Dans cette partie, on s'occupera de la création de la machine virtuel : | ||
+ | Dans un premier temps, on se connecte en root sur la machine cordouan | ||
<pre> | <pre> | ||
ssh root@cordouan.insecserv.deule.net // pour se connecter au serveur hébergeant nos machines virtuels | ssh root@cordouan.insecserv.deule.net // pour se connecter au serveur hébergeant nos machines virtuels | ||
− | xen-create-image --hostname dragon --ip 193.48.57. | + | xen-create-image --hostname dragon --ip 193.48.57.180 --netmask 255.255.255.240 --dir /usr/local/xen |
</pre> | </pre> | ||
− | Après l'installation de la machine virtuel, | + | Après l'installation de la machine virtuel, quelques changements sont obligatoires : |
<pre> | <pre> | ||
− | // autoriser | + | // autoriser l’accès root |
nano /etc/ssh/sshd_config allow root login (without password)->yes | nano /etc/ssh/sshd_config allow root login (without password)->yes | ||
+ | |||
// dessinstaller les packets network-manager systemd | // dessinstaller les packets network-manager systemd | ||
apt-get purge network-manager systemd | apt-get purge network-manager systemd | ||
+ | |||
// pour passer via le lien ssh au lieu du lien série | // pour passer via le lien ssh au lieu du lien série | ||
init tab ==> sur la ligne 45 on change le tty1 par hvc0 | init tab ==> sur la ligne 45 on change le tty1 par hvc0 | ||
</pre> | </pre> | ||
− | Après la configuration de notre machine virtuel, il faudra retenir : | + | Après la configuration de notre machine virtuel, il faudra retenir que : |
<pre> | <pre> | ||
− | Pour ouvirir la machine pour la première fois ou après l'avoir éteinte : xl create /etc/xen/ | + | Pour ouvirir la machine pour la première fois ou après l'avoir éteinte : xl create /etc/xen/[nom de la machine].cfg |
− | Pour l'ouverture d'une machine virtuel on utilise la commande: xl console | + | Pour l'ouverture d'une machine virtuel on utilise la commande: xl console [nom de la machine] |
Pour eteindre la machine on utilise la comande : halt | Pour eteindre la machine on utilise la comande : halt | ||
</pre> | </pre> | ||
+ | <h3> Configuration du DNS </h3> | ||
+ | Dans cette partie, on n'utilisera plus le serveur DNS de gandi mais le notre installé sur nos machines virtuelles. | ||
+ | Pour cela il est nécessaire de modifier ces fichiers : | ||
+ | |||
+ | <pre> | ||
+ | named.conf.local : | ||
+ | zone "loveandpeace.lol" { | ||
+ | type master; // notre DNS est maitre et celui de gandi comme esclave | ||
+ | file "/etc/bind/db.dragon"; //dans ce fichier la, on met toutes notre configuration du DNS | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | db.dragon : | ||
+ | ; | ||
+ | ; BIND data file for local loopback interface | ||
+ | ; | ||
+ | $TTL 3600 | ||
+ | @ IN SOA ns admin ( | ||
+ | 3 ; Serial // ce numero doit être incrémenté après lors de chaque modification | ||
+ | 3600 ; Refresh | ||
+ | 600 ; Retry | ||
+ | 36000 ; Expire | ||
+ | 3600 ) ; Negative Cache TTL | ||
+ | ; | ||
+ | @ IN NS ns | ||
+ | @ IN NS ns6.gandi.net. | ||
+ | @ IN MX 100 mail | ||
+ | |||
+ | ns IN A 193.48.57.180 //adresse de ma machine virtuel | ||
+ | mail IN A 193.48.57.180 | ||
+ | www IN CNAME ns | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | named.conf.options : | ||
+ | options { | ||
+ | directory "/var/cache/bind"; | ||
+ | |||
+ | dnssec-validation auto; | ||
+ | |||
+ | auth-nxdomain no; # conform to RFC1035 | ||
+ | listen-on-v6 { any; }; | ||
+ | allow-transfer { "allowed_to_transfer"; }; | ||
+ | }; | ||
+ | |||
+ | acl "allowed_to_transfer" { | ||
+ | 217.70.177.40/32; | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
<h3> installer le mail server </h3> | <h3> installer le mail server </h3> | ||
+ | après la configuration du DNS, on passe à la configuration du mail, ce dernier nous aidera ensuite à la réception du certificat https de gandi. | ||
+ | Pour cela | ||
+ | <pre> | ||
+ | apt-get install postfix // on installe postfix | ||
+ | vi /etc/aliases => ajout de : admin: root // on ajoute un utilisateur qui recevra les mail adressé à admin@loveandpeace.lol | ||
+ | apt-get install mailx // on installe mailx | ||
+ | apt-get install bsd-mailx // on installe bsd-mailx | ||
+ | newaliases // recompiler les alias | ||
+ | mailx // on vérifie notre boite mail | ||
+ | </pre> | ||
+ | <h3> Sécurisation du site en https</h3> | ||
+ | Pour la sécurisation du site, il faut créer le fichier suivant : /etc/apache2/sites-available/000-domain.tld-ssl | ||
<pre> | <pre> | ||
− | + | <VirtualHost 193.48.57.180:443> | |
− | + | ||
− | + | ServerName www.loveandpeace.lol | |
− | + | ServerAlias loveandpeace.lol | |
− | + | DocumentRoot /var/www/www.loveandpeace.lol/ //ici, on met la racine de notre site en mode https | |
− | + | CustomLog /var/log/apache2/secure_access.log combined | |
+ | |||
+ | SSLEngine on | ||
+ | // on définit le chemin des certificats obtenus chez gandi | ||
+ | SSLCertificateFile /root/dragon.crt | ||
+ | SSLCertificateKeyFile /root/dragon.key | ||
+ | SSLCertificateChainFile /root/gandi.crt | ||
+ | SSLVerifyClient None | ||
+ | |||
+ | </VirtualHost> | ||
</pre> | </pre> | ||
+ | Pour prendre en considération ces modifications, il faut exécuter les commandes suivantes : | ||
<pre> | <pre> | ||
− | + | // on prends en compte les modifications | |
− | + | a2ensite 000-domain.tld-ssl | |
− | + | a2enmod ssl | |
− | + | //on redemarre le serveur apache | |
− | + | service apache2 restart | |
− | + | </pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | <h3> Sécurisation du serveur par DNSSEC</h3>mettant | ||
+ | En premier, on modifie le fichier /etc/bind/named.conf.options en mettant dnssec-enable => yes | ||
+ | Ensuite, on cree le dossier /etc/bind/loveandpeace pour y stocker les clés | ||
+ | Après, on execute les commandes suivantes | ||
+ | |||
+ | <pre> | ||
+ | dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom loveandpeace.lol | ||
+ | // on renomme ensuite les fichiers générés | ||
+ | dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom loveandpeace.lol | ||
+ | // on renomme ensuite les fichiers générés | ||
</pre> | </pre> | ||
+ | |||
+ | Après la géneration des clès on doit les prendre en compte dans le fichier db.dragon en incrémentant le "Serial" par 1 | ||
+ | |||
+ | On signe les enregistrement grâce à la commande suivante : | ||
+ | dnssec-signzone -o loveandpeace.lol -k loveandandpaece-ksk ../db.dragon loveandpeace-zsk | ||
+ | ensuite dans le fichier named.conf.local, on modifie "/etc/bind/db.dragon"; par "/etc/bind/db.dragon.signed"; | ||
+ | Au final, on communique la clef publique KSK à gandi.net | ||
+ | Pour les tests on utilise le sevise suivant : http://dnsviz.net |
Version actuelle datée du 6 décembre 2015 à 22:12
Sommaire
Système & Réseaux : S9
I - Configuration du point d’accès
1) Filtrage par adresse MAC
Dans cette partie, chaque élève a son propre PC avec une adresse mac unique. Ci dessous l'adresse Mac de chaque PC
Nom | Adresse MAC |
---|---|
RElax | 00:15:af:e6:ed:b3 |
Puduc | 00:15:af:e6:ed:c4 |
papi | 00:15:af:e7:2d:fb |
Pour la récupération de l'adresse mac, il suffit d’exécuter la commande suivante : /sbin/ifconfig
Le résultat ressemble au suivant :
eth0 Link encap:Ethernet HWaddr f0:de:f1:07:29:e3 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:20 Memory:f2500000-f2520000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:207001 errors:0 dropped:0 overruns:0 frame:0 TX packets:207001 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:19842913 (19.8 MB) TX bytes:19842913 (19.8 MB) wlan0 Link encap:Ethernet HWaddr 00:27:10:44:fd:40 inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: 2a01:e35:8a07:de10:227:10ff:fe44:fd40/64 Scope:Global inet6 addr: 2a01:e35:8a07:de10:902f:3b4d:9e94:400c/64 Scope:Global inet6 addr: fe80::227:10ff:fe44:fd40/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:12617493 errors:0 dropped:3 overruns:0 frame:0 TX packets:4311500 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:17440919166 (17.4 GB) TX bytes:545660742 (545.6 MB)
1) Configuration du point d’accès Cisco
Dans un premier temps, il nous faut programmer le point cisco par le biais d'une connexion série. Après avoir branché le point d’accès en mode série, on se met en mode root et on lance le programme Minicom
pifou@zabeth05:~$ su pifou@zabeth05:~$ minicom
une fois l’accès au point wifi est réalisé, on accède à sa configuration global :
ap#enable ap#Config t
Ensuite, on configure notre point d’accès afin qu'il autorise l’accès a certaine adresse mac et bloque le reste :
ap(config)#access-list 701 permit 00:15.afe6.edb3 0000.0000.0000 ap(config)#access-list 701 permit 0015.afe6.edc4 0000.0000.0000 ap(config)#access-list 701 permit 0015.afe7.2dfb 0000.0000.0000 ap(config)#access-list 701 deny 0000.0000.0000 ffff.ffff.ffff
Les adresse mac autorisé sont : 00;15:af:e6:ed:b3 et 00:15:af:e6:ed:c4 et 00:15:af:e7:2d:fb Une fois l’accès par adresse Mac est configuré, on passe ensuite par la configuration du SSID
Configuration du SSID
ap(config)#dot11 ssid T1 ap(config-ssid)#dot11 ssid T1 ap(config-ssid)#authentication open ap(config-ssid)#guest-mode
Ceci nous permet de definir le nom du Wifi qui est : T1. Ensuite on déclare notre wifi sur l'une des interfaceRadio du point d’accès : on choisit l'interface "dot11Radio0".
ap(config)#interface dot11Radio0 ap(config-if)#ssid T1 ap(config-if)#encryption key 1 ap(config-if)#encryption key 1 size 40bit 0 ????????? transmit-key ap(config-if)#encryption mode Wep mandatory ap(config-if)#no shutdown
Le réseau est crypté par une clé wep, et se lance une fois le point d’accès est allumé.
3) Configuration des eeePC
Chaque PC doit se connecter automatiquement une fois allumé, pour cela il faut modifier le fichier : /etc/network/interfaces et y mettre les informations suivants :
source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static wireless-mode managed wireless-essid T1 wireless-key ?????????? address 172.26.79.66 netmask 255.255.240.0 gateway 172.26.79.254
Pour prendre en compte ces modification il faut redémarrer la carte wifi
ifdow wlan0 ifup wlan0
Intrusion par Adresse Mac
Dans cette partie, on cassera la sécurité Wifi, pour cela il faut juste changer l’adresse Mac de notre PC : Pour cela, on utilise les lignes de commande suivante :
ifconfig wlan0 down ifconfig wlan0 hw ether 00:15:af:e7:2d:fb (PC d' Eric) ifconfig wlan0 up
Crackage de la cle wep
Dans cette partie, on s'interessera au crackage de la cle wep, pour cela on utilise le packetage aircrack. Dans un premier temps : airmon-ng start wlan1 airmondump-ng mon0 airmondump-ng mon0 --channel 5 --write capteur --bssid 04:d4:d2;9c:50:54 mon0 aircrack-ng capture-01.cap
Crackage de la cle wpa
la particularité de ce crackage est le fait de trouver le handshak : Pour cela on commence par la ligne de commande suivante :
airodump-ng -w out --encrypt wpa -c 11 --bssid 04:d4:d2;9c:50:54 mon0
Une fois le handshak est obtenue, on crée un dictionnaire pour le bruteforce sur notre clé wpa, pour cela on cree un petit programme en C:
#include <stdio.h> int main(){ int cpt = 0; for(cpt=0;cpt<99999999;cpt++){ printf("%08d\n",cpt); } return 0; }
On execute le programme en redirigeant sa sortie vers le fichier dictionnaire :
./bruteforce > dico
une fois le dictionnaire est créer, on utilise aircrack-ng ainsi que notre fichier capture(avec le handshak) Le bruteforce prend une heure pour tester toutes les possibilités avant de trouver la clé wpa
Aircrack-ng 1.2 beta3 [00:58:47] 12399908 keys tested (3597.80 k/s) KEY FOUND! [ 12399905 ] Master Key : 10 F5 F9 6D F5 5D 9A D7 66 CE 4D 59 A7 28 E8 FC AF FD 13 C5 BF 80 CC AB 1E 72 7F 8F 07 36 3E E5 Transient Key : FD 23 BE EE 18 CA 1E 70 D5 E8 2A 44 0A B7 08 7C CD BA E5 A4 5A 34 EE 2F B4 13 2A 20 81 A7 7A 1B 3E 5A E1 14 D6 4D B9 0B FA 71 D1 C7 FF 01 FE F9 3A 24 2A F3 91 6F C5 AA 5A 93 6D 64 F9 BC 59 68 EAPOL HMAC : DE 44 15 8A 67 04 2C FD 62 79 93 1F 08 7B 34 D6
Partie II - Installation de ma machine virtuel
Dans cette partie, on s'occupera de la création de la machine virtuel : Dans un premier temps, on se connecte en root sur la machine cordouan
ssh root@cordouan.insecserv.deule.net // pour se connecter au serveur hébergeant nos machines virtuels xen-create-image --hostname dragon --ip 193.48.57.180 --netmask 255.255.255.240 --dir /usr/local/xen
Après l'installation de la machine virtuel, quelques changements sont obligatoires :
// autoriser l’accès root nano /etc/ssh/sshd_config allow root login (without password)->yes // dessinstaller les packets network-manager systemd apt-get purge network-manager systemd // pour passer via le lien ssh au lieu du lien série init tab ==> sur la ligne 45 on change le tty1 par hvc0
Après la configuration de notre machine virtuel, il faudra retenir que :
Pour ouvirir la machine pour la première fois ou après l'avoir éteinte : xl create /etc/xen/[nom de la machine].cfg Pour l'ouverture d'une machine virtuel on utilise la commande: xl console [nom de la machine] Pour eteindre la machine on utilise la comande : halt
Configuration du DNS
Dans cette partie, on n'utilisera plus le serveur DNS de gandi mais le notre installé sur nos machines virtuelles. Pour cela il est nécessaire de modifier ces fichiers :
named.conf.local : zone "loveandpeace.lol" { type master; // notre DNS est maitre et celui de gandi comme esclave file "/etc/bind/db.dragon"; //dans ce fichier la, on met toutes notre configuration du DNS
db.dragon : ; ; BIND data file for local loopback interface ; $TTL 3600 @ IN SOA ns admin ( 3 ; Serial // ce numero doit être incrémenté après lors de chaque modification 3600 ; Refresh 600 ; Retry 36000 ; Expire 3600 ) ; Negative Cache TTL ; @ IN NS ns @ IN NS ns6.gandi.net. @ IN MX 100 mail ns IN A 193.48.57.180 //adresse de ma machine virtuel mail IN A 193.48.57.180 www IN CNAME ns };
named.conf.options : options { directory "/var/cache/bind"; dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
installer le mail server
après la configuration du DNS, on passe à la configuration du mail, ce dernier nous aidera ensuite à la réception du certificat https de gandi. Pour cela
apt-get install postfix // on installe postfix vi /etc/aliases => ajout de : admin: root // on ajoute un utilisateur qui recevra les mail adressé à admin@loveandpeace.lol apt-get install mailx // on installe mailx apt-get install bsd-mailx // on installe bsd-mailx newaliases // recompiler les alias mailx // on vérifie notre boite mail
Sécurisation du site en https
Pour la sécurisation du site, il faut créer le fichier suivant : /etc/apache2/sites-available/000-domain.tld-ssl
<VirtualHost 193.48.57.180:443> ServerName www.loveandpeace.lol ServerAlias loveandpeace.lol DocumentRoot /var/www/www.loveandpeace.lol/ //ici, on met la racine de notre site en mode https CustomLog /var/log/apache2/secure_access.log combined SSLEngine on // on définit le chemin des certificats obtenus chez gandi SSLCertificateFile /root/dragon.crt SSLCertificateKeyFile /root/dragon.key SSLCertificateChainFile /root/gandi.crt SSLVerifyClient None </VirtualHost>
Pour prendre en considération ces modifications, il faut exécuter les commandes suivantes :
// on prends en compte les modifications a2ensite 000-domain.tld-ssl a2enmod ssl //on redemarre le serveur apache service apache2 restart
Sécurisation du serveur par DNSSEC
mettantEn premier, on modifie le fichier /etc/bind/named.conf.options en mettant dnssec-enable => yes Ensuite, on cree le dossier /etc/bind/loveandpeace pour y stocker les clés Après, on execute les commandes suivantes
dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE -r /dev/urandom loveandpeace.lol // on renomme ensuite les fichiers générés dnssec-keygen -a RSASHA1 -b 1024 -n ZONE -r /dev/urandom loveandpeace.lol // on renomme ensuite les fichiers générés
Après la géneration des clès on doit les prendre en compte dans le fichier db.dragon en incrémentant le "Serial" par 1
On signe les enregistrement grâce à la commande suivante : dnssec-signzone -o loveandpeace.lol -k loveandandpaece-ksk ../db.dragon loveandpeace-zsk ensuite dans le fichier named.conf.local, on modifie "/etc/bind/db.dragon"; par "/etc/bind/db.dragon.signed"; Au final, on communique la clef publique KSK à gandi.net Pour les tests on utilise le sevise suivant : http://dnsviz.net