TP sysres IMA2a5 2021/2022 G5

De Wiki d'activités IMA
Révision datée du 19 novembre 2021 à 11:08 par Lviciot (discussion | contributions) (Sécurisation de site web par certificat)

TP Protocoles Avancés - SE2A5 - Groupe 5

Généralités

Le tableau ci-dessous récapitule l'ensemble des informations qui seront utilisées lors du TP de Réseau sur les Protocoles Avancées.

Groupe Domaine Nom VM Distribution IPv4 routée VLAN privé Réseau local IPv4 Réseau IPv6 Réseau IPv6 de secours Cisco 6509-E Cisco 9200 SSID
Groupe 5 rsx-viciot.site AnimalCrossing Debian 10 Buster 193.48.57.165 164 (NET-GP4) 10.60.165.0/24 2001:660:4401:60A5::/64 2001:7A8:116E:60A5::/64 10.60.165.254 10.60.165.253 SE2A5_GP5

Architecture réseaux

Câblage

Création d'une machine virtuelle

Création de la machine virtuelle

Commençons par la création de la machine virtuelle. Nous allons commencer par nous connecter en ssh sur le serveur Capbreton situé dans la baie en salle E304, nous utiliserons la commande suivante :

   ssh -4 capbreton.plil.info

Nous nous connectons ensuite en superuser sur la machine :

  su -

Nous allons exporter

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

La commande de création est la suivante :

 xen-create-image --force --hostname=AnimalCrossing --ip=193.48.57.165 --gateway=193.48.57.174 --dir=/usr/local/xen --dist=buster

On vérifie que notre machine est correctement installée en ouvrant un second terminal et en nous reconnectant à Capbreton. On utilisera la commande suivante:

 tail -f /var/log/xen-tools/AnimalCrossing.log

Suite à cela nous aurons un récapitulatif des informations de notre machine virtuelle ainsi que son mot de passe (Conseil : Bien noté le mot de passe !)

Création des disques

Nous allons désormais créer les disques pour notre machine virtuelle, nous allons réaliser un RAID 5, soit 4 disques :

  lvcreate -L1G -n AnimalCrossing1 virtual 
  lvcreate -L1G -n AnimalCrossing2 virtual 
  lvcreate -L1G -n AnimalCrossing3 virtual 
  lvcreate -L1G -n AnimalCrossing4 virtual 

On augmente ensuite la taille des disques afin de les passer de 1Go à 10Go :

  lvextend -L +9G /dev/virtual/AnimalCrossing1
  lvextend -L +9G /dev/virtual/AnimalCrossing2
  lvextend -L +9G /dev/virtual/AnimalCrossing3
  lvextend -L +9G /dev/virtual/AnimalCrossing4

On vérifie l'installation de nos disques avec :

 lvdisplay 

On obtient le récap suivant :

--- Logical volume ---
 LV Path                /dev/virtual/AnimalCrossing1
 LV Name                AnimalCrossing1
 VG Name                virtual
 LV UUID                8J2E0b-3Np8-Kdb8-h2jR-jCaR-fQlU-a9wklC
 LV Write Access        read/write
 LV Creation host, time capbreton, 2021-09-23 10:35:45 +0200
 LV Status              available
 # open                 0
 LV Size                10.00 GiB
 Current LE             2560
 Segments               2
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:30

Enfin on va formater nos disques :

 mke2fs /dev/virtual/AnimalCrossing1
 mke2fs /dev/virtual/AnimalCrossing2
 mke2fs /dev/virtual/AnimalCrossing3
 mke2fs /dev/virtual/AnimalCrossing4

Démarrage

On démarre la machine une première fois afin de pouvoir accéder au fichier vim :

 xen create /etc/xen/AnimalCrossing.cfg

Après avoir fait ça, nous faisons la commande suivante :

 vi /etc/xen/AnimalCrossing.cfg

Dans le fichier nous allons :

1 - Dans la rubrique "Networking" : Supprimer l'adresse IP, 2 - Toujours dans la rubrique "Networking" : On ajoutera "bridge=IMA2a5" on obtiendra la commande suivante

 vif = [ 'mac=00:16:3E:73:B0:3C, bridge=IMA2a5' ]

