TP sysres IMA5sc 2018/2019 G1 : Différence entre versions

De Wiki d'activités IMA
(Séance 3)
Ligne 202 : Ligne 202 :
  
 
Pour la partie
 
Pour la partie
 +
 +
 +
===Tests d’intrusion===
 +
 +
Dans cette section nous allons tester différentes méthodes de sécurisations
 +
 +
====Cassage de mot de passe WPA-PSK par force brute====
 +
 +
Nous avons utilisé les outils du paquetage '''aircrack-ng''' pour capturer des paquets d'identifications.
 +
 +
Notre point d'accès est '''cracotte01'''.
 +
 +
Il faut tout d'abord mettre la carte réseau wifi de notre machine de travail en mode écoute, cela est fait grâce à la commande :
 +
airmon-ng start wlp2s0
 +
avec wlp2s0 le nom de l'interface réseau wifi de notre machine.
 +
 +
Cela "supprime" notre interface wlp2s0 et en créé une autre nommé wlp2s0mon.
 +
 +
En utilisant la commande
 +
airodump-ng wlp2s0mon
 +
 +
on trouve l'adresse MAC de notre point d'accès cracotte01 :
 +
 +
<importimage>
 +
 +
On capture ensuite les paquets de handshake voulu grâce à la commande
 +
airodump-ng wlp2s0mon --channel 9 --bssid 04:DA:D:9C:50:50 --write capture
 +
 +
Une fois le paquet capturé, on peut attaquer grâce à un simple brute force par dictionnaire.
 +
 +
On suppose que la clé est composé de 8 chiffres, on créé donc un document dico.txt contenant toutes les combinaisons de 8 chiffres possibles.
 +
 +
On lance ensuite la commande
 +
aircrack-ng capture.cap -w dico.txt
 +
 +
Après <insertheure> de brute force, on récupère la clé suivante :

Version du 11 décembre 2018 à 15:08

Séance 1

Creation conteneur Unshare

export proxy ...
dd if=/dev/zero of= bs=1024k count=10240
mkfs Partition
umount Partition
mount Partition /tmp/pointd'acancrage
debootstrap stable --include=vim,apache2
unshare -p -f -m -u -n chroot /tmp/fs[1-3] /bin/sh -c "mount /proc ; /bin/bash" ; 

Configuration switch virtuelle

Création de deux interfaces liées :

ip link add vif1 type veth peer name eth0@vif1
ip link add vif2 type veth peer name eth0@vif2
ip link add vif3 type veth peer name eth0@vif3
ip link add vif4 type veth peer name eth1@vif4

Déplacement du pair dans un espace réseau différent :

ip link set eth0@vif1 netns /proc/14601/ns/net name eth0
ip link set eth0@vif2 netns /proc/14612/ns/net name eth0
ip link set eth0@vif3 netns /proc/14620/ns/net name eth0
ip link set eth1@vif4 netns /proc/14620/ns/net name eth1

Configuration réseau dans l’espace alternatif :

nsenter -t 14601 -n ip address add dev eth0 192.168.0.101/24
nsenter -t 14620 -n ip address add dev eth1 172.26.145.243/24
nsenter -t 14612 -n ip address add dev eth0 192.168.0.102/24
nsenter -t 14620 -n ip address add dev eth0 192.168.0.103/24

Routage sur routeur depuis Proxy Inverse:

ip route add default via 172.26.145.254 dev eth1

brctl show:

bridge name	bridge id		STP enabled	interfaces
br-50de43cf6b72		8000.024270463a85	no		
br-9964383bb7d2		8000.0242c526b998	no		
bridge		8000.00224d7af070	no		eth0 eth1 vif4
docker0		8000.0242e82e829c	no	veth5fcd2d1
vSwitchBanane		8000.3299e99137df	no	vif1 vif2 vif3

Activation:

ip link set vif1,2,3,4 up
ip link set vSwtichBanane up
ip link set vif4 master bridge

Flush docker:

iptables -F
iptables -F -t nat
iptables -P FORWARD ACCEPT

Ping reverse proxy vers conteneur2:

root@zabeth08:/# ping 192.168.0.102
PING 192.168.0.102 (192.168.0.102) 56(84) bytes of data.
64 bytes from 192.168.0.102: icmp_seq=19 ttl=64 time=1024 ms
64 bytes from 192.168.0.102: icmp_seq=20 ttl=64 time=0.110 ms
64 bytes from 192.168.0.102: icmp_seq=21 ttl=64 time=0.056 ms

Config Reverse Proxy

Import proxy & http_proxy libraries:

a2nmod proxy_http proxy

Dans site-available/000-config.conf:

ProxyPass /site1 http://192.168.0.101/
ProxyPassReverse /site1 http://192.168.0.101/
ProxyPass /site2 http://192.168.0.102/
ProxyPassReverse /site2 http://192.168.0.102/
ProxyRequests Off

DNS A Record sur gandi.net:

Domain > DNS Record > Type A - Name DC - TTL 1800 - Adress 172.26.145.243

10H15 => Serveurs Web OK

Installation et configuration Docker

docker create -t -i debian bash
docker run -i --network=reseau_docker -t reverse-proxy:version1
docker commit 85b84891f0ac reverse-proxy:version1
docker run -p 80:80 -i --network=reseau_docker -t reverse-proxy:version1 -> reverse proxy

10h20 Serveurs Web (docker) OK


Séance 2

Configuration des bornes Wifi

Tests sur des AP non sécurisés

On commence dans un premier temps par mettre un point d'accès non sécurisé pour tester la mise en place de plusieurs AP simultanément:

Création d'un AP de SSID test1:

Enable
Conf t
Dot11 ssid test1
Vlan 10
Authentication open
Mbssid Guest-mode
End

Création d'un AP de SSID test2:

Enable
Conf t
Dot11 ssid test2
Vlan 20
Authentication open
Mbssid Guest-mode
End

On relie les SSID à l'interface wifi dot11Radio0:

Enable
Conf t
int dot11radio0
Mbssid          // permet d'avoir plusieur SSID en guest-mode
ssid test1
ssid test2

Encapsulation des vlans dans l'interface dot11radio0:

Enable
Conf t
int dot11radio0.10
encapsulation dot1Q 10
Enable
Conf t
int dot11radio0.20
encapsulation dot1Q 20

Sécurisation des AP en WPA2-EAP

Nous avons commencé durant cette séance à tester la sécurisation des AP en WPA2-EAP

Enable
Conf t
dot11 ssid <nom_ssid>
authentication network-eap eap_methods
authentication key-management wpa
Enable
Conf t
int dot11radio0
encryption vlan 10 mode ciphers tkip
encryption vlan 20 mode ciphers tkip


Création VM

Creation Vm:

xen-create-image --hostname=thot \
  --memory=256mb \
  --vcpus=1 \
  --dir=/usr/local/xen \
  --ip=193.48.57.177 \
  --netmask=255.255.255.240 \
  --dist=stable \
  --size=10Gb \
  --swap=128mb 
ps: 7Jb7J8tqfRrPGe6S2RHJJb4

Séance 3

Mise en place d'un serveur freeradius

Installation:

 apt-get install freeradius

Configuration:

Création d'un utilisateur thot:glopglop

# Dans le fichier /etc/freeradius/3.0/users:
thot Cleartext-Password := "glopglop"

Configuration de freeradius PEAP-MSCHAPv2:


Sécurisation Wifi par WPA2-EAP

Pour la partie


Tests d’intrusion

Dans cette section nous allons tester différentes méthodes de sécurisations

Cassage de mot de passe WPA-PSK par force brute

Nous avons utilisé les outils du paquetage aircrack-ng pour capturer des paquets d'identifications.

Notre point d'accès est cracotte01.

Il faut tout d'abord mettre la carte réseau wifi de notre machine de travail en mode écoute, cela est fait grâce à la commande :

airmon-ng start wlp2s0

avec wlp2s0 le nom de l'interface réseau wifi de notre machine.

Cela "supprime" notre interface wlp2s0 et en créé une autre nommé wlp2s0mon.

En utilisant la commande

airodump-ng wlp2s0mon

on trouve l'adresse MAC de notre point d'accès cracotte01 :

<importimage>

On capture ensuite les paquets de handshake voulu grâce à la commande

airodump-ng wlp2s0mon --channel 9 --bssid 04:DA:D:9C:50:50 --write capture

Une fois le paquet capturé, on peut attaquer grâce à un simple brute force par dictionnaire.

On suppose que la clé est composé de 8 chiffres, on créé donc un document dico.txt contenant toutes les combinaisons de 8 chiffres possibles.

On lance ensuite la commande

aircrack-ng capture.cap -w dico.txt

Après <insertheure> de brute force, on récupère la clé suivante :