TP sysres IMA5sc 2019/2020 G2
Sommaire
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
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
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 :
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.