3 - Dans la rubrique "Disks" : On ajoute le code suivant :

 'phy:/dev/virtual/AnimalCrossing1, xvda3, w',
 'phy:/dev/virtual/AnimalCrossing2, xvda4, w',
 'phy:/dev/virtual/AnimalCrossing3, xvda5, w',
 'phy:/dev/virtual/AnimalCrossing4, xvda6, w',

On referme le fichier VIM et on relance notre machine virtuelle :

 xen create /etc/xen/AnimalCrossing.cfg
 xen console AnimalCrossing

On va devoir se connecter et le login sera root

Services Internet

Serveur SSH

Pour configurer le serveur SSH sur notre machine virtuelle, on commencera par se connecter à cap breton :

 ssh -4 capbreton.plil.info

Ensuite, on démarrera notre machine virtuelle

  xen create /etc/xen/AnimalCrossing.cfg
  xen console AnimalCrossing

On se connecte à notre machine en utilisant l'identifiant root et en entrant le mot de passe que nous avions précédemment.

On installera SSH sur notre machine virtuelle :

  apt install openssh-server

Puis on effectuera des modifications dans le fichier suivant :

  vi /etc/network/interfaces

Les modifications à faire sont les suivantes :

 On met : 
 # The primary network interface
 auto eth0
 iface eth0 inet6 auto

 iface eth0 inet static
 address 10.60.100.165/24
 up ip address add dev eth0 193.48.57.165/32 ; ip route add default via 10.60.100.254 src 193.48.57.165
 down ip address del dev eth0 193.48.57.165/32 ; ip route del default via 10.60.100.254 src 193.48.57.165

On dé-commentera la ligne :

 PermitRootLogin yes

On fera ensuite :

 ifdown eth0
 ifup eth0

On ouvrir un autre terminal et on fera un ping sur notre machine virtuelle pour vérifier que nous avons bien une réponse :

  ping  193.48.57.165

On a bien une réponse :

 PING 193.48.57.165 (193.48.57.165) 56(84) bytes of data.
 64 bytes from 193.48.57.165: icmp_seq=1 ttl=61 time=0.527 ms
 64 bytes from 193.48.57.165: icmp_seq=2 ttl=61 time=0.554 ms
 64 bytes from 193.48.57.165: icmp_seq=3 ttl=61 time=0.513 ms

On se connectera en SSH de la manière suivante :

  ssh root@193.48.57.165

Serveur DNS

Le DNS va nous permettre d'établir l'association de notre nom de domaine à une adresse IP où il est hébergé sur le réseau internet.Pour commencer, nous devons vérifier si le nom de notre domaine est disponible sur gandi.net. Une fois, que cela est fait, nous pouvons acheter ce nom de domaine, ici : animal-crossing.net. On y associera ensuite un hostname dans les paramètres "Glue Reccords" à notre adresse IP, ici 193.48.57.165. De plus, nous ajouterons dans "Nameservers" notre host name : "ns.animal-crossing.site" puis "ns6.gandi.net" comme serveur secondaire. Un fois ces premières modifications réalisées, nous allons configurer notre DNS.

Fichiers de configuration

On commencera par se connecter en SSH à notre machine virtuelle :

 ssh root@193.48.57.165

Puis, si ce n'est pas déjà fait, on installera bind9 avec la commande :

 apt install bind9

On se rendra ensuite dans le fichier :

 /etc/bind/name.conf.options 

Et on y ajoutera le code suivant :

 options {
       directory "/var/cache/bind";
       forwarders {
              0.0.0.0;
       };
       dnssec-validation auto;
       listen-on-v6 { any; };
       allow-transfer { "allowed_to_transfer"; };
       };
       acl "allowed_to_transfer" {
           217.70.177.40/32;
       };

On définiera par la suite notre zone dans le fichier suivant :

  /etc/bind/named.conf.local 

On y ajoutera le code suivant :

zone "animal-crossing.site" {
type master;
file "/etc/bind/db.animal-crossing.site";
};


Enfin on configurer le fichier de zone qui nous permer de configurer le domaine. on créer alors le fichier :

  /etc/bind/db.animal-crossing.site


