<?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=Vlorthio</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=Vlorthio"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Vlorthio"/>
		<updated>2026-05-14T07:21:01Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2019/2020_G3&amp;diff=51915</id>
		<title>TP sysres IMA5sc 2019/2020 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2019/2020_G3&amp;diff=51915"/>
				<updated>2019-12-29T15:34:32Z</updated>
		
		<summary type="html">&lt;p&gt;Vlorthio : /* Cryptage de données */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Prélude==&lt;br /&gt;
&lt;br /&gt;
Suite au choix du thème, nous avons choisi comme nom de domaine herpesgenital&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architecture réseau==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Machine virtuelle Xen==&lt;br /&gt;
&lt;br /&gt;
===Création et configuration===&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle sera sur installée sur Cordouan. On s'y connecte donc en ssh :&lt;br /&gt;
 $ ssh root@cordouan.insecserv.deule.net&lt;br /&gt;
&lt;br /&gt;
On peut ensuite créer la machine virtuelle Xen :&lt;br /&gt;
(On n'oublie pas de fixer les paramètres de proxy)&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
 $ export https_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
 $ xen-create-image --hostname=herpesgenital --dhcp --dir=/usr/local/xen --force&lt;br /&gt;
&lt;br /&gt;
On peut alors observer le mot de passe root dans le fichier suivant :&lt;br /&gt;
 $ tail /var/log/xen-tools/herpesgenital.log&lt;br /&gt;
&lt;br /&gt;
On va ensuite modifier le fichier de configuration de la machine virtuelle (/etc/xen/herpesgenital.cfg). On modifie la ligne suivante pour ajouter le bridge :&lt;br /&gt;
 vif = [ 'mac=00:16:3E:2B:55:6A,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut vérifier la configuration des bridges via la commande :&lt;br /&gt;
 $ brctl show&lt;br /&gt;
&lt;br /&gt;
On peut alors ensuite finaliser la création de la machine virtuelle puis interragir avec elle via le terminal :&lt;br /&gt;
 $ xl create /etc/xen/herpesgenital.cfg&lt;br /&gt;
 $ xl console herpesgenital&lt;br /&gt;
&lt;br /&gt;
Il est possible de se connecter en root avec le mot de passe récupéré précédemment puis modifier ce mot de passe via la commande&lt;br /&gt;
 $ passwd root&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''VOIR LE PARTIONNEMENT'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On ajoute l'adresse IP de notre VM en modifiant le fichier ''/etc/network/interfaces'' :&lt;br /&gt;
  auto eth0&lt;br /&gt;
  iface eth0 inet static&lt;br /&gt;
   address 193.48.57.179&lt;br /&gt;
   netmask 255.255.255.240&lt;br /&gt;
   gateway 193.48.57.190&lt;br /&gt;
&lt;br /&gt;
Puis on peut activer la connexion en ssh à notre VM sur le fichier suiviant en décommentant la ligne '''PermitRootLogin yes'''&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
===Seconde machine virtuelle privée===&lt;br /&gt;
&lt;br /&gt;
On peut alors créer une seconde marchine virtuelle Xen comme prédédemment mais qui est cette fois privée (private-herpesgenital).&lt;br /&gt;
Celle ci contiendra les serveur web de chacun des binômes.&lt;br /&gt;
&lt;br /&gt;
Pour autoriser le routage :&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/forwarding&lt;br /&gt;
&lt;br /&gt;
Sur notre machine virtuelle principale (herpesgenital) on peut créer une mascarade provisoire pour notre seconde machine virtuelle.&lt;br /&gt;
 $ iptables -P FORWARD DROP&lt;br /&gt;
 $ iptables -A FORWARD -j ACCEPT -s 172.26.16.0/20&lt;br /&gt;
 $ iptables -A FORWARD -j ACCEPT -d 172.26.16.0/20&lt;br /&gt;
 $ iptables -t nat -A POSTROUTING -j MASQUERADE -s 172.26.16.0/20&lt;br /&gt;
&lt;br /&gt;
On peut alors ping google.fr depuis private-herpesgenital pour vérifier que la masquarade provisoire est opérationnelle.&lt;br /&gt;
&lt;br /&gt;
Pour rendre la masquarade persistante, on installe le paquet ''iptables-persistent'' sur herpesgenital puis dans le fichier ''/etc/sysctl.conf'' on décommente la ligne '''net.ipv4.ip_forward=1''' puis on recharge les nouveau paramètres avec :&lt;br /&gt;
 $ sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
On peut alors générer une paire de clés (publique-privée) pour la connexion en ssh :&lt;br /&gt;
 $ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
On peut ensuite via ssh (en utilisant toujours un mot de passe), ajouter notre clé à la liste des clés authorisés sur l'ensemble des machines private.&lt;br /&gt;
 $ cat .ssh/id_rsa.pub | ssh 192.168.0.3 &amp;quot;cat &amp;gt;&amp;gt; /root/.ssh/authorized_keys2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On peut alors maintenant se connecter directement aux machines virtuelles private avec notre clé sur herpesgenital et sans mot de passe.&lt;br /&gt;
&lt;br /&gt;
===Ansible===&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser ansible pour configurer les serveur web.&lt;br /&gt;
&lt;br /&gt;
Pour réaliser l'inventaire ansible, on modifie /etc/ansible/hosts pour définir notre machine private ('''interne''') ainsi que celles des autres groupes('''serveur-web''').&lt;br /&gt;
&lt;br /&gt;
  all:&lt;br /&gt;
   hosts:&lt;br /&gt;
     interne:&lt;br /&gt;
       ansible_host: 192.168.0.3&lt;br /&gt;
   children:&lt;br /&gt;
     serveur_web:&lt;br /&gt;
       hosts:&lt;br /&gt;
         192.168.0.[1:6]:&lt;br /&gt;
&lt;br /&gt;
On crée un dosssier roles dans ''/etc/ansible'' puis dans ce dossier ''roles'' on crée un nouveau rôle '''corneille''' via&lt;br /&gt;
 $ ansible-galaxy init corneille&lt;br /&gt;
&lt;br /&gt;
Le rôle '''corneille''' a pour but de modifier le message of the day ainsi que de mettre en place NTP pour configurer la synchronisation de l'horloge.&lt;br /&gt;
Le rôle est défini dans le fichier /etc/ansible/roles/corneille/tasks/main.yml&lt;br /&gt;
  ---&lt;br /&gt;
   - name: motd_copy&lt;br /&gt;
     copy:&lt;br /&gt;
       dest: /etc/motd&lt;br /&gt;
       src: motd&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_install&lt;br /&gt;
     apt:&lt;br /&gt;
       state: present&lt;br /&gt;
       name:&lt;br /&gt;
         - ntp&lt;br /&gt;
         - ntpdate&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_config&lt;br /&gt;
     copy:&lt;br /&gt;
       src=ntp.conf&lt;br /&gt;
       dest=/etc/ntp.conf&lt;br /&gt;
     tags: ntp&lt;br /&gt;
 &lt;br /&gt;
    - name: ntp_stop&lt;br /&gt;
     service:&lt;br /&gt;
       name=ntp&lt;br /&gt;
       state=stopped&lt;br /&gt;
       enabled=yes&lt;br /&gt;
     tags: ntpd&lt;br /&gt;
 &lt;br /&gt;
    - name: ntp_init&lt;br /&gt;
     shell: ntpdate ntp.polytech-lille.fr&lt;br /&gt;
     tags: ntp&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_launch&lt;br /&gt;
     service:&lt;br /&gt;
       name=ntp&lt;br /&gt;
       state=started&lt;br /&gt;
       enabled=yes&lt;br /&gt;
     tags: ntp&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Le rôle est utilisé dans le playbook motd.yml suivant :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: interne&lt;br /&gt;
    roles:&lt;br /&gt;
      - corneille&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Que l'on peut lancer via la commande :&lt;br /&gt;
 $ ansible-playbook motd.yml&lt;br /&gt;
&lt;br /&gt;
Cette commande va permettre de lancer les actions du rôle corneille sur le host interne, qui est uniquement notre machine virtuelle privée.&lt;br /&gt;
&lt;br /&gt;
On peut à présent créer deux playbooks pour la création et le déploiement de docker sur toutes les machine virtuelles privées.&lt;br /&gt;
&lt;br /&gt;
Fichier docker.yml :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: serveur_web&lt;br /&gt;
    vars:&lt;br /&gt;
      - pip_install_packages:&lt;br /&gt;
          name: docker&lt;br /&gt;
      - docker_apt_repository: &amp;quot;deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/debian stretch stable&amp;quot;&lt;br /&gt;
    roles:&lt;br /&gt;
      - geerlingguy.docker&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Fichier create_docker.yml :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: serveur_web&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install rsync&lt;br /&gt;
      apt:&lt;br /&gt;
        state: latest&lt;br /&gt;
        name: 'rsync'&lt;br /&gt;
 &lt;br /&gt;
    - name: transfer files&lt;br /&gt;
      copy:&lt;br /&gt;
        src: DockerFiles&lt;br /&gt;
        dest: /tmp/gr3/&lt;br /&gt;
      register: copy_output&lt;br /&gt;
    - debug: var=copy_output&lt;br /&gt;
 &lt;br /&gt;
    - name: build Docker image from Dockerfile&lt;br /&gt;
      docker_image:&lt;br /&gt;
        tag: latest&lt;br /&gt;
        name: image-for-herpesgenital&lt;br /&gt;
        path: /tmp/gr3/DockerFiles&lt;br /&gt;
        state: present&lt;br /&gt;
 &lt;br /&gt;
    - name: Create the container&lt;br /&gt;
      docker_container:&lt;br /&gt;
        name: container-herpesgenital&lt;br /&gt;
        image: image-for-herpesgenital&lt;br /&gt;
        state: present&lt;br /&gt;
 &lt;br /&gt;
    - name: check if container is running&lt;br /&gt;
      shell: 'docker ps'&lt;br /&gt;
      register: docker_ps&lt;br /&gt;
    - debug: var=docker_ps.stdout_lines&lt;br /&gt;
 &lt;br /&gt;
    - name: Last&lt;br /&gt;
      docker_container:&lt;br /&gt;
        name: container-herpesgenital&lt;br /&gt;
        image: image-for-herpesgenital&lt;br /&gt;
        state: started&lt;br /&gt;
        recreate: yes&lt;br /&gt;
        ports:&lt;br /&gt;
          &amp;quot;8003:80&amp;quot;&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
&lt;br /&gt;
le Dockerfile situé dans herpesgenital:/root/files/DockerFiles avec le index.html&lt;br /&gt;
&lt;br /&gt;
  FROM centos:latest&lt;br /&gt;
  MAINTAINER herpesgenital&lt;br /&gt;
  RUN yum -y install httpd&lt;br /&gt;
  COPY index.html /var/www/html&lt;br /&gt;
  CMD [&amp;quot;/usr/sbin/httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
  EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
docker build . -t notre_docker_v1&lt;br /&gt;
&lt;br /&gt;
docker run -dit -p 8003:80 notre_docker_v1&lt;br /&gt;
&lt;br /&gt;
docker container ls&lt;br /&gt;
&lt;br /&gt;
===Mandataire inverse / Répartiteur de charge===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/apache2/sites-available on peut créer le fichier herpesgenital.site.conf :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.179:80&amp;gt;&lt;br /&gt;
      ServerName herpesgenital.site&lt;br /&gt;
      ServerAlias www.herpesgenital.site&lt;br /&gt;
      ProxyPass &amp;quot;/&amp;quot; &amp;quot;http://192.168.0.3:8003/&amp;quot;&lt;br /&gt;
      ProxyPassReverse &amp;quot;/&amp;quot; &amp;quot;http://192.168.0.3:8003/&amp;quot;&lt;br /&gt;
      Redirect &amp;quot;/&amp;quot; &amp;quot;https://www.herpesgenital.site&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut activer cette configuration via la commande et désactiver la configuration par défaut :&lt;br /&gt;
 $ a2ensite herpesgenital.site.conf&lt;br /&gt;
 $ a2dissite 000-default.conf&lt;br /&gt;
&lt;br /&gt;
On active les les modules nécessaires :&lt;br /&gt;
 $ a2enmod proxy&lt;br /&gt;
 $ a2enmod proxy_http&lt;br /&gt;
&lt;br /&gt;
Puis on fini par rédemarrer le client apache&lt;br /&gt;
 $ service apache2 reload&lt;br /&gt;
&lt;br /&gt;
Le mandataire inverse est alors en place, on peut maintenant passer à l'équilibreur de charge.&lt;br /&gt;
On modifie notre fichier herpesgenital.site.conf pour ajouter :&lt;br /&gt;
 &amp;lt;Proxy &amp;quot;balancer://herpesgenital-balancer&amp;quot;&amp;gt;&lt;br /&gt;
        BalancerMember http://192.168.0.1:8003&lt;br /&gt;
        BalancerMember http://192.168.0.2:8003&lt;br /&gt;
        BalancerMember http://192.168.0.3:8003&lt;br /&gt;
        BalancerMember http://192.168.0.4:8003&lt;br /&gt;
        BalancerMember http://192.168.0.5:8003&lt;br /&gt;
        BalancerMember http://192.168.0.6:8003&lt;br /&gt;
        ProxySet lbmethod=byrequests&lt;br /&gt;
 &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SSL===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.179:443&amp;gt;&lt;br /&gt;
                ServerName herpesgenital.site&lt;br /&gt;
                ServerAlias www.herpesgenital.site&lt;br /&gt;
                DocumentRoot /var/www/html/&lt;br /&gt;
&lt;br /&gt;
                SSLEngine on&lt;br /&gt;
                SSLCertificateFile /etc/ssl/certs/herpesgenital.site.crt&lt;br /&gt;
                SSLCertificateKeyFile /etc/ssl/key/myserver.key&lt;br /&gt;
                SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem&lt;br /&gt;
                SSLVerifyclient NONE&lt;br /&gt;
         &amp;lt;Location &amp;quot;/balancer-manager&amp;quot;&amp;gt;&lt;br /&gt;
                 SetHandler balancer-manager&lt;br /&gt;
         &amp;lt;/Location&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GandiStandardSSLCA2.pem et herpesgenital.site.crt récupérés sur Gandi&lt;br /&gt;
&lt;br /&gt;
===DNS===&lt;br /&gt;
&lt;br /&gt;
/etc/bind/herpesgenital.site :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 $include /etc/bind/herpesgenital.site.dnssec/herpesgenital.site-ksk.key&lt;br /&gt;
 $include /etc/bind/herpesgenital.site.dnssec/herpesgenital.site-zsk.key&lt;br /&gt;
 @       IN      SOA     ns.herpesgenital.site. root.herpesgenital.site (&lt;br /&gt;
                         4       ; 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      ns.herpesgenital.site.&lt;br /&gt;
         IN      NS      ns6.gandi.net.&lt;br /&gt;
 @       IN      A       193.48.57.179&lt;br /&gt;
 ns      IN      A       193.48.57.179&lt;br /&gt;
 www     IN      A       193.48.57.179&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DNSSEC===&lt;br /&gt;
&lt;br /&gt;
Sur herpesgenital :&lt;br /&gt;
 $ apt install bind9 bind9-host dnsutils&lt;br /&gt;
&lt;br /&gt;
named.conf.options :&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 dnssec-enable yes;&lt;br /&gt;
&lt;br /&gt;
On crée le répertoire /etc/bind/herpesgenital.site.dnssec puis on génére les clés :&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE herpesgenital.site&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE herpesgenital.site&lt;br /&gt;
&lt;br /&gt;
Puis on les renomme avec de snoms plus commodes :&lt;br /&gt;
 herpesgenital.site-ksk.key&lt;br /&gt;
 herpesgenital.site-ksk.private&lt;br /&gt;
 herpesgenital.site-zsk.key&lt;br /&gt;
 herpesgenital.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o herpesgenital.site -k herpesgenital.site-ksk ../herpesgenital.site herpesgenital.site-zsk&lt;br /&gt;
&lt;br /&gt;
named.conf.local :&lt;br /&gt;
 zone &amp;quot;herpesgenital.site&amp;quot; {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/herpesgenital.site.signed&amp;quot;;&lt;br /&gt;
         allow-transfer {217.70.177.40;}; //dns de gandi&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
==Cassage de clé WEP==&lt;br /&gt;
&lt;br /&gt;
On utilise pour casser la clé WEP un dongle wifi &amp;quot;Wi-Pi&amp;quot;.&lt;br /&gt;
Après avoir connecté le dongle on affiche la liste des interfaces wifi via la commande&lt;br /&gt;
 $ iwconfig&lt;br /&gt;
&lt;br /&gt;
On observe alors le nom de de l'interface associée au dongle : wlx40a5ef0590b2 renommée lors de la commande en wlan0mon&lt;br /&gt;
&lt;br /&gt;
On commence par passer l'interface en mode moniteur :&lt;br /&gt;
 $ airmon-ng start  wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut alors visualiser les point d'accès WEP disponibles :&lt;br /&gt;
 $ airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit de travailler avec cracotte04 dont on va essayer de casser la clé WEP. Grâce à la commande précédente on a pu récupérer son BSSID et son Channel.&lt;br /&gt;
On capture les paquets sur l'interface de craquotte04 via la commande :&lt;br /&gt;
 $ airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:53 -w ./path_to_folder/cracotte04 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On lance alors en simultané sur un autre terminal des simulations de connexions au point d'accès.&lt;br /&gt;
La commande suivante permet de se faire passer pour un client afin de générer de l'activité sur le réseau.&lt;br /&gt;
 $ aireplay-ng --fakeauth 30 -a 04:DA:D2:9C:50:53 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Une fois avoir capturé un grand nombre de paquets (au moins 20 000), on peut alors lancer le cassage :&lt;br /&gt;
 $ aircrack-ng ./path_to_folder/cracotte04.cap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cassage de clé WPA==&lt;br /&gt;
&lt;br /&gt;
De la même manière que pour le cassage de clé WEP, on utilise un dongle wifi en mode moniteur grace auquel on observe les caractéristiques (bssid et channel) du réseau sans fil dont on souhaite casser le code puis on capture au moins un handshake.&lt;br /&gt;
 $ iwconfig&lt;br /&gt;
 $ airmon-ng start wlan0mon&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
Pour réaliser le cassage en WPA on doit fournir un dictionnaire de tous les mots de passe à essayer. On crée pour cela un simple code C&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
        int i=0;&lt;br /&gt;
        for(i=0;i&amp;lt;100000000;i++){&lt;br /&gt;
                printf(&amp;quot;%d\n&amp;quot;,i);&lt;br /&gt;
        }&lt;br /&gt;
        return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
On éxécute ce code :&lt;br /&gt;
(Ne pas oublier les permissions avec chmod si nécessaire)&lt;br /&gt;
 $ ./executable &amp;gt; ./path_to/dictionnaire.txt&lt;br /&gt;
&lt;br /&gt;
Puis on peut alors casser le code via la commande :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -w ./path_to/dictionnaire.txt ./path_to/kracotte07.cap&lt;br /&gt;
&lt;br /&gt;
==Cryptage de données==&lt;br /&gt;
&lt;br /&gt;
L'objectif est de créer une clé usb cryptée avec cryptsetup.&lt;br /&gt;
&lt;br /&gt;
On commence d’abord par brancher notre clé usb. On liste ensuite les différentes partitions.&lt;br /&gt;
  fdisk -l&lt;br /&gt;
&lt;br /&gt;
Une fois la partition de la clé usb repérée, on crée une partition LUKS sur la partition de la clé usb&lt;br /&gt;
  cryptsetup luksFormat -c aes-xts-plain -s 512 /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
On ouvre ensuite la partition chiffrée, le mot de passe précédemment rentré est demandé &lt;br /&gt;
  cryptsetup luksOpen /dev/sdb1 usb_crypted&lt;br /&gt;
&lt;br /&gt;
On formate ensuite la partition au système de fichier ext4&lt;br /&gt;
  mkfs -t ext4 /dev/mapper/usb_crypted&lt;br /&gt;
&lt;br /&gt;
On monte enfin la partition chiffrée sur le point de montage mnt&lt;br /&gt;
  mount -t ext4 /dev/mapper/usb_crypted /mnt/&lt;br /&gt;
&lt;br /&gt;
Une fois cela fait, on peut maintenant créer un fichier quelconque afin de vérifier qu'on ne puisse pas y avoir accès sans le mot de passe. Dans notre cas on crée un fichier test.txt.&lt;br /&gt;
&lt;br /&gt;
on démonte ensuite la partition et on coupe la communication avec la partition.&lt;br /&gt;
  umount /mnt&lt;br /&gt;
  cryptsetup luksClose usb_crypted &lt;br /&gt;
&lt;br /&gt;
Il n'est désormais possible d'acceder au contenu de la clé usb qu'avec&lt;br /&gt;
  cryptsetup luksOpen /dev/sdb1 usb_crypted&lt;br /&gt;
&lt;br /&gt;
Si on essaye de monter traditionnellement la clé usb, on a un message indiquant &amp;quot;unknow filesystem type ‘crypto_LUKS’&amp;quot;&lt;/div&gt;</summary>
		<author><name>Vlorthio</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2019/2020_G3&amp;diff=51914</id>
		<title>TP sysres IMA5sc 2019/2020 G3</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=TP_sysres_IMA5sc_2019/2020_G3&amp;diff=51914"/>
				<updated>2019-12-29T14:55:32Z</updated>
		
		<summary type="html">&lt;p&gt;Vlorthio : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Prélude==&lt;br /&gt;
&lt;br /&gt;
Suite au choix du thème, nous avons choisi comme nom de domaine herpesgenital&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architecture réseau==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Machine virtuelle Xen==&lt;br /&gt;
&lt;br /&gt;
===Création et configuration===&lt;br /&gt;
&lt;br /&gt;
La machine virtuelle sera sur installée sur Cordouan. On s'y connecte donc en ssh :&lt;br /&gt;
 $ ssh root@cordouan.insecserv.deule.net&lt;br /&gt;
&lt;br /&gt;
On peut ensuite créer la machine virtuelle Xen :&lt;br /&gt;
(On n'oublie pas de fixer les paramètres de proxy)&lt;br /&gt;
 $ export http_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
 $ export https_proxy=http://proxy.plil.fr:3128&lt;br /&gt;
 $ xen-create-image --hostname=herpesgenital --dhcp --dir=/usr/local/xen --force&lt;br /&gt;
&lt;br /&gt;
On peut alors observer le mot de passe root dans le fichier suivant :&lt;br /&gt;
 $ tail /var/log/xen-tools/herpesgenital.log&lt;br /&gt;
&lt;br /&gt;
On va ensuite modifier le fichier de configuration de la machine virtuelle (/etc/xen/herpesgenital.cfg). On modifie la ligne suivante pour ajouter le bridge :&lt;br /&gt;
 vif = [ 'mac=00:16:3E:2B:55:6A,bridge=IMA5sc' ]&lt;br /&gt;
&lt;br /&gt;
On peut vérifier la configuration des bridges via la commande :&lt;br /&gt;
 $ brctl show&lt;br /&gt;
&lt;br /&gt;
On peut alors ensuite finaliser la création de la machine virtuelle puis interragir avec elle via le terminal :&lt;br /&gt;
 $ xl create /etc/xen/herpesgenital.cfg&lt;br /&gt;
 $ xl console herpesgenital&lt;br /&gt;
&lt;br /&gt;
Il est possible de se connecter en root avec le mot de passe récupéré précédemment puis modifier ce mot de passe via la commande&lt;br /&gt;
 $ passwd root&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''VOIR LE PARTIONNEMENT'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On ajoute l'adresse IP de notre VM en modifiant le fichier ''/etc/network/interfaces'' :&lt;br /&gt;
  auto eth0&lt;br /&gt;
  iface eth0 inet static&lt;br /&gt;
   address 193.48.57.179&lt;br /&gt;
   netmask 255.255.255.240&lt;br /&gt;
   gateway 193.48.57.190&lt;br /&gt;
&lt;br /&gt;
Puis on peut activer la connexion en ssh à notre VM sur le fichier suiviant en décommentant la ligne '''PermitRootLogin yes'''&lt;br /&gt;
 nano /etc/ssh/sshd_config&lt;br /&gt;
&lt;br /&gt;
===Seconde machine virtuelle privée===&lt;br /&gt;
&lt;br /&gt;
On peut alors créer une seconde marchine virtuelle Xen comme prédédemment mais qui est cette fois privée (private-herpesgenital).&lt;br /&gt;
Celle ci contiendra les serveur web de chacun des binômes.&lt;br /&gt;
&lt;br /&gt;
Pour autoriser le routage :&lt;br /&gt;
 $ echo 1 &amp;gt; /proc/sys/net/ipv4/conf/all/forwarding&lt;br /&gt;
&lt;br /&gt;
Sur notre machine virtuelle principale (herpesgenital) on peut créer une mascarade provisoire pour notre seconde machine virtuelle.&lt;br /&gt;
 $ iptables -P FORWARD DROP&lt;br /&gt;
 $ iptables -A FORWARD -j ACCEPT -s 172.26.16.0/20&lt;br /&gt;
 $ iptables -A FORWARD -j ACCEPT -d 172.26.16.0/20&lt;br /&gt;
 $ iptables -t nat -A POSTROUTING -j MASQUERADE -s 172.26.16.0/20&lt;br /&gt;
&lt;br /&gt;
On peut alors ping google.fr depuis private-herpesgenital pour vérifier que la masquarade provisoire est opérationnelle.&lt;br /&gt;
&lt;br /&gt;
Pour rendre la masquarade persistante, on installe le paquet ''iptables-persistent'' sur herpesgenital puis dans le fichier ''/etc/sysctl.conf'' on décommente la ligne '''net.ipv4.ip_forward=1''' puis on recharge les nouveau paramètres avec :&lt;br /&gt;
 $ sysctl -p /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
On peut alors générer une paire de clés (publique-privée) pour la connexion en ssh :&lt;br /&gt;
 $ ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
On peut ensuite via ssh (en utilisant toujours un mot de passe), ajouter notre clé à la liste des clés authorisés sur l'ensemble des machines private.&lt;br /&gt;
 $ cat .ssh/id_rsa.pub | ssh 192.168.0.3 &amp;quot;cat &amp;gt;&amp;gt; /root/.ssh/authorized_keys2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On peut alors maintenant se connecter directement aux machines virtuelles private avec notre clé sur herpesgenital et sans mot de passe.&lt;br /&gt;
&lt;br /&gt;
===Ansible===&lt;br /&gt;
&lt;br /&gt;
Nous allons utiliser ansible pour configurer les serveur web.&lt;br /&gt;
&lt;br /&gt;
Pour réaliser l'inventaire ansible, on modifie /etc/ansible/hosts pour définir notre machine private ('''interne''') ainsi que celles des autres groupes('''serveur-web''').&lt;br /&gt;
&lt;br /&gt;
  all:&lt;br /&gt;
   hosts:&lt;br /&gt;
     interne:&lt;br /&gt;
       ansible_host: 192.168.0.3&lt;br /&gt;
   children:&lt;br /&gt;
     serveur_web:&lt;br /&gt;
       hosts:&lt;br /&gt;
         192.168.0.[1:6]:&lt;br /&gt;
&lt;br /&gt;
On crée un dosssier roles dans ''/etc/ansible'' puis dans ce dossier ''roles'' on crée un nouveau rôle '''corneille''' via&lt;br /&gt;
 $ ansible-galaxy init corneille&lt;br /&gt;
&lt;br /&gt;
Le rôle '''corneille''' a pour but de modifier le message of the day ainsi que de mettre en place NTP pour configurer la synchronisation de l'horloge.&lt;br /&gt;
Le rôle est défini dans le fichier /etc/ansible/roles/corneille/tasks/main.yml&lt;br /&gt;
  ---&lt;br /&gt;
   - name: motd_copy&lt;br /&gt;
     copy:&lt;br /&gt;
       dest: /etc/motd&lt;br /&gt;
       src: motd&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_install&lt;br /&gt;
     apt:&lt;br /&gt;
       state: present&lt;br /&gt;
       name:&lt;br /&gt;
         - ntp&lt;br /&gt;
         - ntpdate&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_config&lt;br /&gt;
     copy:&lt;br /&gt;
       src=ntp.conf&lt;br /&gt;
       dest=/etc/ntp.conf&lt;br /&gt;
     tags: ntp&lt;br /&gt;
 &lt;br /&gt;
    - name: ntp_stop&lt;br /&gt;
     service:&lt;br /&gt;
       name=ntp&lt;br /&gt;
       state=stopped&lt;br /&gt;
       enabled=yes&lt;br /&gt;
     tags: ntpd&lt;br /&gt;
 &lt;br /&gt;
    - name: ntp_init&lt;br /&gt;
     shell: ntpdate ntp.polytech-lille.fr&lt;br /&gt;
     tags: ntp&lt;br /&gt;
 &lt;br /&gt;
   - name: ntp_launch&lt;br /&gt;
     service:&lt;br /&gt;
       name=ntp&lt;br /&gt;
       state=started&lt;br /&gt;
       enabled=yes&lt;br /&gt;
     tags: ntp&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Le rôle est utilisé dans le playbook motd.yml suivant :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: interne&lt;br /&gt;
    roles:&lt;br /&gt;
      - corneille&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Que l'on peut lancer via la commande :&lt;br /&gt;
 $ ansible-playbook motd.yml&lt;br /&gt;
&lt;br /&gt;
Cette commande va permettre de lancer les actions du rôle corneille sur le host interne, qui est uniquement notre machine virtuelle privée.&lt;br /&gt;
&lt;br /&gt;
On peut à présent créer deux playbooks pour la création et le déploiement de docker sur toutes les machine virtuelles privées.&lt;br /&gt;
&lt;br /&gt;
Fichier docker.yml :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: serveur_web&lt;br /&gt;
    vars:&lt;br /&gt;
      - pip_install_packages:&lt;br /&gt;
          name: docker&lt;br /&gt;
      - docker_apt_repository: &amp;quot;deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/debian stretch stable&amp;quot;&lt;br /&gt;
    roles:&lt;br /&gt;
      - geerlingguy.docker&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Fichier create_docker.yml :&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: serveur_web&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install rsync&lt;br /&gt;
      apt:&lt;br /&gt;
        state: latest&lt;br /&gt;
        name: 'rsync'&lt;br /&gt;
 &lt;br /&gt;
    - name: transfer files&lt;br /&gt;
      copy:&lt;br /&gt;
        src: DockerFiles&lt;br /&gt;
        dest: /tmp/gr3/&lt;br /&gt;
      register: copy_output&lt;br /&gt;
    - debug: var=copy_output&lt;br /&gt;
 &lt;br /&gt;
    - name: build Docker image from Dockerfile&lt;br /&gt;
      docker_image:&lt;br /&gt;
        tag: latest&lt;br /&gt;
        name: image-for-herpesgenital&lt;br /&gt;
        path: /tmp/gr3/DockerFiles&lt;br /&gt;
        state: present&lt;br /&gt;
 &lt;br /&gt;
    - name: Create the container&lt;br /&gt;
      docker_container:&lt;br /&gt;
        name: container-herpesgenital&lt;br /&gt;
        image: image-for-herpesgenital&lt;br /&gt;
        state: present&lt;br /&gt;
 &lt;br /&gt;
    - name: check if container is running&lt;br /&gt;
      shell: 'docker ps'&lt;br /&gt;
      register: docker_ps&lt;br /&gt;
    - debug: var=docker_ps.stdout_lines&lt;br /&gt;
 &lt;br /&gt;
    - name: Last&lt;br /&gt;
      docker_container:&lt;br /&gt;
        name: container-herpesgenital&lt;br /&gt;
        image: image-for-herpesgenital&lt;br /&gt;
        state: started&lt;br /&gt;
        recreate: yes&lt;br /&gt;
        ports:&lt;br /&gt;
          &amp;quot;8003:80&amp;quot;&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
===Docker===&lt;br /&gt;
&lt;br /&gt;
le Dockerfile situé dans herpesgenital:/root/files/DockerFiles avec le index.html&lt;br /&gt;
&lt;br /&gt;
  FROM centos:latest&lt;br /&gt;
  MAINTAINER herpesgenital&lt;br /&gt;
  RUN yum -y install httpd&lt;br /&gt;
  COPY index.html /var/www/html&lt;br /&gt;
  CMD [&amp;quot;/usr/sbin/httpd&amp;quot;, &amp;quot;-D&amp;quot;, &amp;quot;FOREGROUND&amp;quot;]&lt;br /&gt;
  EXPOSE 80&lt;br /&gt;
&lt;br /&gt;
docker build . -t notre_docker_v1&lt;br /&gt;
&lt;br /&gt;
docker run -dit -p 8003:80 notre_docker_v1&lt;br /&gt;
&lt;br /&gt;
docker container ls&lt;br /&gt;
&lt;br /&gt;
===Mandataire inverse / Répartiteur de charge===&lt;br /&gt;
&lt;br /&gt;
Dans /etc/apache2/sites-available on peut créer le fichier herpesgenital.site.conf :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.179:80&amp;gt;&lt;br /&gt;
      ServerName herpesgenital.site&lt;br /&gt;
      ServerAlias www.herpesgenital.site&lt;br /&gt;
      ProxyPass &amp;quot;/&amp;quot; &amp;quot;http://192.168.0.3:8003/&amp;quot;&lt;br /&gt;
      ProxyPassReverse &amp;quot;/&amp;quot; &amp;quot;http://192.168.0.3:8003/&amp;quot;&lt;br /&gt;
      Redirect &amp;quot;/&amp;quot; &amp;quot;https://www.herpesgenital.site&amp;quot;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut activer cette configuration via la commande et désactiver la configuration par défaut :&lt;br /&gt;
 $ a2ensite herpesgenital.site.conf&lt;br /&gt;
 $ a2dissite 000-default.conf&lt;br /&gt;
&lt;br /&gt;
On active les les modules nécessaires :&lt;br /&gt;
 $ a2enmod proxy&lt;br /&gt;
 $ a2enmod proxy_http&lt;br /&gt;
&lt;br /&gt;
Puis on fini par rédemarrer le client apache&lt;br /&gt;
 $ service apache2 reload&lt;br /&gt;
&lt;br /&gt;
Le mandataire inverse est alors en place, on peut maintenant passer à l'équilibreur de charge.&lt;br /&gt;
On modifie notre fichier herpesgenital.site.conf pour ajouter :&lt;br /&gt;
 &amp;lt;Proxy &amp;quot;balancer://herpesgenital-balancer&amp;quot;&amp;gt;&lt;br /&gt;
        BalancerMember http://192.168.0.1:8003&lt;br /&gt;
        BalancerMember http://192.168.0.2:8003&lt;br /&gt;
        BalancerMember http://192.168.0.3:8003&lt;br /&gt;
        BalancerMember http://192.168.0.4:8003&lt;br /&gt;
        BalancerMember http://192.168.0.5:8003&lt;br /&gt;
        BalancerMember http://192.168.0.6:8003&lt;br /&gt;
        ProxySet lbmethod=byrequests&lt;br /&gt;
 &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SSL===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost 193.48.57.179:443&amp;gt;&lt;br /&gt;
                ServerName herpesgenital.site&lt;br /&gt;
                ServerAlias www.herpesgenital.site&lt;br /&gt;
                DocumentRoot /var/www/html/&lt;br /&gt;
&lt;br /&gt;
                SSLEngine on&lt;br /&gt;
                SSLCertificateFile /etc/ssl/certs/herpesgenital.site.crt&lt;br /&gt;
                SSLCertificateKeyFile /etc/ssl/key/myserver.key&lt;br /&gt;
                SSLCertificateChainFile /etc/ssl/certs/GandiStandardSSLCA2.pem&lt;br /&gt;
                SSLVerifyclient NONE&lt;br /&gt;
         &amp;lt;Location &amp;quot;/balancer-manager&amp;quot;&amp;gt;&lt;br /&gt;
                 SetHandler balancer-manager&lt;br /&gt;
         &amp;lt;/Location&amp;gt;&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GandiStandardSSLCA2.pem et herpesgenital.site.crt récupérés sur Gandi&lt;br /&gt;
&lt;br /&gt;
===DNS===&lt;br /&gt;
&lt;br /&gt;
/etc/bind/herpesgenital.site :&lt;br /&gt;
 ;&lt;br /&gt;
 ; BIND data file for local loopback interface&lt;br /&gt;
 ;&lt;br /&gt;
 $TTL    604800&lt;br /&gt;
 $include /etc/bind/herpesgenital.site.dnssec/herpesgenital.site-ksk.key&lt;br /&gt;
 $include /etc/bind/herpesgenital.site.dnssec/herpesgenital.site-zsk.key&lt;br /&gt;
 @       IN      SOA     ns.herpesgenital.site. root.herpesgenital.site (&lt;br /&gt;
                         4       ; 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      ns.herpesgenital.site.&lt;br /&gt;
         IN      NS      ns6.gandi.net.&lt;br /&gt;
 @       IN      A       193.48.57.179&lt;br /&gt;
 ns      IN      A       193.48.57.179&lt;br /&gt;
 www     IN      A       193.48.57.179&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DNSSEC===&lt;br /&gt;
&lt;br /&gt;
Sur herpesgenital :&lt;br /&gt;
 $ apt install bind9 bind9-host dnsutils&lt;br /&gt;
&lt;br /&gt;
named.conf.options :&lt;br /&gt;
 dnssec-validation auto;&lt;br /&gt;
 dnssec-enable yes;&lt;br /&gt;
&lt;br /&gt;
On crée le répertoire /etc/bind/herpesgenital.site.dnssec puis on génére les clés :&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE herpesgenital.site&lt;br /&gt;
 $ dnssec-keygen -a RSASHA1 -b 1024 -n ZONE herpesgenital.site&lt;br /&gt;
&lt;br /&gt;
Puis on les renomme avec de snoms plus commodes :&lt;br /&gt;
 herpesgenital.site-ksk.key&lt;br /&gt;
 herpesgenital.site-ksk.private&lt;br /&gt;
 herpesgenital.site-zsk.key&lt;br /&gt;
 herpesgenital.site-zsk.private&lt;br /&gt;
&lt;br /&gt;
 $ dnssec-signzone -o herpesgenital.site -k herpesgenital.site-ksk ../herpesgenital.site herpesgenital.site-zsk&lt;br /&gt;
&lt;br /&gt;
named.conf.local :&lt;br /&gt;
 zone &amp;quot;herpesgenital.site&amp;quot; {&lt;br /&gt;
         type master;&lt;br /&gt;
         file &amp;quot;/etc/bind/herpesgenital.site.signed&amp;quot;;&lt;br /&gt;
         allow-transfer {217.70.177.40;}; //dns de gandi&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
==Cassage de clé WEP==&lt;br /&gt;
&lt;br /&gt;
On utilise pour casser la clé WEP un dongle wifi &amp;quot;Wi-Pi&amp;quot;.&lt;br /&gt;
Après avoir connecté le dongle on affiche la liste des interfaces wifi via la commande&lt;br /&gt;
 $ iwconfig&lt;br /&gt;
&lt;br /&gt;
On observe alors le nom de de l'interface associée au dongle : wlx40a5ef0590b2 renommée lors de la commande en wlan0mon&lt;br /&gt;
&lt;br /&gt;
On commence par passer l'interface en mode moniteur :&lt;br /&gt;
 $ airmon-ng start  wlan0mon&lt;br /&gt;
&lt;br /&gt;
On peut alors visualiser les point d'accès WEP disponibles :&lt;br /&gt;
 $ airodump-ng --encrypt wep wlan0mon&lt;br /&gt;
&lt;br /&gt;
On choisit de travailler avec cracotte04 dont on va essayer de casser la clé WEP. Grâce à la commande précédente on a pu récupérer son BSSID et son Channel.&lt;br /&gt;
On capture les paquets sur l'interface de craquotte04 via la commande :&lt;br /&gt;
 $ airodump-ng --channel 9 --bssid 04:DA:D2:9C:50:53 -w ./path_to_folder/cracotte04 wlan0mon&lt;br /&gt;
&lt;br /&gt;
On lance alors en simultané sur un autre terminal des simulations de connexions au point d'accès.&lt;br /&gt;
La commande suivante permet de se faire passer pour un client afin de générer de l'activité sur le réseau.&lt;br /&gt;
 $ aireplay-ng --fakeauth 30 -a 04:DA:D2:9C:50:53 wlan0mon&lt;br /&gt;
&lt;br /&gt;
Une fois avoir capturé un grand nombre de paquets (au moins 20 000), on peut alors lancer le cassage :&lt;br /&gt;
 $ aircrack-ng ./path_to_folder/cracotte04.cap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cassage de clé WPA==&lt;br /&gt;
&lt;br /&gt;
De la même manière que pour le cassage de clé WEP, on utilise un dongle wifi en mode moniteur grace auquel on observe les caractéristiques (bssid et channel) du réseau sans fil dont on souhaite casser le code puis on capture au moins un handshake.&lt;br /&gt;
 $ iwconfig&lt;br /&gt;
 $ airmon-ng start wlan0mon&lt;br /&gt;
 $ airodump-ng wlan0mon&lt;br /&gt;
&lt;br /&gt;
Pour réaliser le cassage en WPA on doit fournir un dictionnaire de tous les mots de passe à essayer. On crée pour cela un simple code C&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
        int i=0;&lt;br /&gt;
        for(i=0;i&amp;lt;100000000;i++){&lt;br /&gt;
                printf(&amp;quot;%d\n&amp;quot;,i);&lt;br /&gt;
        }&lt;br /&gt;
        return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
On éxécute ce code :&lt;br /&gt;
(Ne pas oublier les permissions avec chmod si nécessaire)&lt;br /&gt;
 $ ./executable &amp;gt; ./path_to/dictionnaire.txt&lt;br /&gt;
&lt;br /&gt;
Puis on peut alors casser le code via la commande :&lt;br /&gt;
&lt;br /&gt;
 $ airodump-ng -w ./path_to/dictionnaire.txt ./path_to/kracotte07.cap&lt;br /&gt;
&lt;br /&gt;
==Cryptage de données==&lt;/div&gt;</summary>
		<author><name>Vlorthio</name></author>	</entry>

	</feed>