Puis on entre la configuration suivante :

    $TTL    3600
@   IN      SOA     ns.animal-crossing.site. postmaster.animal-crossing.site. (
                      1        ; Version
                      1800     ; Refresh (30m)
                      600      ; Retry (10m)
                      3600     ; Expire (1h)
                      3600 )   ; Minimum TTL (1h)
    IN NS ns.animal-crossing.site.
    IN NS ns6.gandi.net.
ns  IN A   193.48.57.165

Vérification du fonctionnement

Afin de vérifier si nous avons correctement modifiés les fichiers de configuration, nous allons entrer la commande suivante :

 named-checkzone animal-crossing.site /etc/bind/db.animal-crossing.site

Si cette commande nous renvoie OK c'est que la configuration que nous avons faite ne contient pas d'erreur

Sécurisation de site web par certificat

On commencera par installer le paquetage apache2 et nous le configuerons en mode sécurisé à l'aide d'une clé asymétrique et d'un certificat signé par une autorité de certification.

 apt install apache2

On installera également openssl :

 apt install openssl

On va créer un certificat TSL :

 openssl req -nodes -newkey rsa:2048 -sha256 -keyout animal-site.site.key -out animal-crossing.site.csr

On remplira les informations suivantes :

Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Nord
Locality Name (eg, city) []:Lille
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PolytechLille
Organizational Unit Name (eg, section) []:SE2A5      
Common Name (e.g. server FQDN or YOUR name) []: animal-crossing.site
Email Address []:lea.viciot@polytech-lille.net
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

On va déplacer les fichiers :

 mv animal-crossing.site.key /etc/ssl/private
 mv animal-crossing.site.csr /etc/ssl/certs

Nous allons ensuite aller sur Gandi, dans la rubrique "SSL Certificates" et on viendra en "Acheter" un. On viendra copier la clé générée sur le site web. Pour afficher le certificat .csr, on fera la commande :

 cat animal-crossing.site.csr

Cela nous génerera notre certificat :

 -----BEGIN CERTIFICATE REQUEST-----
 MIIC5zCCAc8CAQAwgaExCzAJBgNVBAYTAkZSMQ0wCwYDVQQIDAROb3JkMQ4wDAYD
 VQQHDAVMaWxsZTEWMBQGA1UECgwNUG9seXRlY2hMaWxsZTEOMAwGA1UECwwFU0Uy
 QTUxHTAbBgNVBAMMFGFuaW1hbC1jcm9zc2luZy5zaXRlMSwwKgYJKoZIhvcNAQkB
 Fh1sZWEudmljaW90QHBvbHl0ZWNoLWxpbGxlLm5ldDCCASIwDQYJKoZIhvcNAQEB
 BQADggEPADCCAQoCggEBALgDBoEGCiDyHg0Rs4k+2iJ2roxNGZX2qYWviDW4bpDz
 VQ+nAjDBjTIc7PPouL4JbG6V/5HxJe5lNRtu8oRLSCZmS6Dj5WQxa+KxaDi9avFJ
 OjZpySV4TDIT6AUrLPFJXULF+jP4ceEG+KeDQZlRL9DpxyBhWqRD1Yxx+wcvjAdS
 7/v9higgs5xjx2DdjIclCzig7jumI2ol1Cu7EfnwCvAxeq/Chkxp2sPe0a9m9eOa
 R7KjWs8HlygrdR+WbcZzc1i53DVGJczXfEIyLghyGVpKKbR5Li5rwcScScM1MJyD
 e9GmeBteHFgZpHK1zIt7ovEno0CuMSkH8D5oUQGw0YMCAwEAAaAAMA0GCSqGSIb3
 DQEBCwUAA4IBAQCG/zIfiPfkWv1cJKNsnMClPNyvLRVO5osKOpAjUZtK0JCkyRum
 T+7n+IH+IUD9zIs3hs2Xu6rB5qDF3e/rBLSrxO0pYRm3+uYPzsztmJMw7scaISwT
 uaTByPQGfx7TOyEzcuKsDGEhSUNH0PblT8hilTHHnNnVG4S0cWgHh1F+c+RkfiUF
 V7YbEyV0YEsyPAsCFB0VADyCZN+10yNqlDT8hepZxq1zcQ5yY80U0t99sKnfhdJj
 zqWFBM3drsq+RXVe30rtahSLCV++aSiiGZelGmkTD56YbQk4+baYdt5aABvrAIh/
 TR1jdKWqj5dkYjHd7FtctBn7C7I0nN2FQH3N
 -----END CERTIFICATE REQUEST-----

Sécurisation de serveur DNS par DNSSEC

Puis le fichier /etc/bind/named.conf.options on ajoute dnssec-enable yes. Nous allons créer un dossier dans lequel nous allons générer les clés :

cd /etc/bind
mkdir animal-crossing.site.dnssec

On génèrera les clés :

 dnssec-keygen -a RSASHA1 -b 2048 -f KSK -n ZONE animal-crossing.site
 dnssec-keygen -a RSASHA1 -b 1024 -n ZONE animal-crossing.site

Ensuite, je renomme les deux paires de clés obtenues :

 mv Kanimal-crossing.site.+005+38625.key animal-crossing.site-ksk.key
 mv Kanimal-crossing.site.+005+38625.private animal-crossing.site-ksk.private
 mv Kanimal-crossing.site.+005+42451.key animal-crossing.site-zsk.key
 mv Kanimal-crossing.site.+005+42451.private animal-crossing.site-zsk.private

On modifiera le fichier :

 /etc/bind/db.animal-crossing.site

Et on y ajoutera :

 $include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-ksk.key
 $include /etc/bind/animal-crossing.site.dnssec/animal-crossing.site-zsk.key

On signera les enregistrements :

 dnssec-signzone -o animal-crossing.site -k animal-crossing.site-ksk ../db.animal-crossing.site animal-crossing.site-zsk

On obtient la réponse suivante :

 Zone fully signed:
 Algorithm: RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked
                     ZSKs: 1 active, 0 stand-by, 0 revoked
 ../db.animal-crossing.site.signed


On modifie le fichier /etc/bind/named.conf.local

  zone "animal-crossing.site" {
  type master;
  file "/etc/bind/db.animal-crossing.site.signed";
  };

On communiquera par la suite, la partie publique de la KSK à notre registrar "gandi.net".

Configuration des routeurs

La configuration des routeurs doit être faite pour les deux routeurs de la salle E304 : 9200 et le ISR4331 ainsi que dans la salle E306 pour le routeur 6509. Pour se faire, plusieurs personnes de la classe ont travaillé dessus. Dans un premier temps Kevin, Quentin et Valentin ont configuré le 9200. Benoit et Belange ont quand à eux configuré le 6509. Pour ma part, j'ai configuré une petite partie de routeur ISR4331.

- DEVELOPER COMMANDES -


Configuration de l'accès WIFI N°2

Commençons par une configuration générale :

ap>enable
ap#configure terminal

On se connecte au minicom grâce à la commande :

minicom -s

Puis on changera dans les paramètres la connexion au port USB0 en indiquant :

/dev/ttyUSB0

Ensuite intéressons nous à la configuration du nom de l'hôte :

ap(config)#hostname SE2A5-AP2

Puis de l'accès en SSH :

SE2A5-AP2(config)#aaa new-model
SE2A5-AP2(config)#username admin privilege 15 secret glopglop
SE2A5-AP2(config)#ip domain-name plil.info
SE2A5-AP2(config)#crypto key generate rsa general-keys modulus 2048
SE2A5-AP2(config)#ip ssh version 2
SE2A5-AP2(config)#line vty 0 15
SE2A5-AP2(config-line)#transport input ssh
SE2A5-AP2(config-line)#exit

L'accès à la console :

SE2A5-AP2(config)#line console 0
SE2A5-AP2(config-line)#password glopglop
SE2A5-AP2(config-line)#exit
SE2A5-AP2(config)#aaa new-model
SE2A5-AP2(config)#aaa authentication login default local 
SE2A5-AP2(config)#line con 0
SE2A5-AP2(config)#login authen default
SE2A5-AP2(config)#exit

On va sécuriser l'accès :

SE2A5-AP2(config)#service password-encryption
SE2A5-AP2(config)#enable secret glopglop
SE2A5-AP2(config)#banner motd #Restricted Access#

Configuration l'accès au VLAN 164 :

SE2A5-AP2(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING
SE2A5-AP2(config)#radius-server host 193.48.57.165 auth-port 1812 acct-port 1813 key glopglop
SE2A5-AP2(config)#aaa group server radius RADIUS_ANIMALCROSSING
SE2A5-AP2(config-server)#server 193.48.57.165 auth-port 1812 acct-port 1813
SE2A5-AP2(config-server)#exit
SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2
SE2A5-AP2(config-ssid)#mbssid guest-mode
SE2A5-AP2(config-ssid)#vlan 164
SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING
SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING
SE2A5-AP2(config-ssid)#authentication key-management wpa
SE2A5-AP2(config-ssid)#exit
SE2A5-AP2(config)#interface dot11radio0.164
SE2A5-AP2(config-subif)#encapsulation dot1q 164
SE2A5-AP2(config-subif)#bridge-group 64
SE2A5-AP2(config-subif)#exit
SE2A5-AP2(config)#interface g0.164
SE2A5-AP2(config-subif)#encapsulation dot1q 164
SE2A5-AP2(config-subif)#bridge-group 64
SE2A5-AP2(config-subif)#exit
SE2A5-AP2(config)#interface dot11radio 0
SE2A5-AP2(config-if)#no shutdown
SE2A5-AP2(config-if)#encryption vlan 164 mode ciphers aes-ccm tkip
SE2A5-AP2(config-if)#mbssid
SE2A5-AP2(config-if)#ssid ANIMALCROSSING2
SE2A5-AP2(config-if)#exit

Afin de vérifier si notre SSID fonctionne, on va effectuer les commandes suivantes :

SE2A5-AP2#show dot11 bssid

On obtient :

Interface       BSSID             Guest     SSID
Dot141Radio0    ecc8.8243.cd40    No        ANIMALCROSSING2   

On souhaite passer notre Guest de No à Yes pour se faire :

conf t
interface do0
no shut
exit 

On refait la commande :

SE2A5-AP2#show dot11 bssid

On obtient :

Interface       BSSID             Guest     SSID
Dot141Radio0    ecc8.8243.cd40    Yes       ANIMALCROSSING2  
  

Notre SSID est bien configuré pour le point Wifi N°2.

Configuration de l'accès WIFI N°1

Un autre groupe ayant réaliser la configuration du point d'accès N°1, nous allons juste configurer notre VLAN :

Configuration l'accès au VLAN 164 :

SE2A5-AP1(config)#aaa authentication login EAP_ANIMALCROSSING group RADIUS_ANIMALCROSSING
SE2A5-AP1(config)#radius-server host 193.48.57.165 auth-port 1812 acct-port 1813 key glopglop
SE2A5-AP1(config)#aaa group server radius RADIUS_ANIMALCROSSING
SE2A5-AP1(config-server)#server 193.48.57.165 auth-port 1812 acct-port 1813
SE2A5-AP1(config-server)#exit
SE2A5-AP2(config)#dot11 ssid ANIMALCROSSING2
SE2A5-AP2(config-ssid)#mbssid guest-mode
SE2A5-AP2(config-ssid)#vlan 164
SE2A5-AP2(config-ssid)#authentication open eap EAP_ANIMALCROSSING
SE2A5-AP2(config-ssid)#authentication network-eap EAP_ANIMALCROSSING
SE2A5-AP2(config-ssid)#authentication key-management wpa
SE2A5-AP2(config-ssid)#exit
SE2A5-AP2(config)#interface dot11radio0.164
SE2A5-AP2(config-subif)#encapsulation dot1q 164
SE2A5-AP2(config-subif)#bridge-group 64
SE2A5-AP2(config-subif)#exit
SE2A5-AP2(config)#interface g0.164
SE2A5-AP2(config-subif)#encapsulation dot1q 164
SE2A5-AP2(config-subif)#bridge-group 64
SE2A5-AP2(config-subif)#exit
SE2A5-AP2(config)#interface dot11radio 0
SE2A5-AP2(config-if)#no shutdown
SE2A5-AP2(config-if)#encryption vlan 164 mode ciphers aes-ccm tkip
SE2A5-AP2(config-if)#mbssid
SE2A5-AP2(config-if)#ssid ANIMALCROSSING2
SE2A5-AP2(config-if)#exit

Exploitation des failles du systèmes

Cassage de clef WEP

Pour cette partie, nous avons cassé la clé WEP qui se nomme "Cracotte 01". Nous commençons par installer l'utilitaire aircrack

  su -
  apt install aircrack-ng

On prendra une clé USB Wifi et on listera les différentes interfaces de notre ordinateur :

  lsusb

PHOTO

On réalise les commandes suivants :

 airmon -ng 

PHOTO

On va renommer l'interface en wlan0, nous allons utiliser la commande suivante pour passer la carte Wifi en monitor :

  airmon -ng start wlx40a5ef059e47

On va ensuite faire cette commande afin d'écouter les trames Wifi de la clé USB:

  airodump -ng wlan0

On obtient alors les informations suivantes :

 BSSID                 PWR     Beacons    #Data,   #/s      CH      MB      ENC     CIPHER   AUTH ESSID
 04:DA:D2:9C:50:50     -40           2      3       4        3      54e      WEP     WEP         cracotte01

On filtre notre interface :

 BSSID                            PWR    RXQ  Beacons    #Data,   #/s      CH      MB      ENC     CIPHER   AUTH ESSID
 04:DA:D2:9C:50:50     -42        10      30     19          4      3      54e     WEP     WEP     cracotte01

On lance l'interface dans ce terminal avec la commande suivante :

 airodump -ng -c 3 --bssid 04:DA:D2:9C:50:50 wlan0

On va ouvrir un autre terminal et on lancera le cassage de la clé :

  airodump -ng /tmp/cracotte01-01.cap

On obtient :

 #   BSSID                               ESSID                    Encryption 
 1    04:DA:D2:9C:50:50        cracotte01            WEP (0 IVs)

Après 5-10min, on obtient le code de la clé Wifi :

PHOTO

Cassage de clef WAP-PSK

On vérifiera que notre utilitaire aircrack soit bien installé, si ce n'est pas le cas,on refera la commande :

 apt-get install aircrack-ng

Puis on listera les interfaces Wifi :

 arimon-ng

On obtiendra :

 PHY	Interface	Driver		Chipset
 phy0	wlx40a5ef01370a	rt2800usb	Ralink Technology, Corp. RT5370

On passera la carte Wifi en monitor :

 airmon-ng start wlx40a5ef01370a

On aura alors rennomé notre interface wlx40a5ef01370a par wlan0mon

PHY	Interface	Driver		Chipset
phy0	wlan0mon	rt2800usb	Ralink Technology, Corp. RT5370

Une fois le handshake récupéré, nous avons créé notre propre dictionnaire contenant l'ensemble des mots de passes potentiels.Nous avons alors utilisé la commande suivante :

 crunch 8 8 0123456789 >> /home/pifou/Desktop/Dico_Kracotte01.txt

Afin de casse la clé WPA, nous allons utiliser la commande suivante :

 aircrack-ng -w xaa kracotte01.txt-01.cap

On obtient le résultat suivant :


                             Aircrack-ng 1.5.2 
     [08:04:01] 66637843/102795810 keys tested (958.44 k/s) 
     Time left: 10 hours, 29 minutes, 3 seconds                64.83%
                          KEY FOUND! [ 66601666 ]
     Master Key     : 43 33 CD 6B EA 53 29 36 F9 53 21 00 33 0A 1A 45 
                      18 E3 D5 1D DD 1C 37 29 B9 6B 49 32 24 80 02 E5 
     Transient Key  : 77 A3 E9 BF CE FD D1 2B D9 62 3B 15 3C D5 2C 20 
                      59 59 19 3E AF 62 8F C9 1A 48 9C 1B 4B A4 89 70 
                      B3 4C 79 2A 0A FB C9 71 1F 10 01 BE A5 FA 96 41 
                      18 04 12 0E 01 91 DD EA B2 96 17 F3 69 AC 7C F5 
     EAPOL HMAC     : DA 48 8D 5E B4 0E F9 78 63 C7 8E 01 56 40 82 10