Comment décrypter des paquets d'IKE et d'ESP sur un dispositif de réseaux de Palo Alto
Resolution
Vue d’ensemble
Lorsque des tunnels IPSec se terminent sur un pare-feu de Palo Alto Networks, il est possible de décrypter le trafic à l'Aide des clés enregistrées sous ikemg. log. Cela peut être très utile pour le dépannage de IKE, et les problèmes de performances avec les tunnels IPSec tels que la perte de paquets et les paquets hors d'ordre.
Détails
Sur cet article, nous allons illustrer comment décrypter IKEv1 sur le mode principal et le paquet ESP en utilisant la topologie suivante. Les mêmes étapes peuvent être utilisées avec IKEv2.
Par défaut, le niveau de débogage de ikemgr est normal. Pour enregistrer les clés d'Authentification et de cryptage négociées, nous devons augmenter le niveau de débogage à dump.
admin @ FW1 > Debug IKE global Show
SW.ikedaemon.Debug.global : normal
admin @ FW1 > Debug IKE global sur dump
admin @ FW1 > Debug IKE global Show
SW. ikedaemon. Debug. global: dump
Les paquets peuvent être capturés n'importe où entre FW1 et FW2. Sur notre configuration de test, nous allons prendre des captures de paquets sur FW1 suivant ce guide https://Live.paloaltonetworks.com/T5/Learning-Articles/How-to-Run-a-Packet-Capture/ta-p/62390.
Pour capturer des données claires et chiffrées entre User1 et L'utilisation de l'application, nous allons utiliser les filtres suivants.
admin @ FW1 > Debug dataplane paquet-diag Show Setting
--------------------------------------------------------------------------------
Réglage de paquet de diagnostic :
--------------------------------------------------------------------------------
Filtre de paquets
Activé : Oui
Paquet préalablement analysé match : aucun
Index 1:192.168.112.104 [0]-> 192.168.125.110 [0], proto 0
pénétration-interface toute, évacuation-interface tout, exclure non IP
pénétration-interface toute, évacuation-interface tout, exclure non IP
Index 2:10.193.121.91 [0]-> 10.193.121.93 [0], proto 0
pénétration-interface toute, évacuation-interface tout, exclure non IP
pénétration-interface toute, évacuation-interface tout, exclure non IP
--------------------------------------------------------------------------------
Exploitation forestière
Activé: non
Log-Throttle: non
Sync-log-by-Ticks: Oui
Caractéristiques :
Compteurs:
--------------------------------------------------------------------------------
Capture de paquets
Activé : Oui
Snaplen: 0
Réception étape: fichier RX
Capturé: paquets-0 octets-0
Maximum: paquets-0 octets-0
Stage transmit: fichier TX
Capturé: paquets-1 octets-0
Maximum: paquets-0 octets-0
Étape Drop: fichier Dr
Capturé: paquets-0 octets-0
Maximum: paquets-0 octets-0
À ce stade, nous devons faire rebondir le tunnel IPSec pour démarrer un nouveau processus de négociation et enregistrer les clés IPSec phase1 et phase2.
admin @ FW1 > Clear VPN IKE-sa Gateway to-FW2
admin @ FW1 > Clear VPN IPSec-sa tunnel to-FW2
Ensuite, générez le trafic entre User1 et L'autre et assurez-vous que le tunnel est en place.
admin @ FW1 > Show VPN IKE-sa Gateway TO-FW2
IKEv1 phase-1 SAs
GwID/client IP Peer-Address Gateway nom Role mode algorithme établi expiration V St XT P
hase2
-------------- ------------ ------------ ---- ---- --------- ----------- ---------- - -- -- -
-----
1 10.193.121.93 TO-FW2 init main PSK/DH2/A128/SHA1 apr. 08 21:57:04 Apr. 08 22:03:04 v1 12 4 1
Show IKEv1 IKE sa: total 2 passerelles trouvées. 1 IKE sa trouvé.
IKEv1 phase-2 SAs
GwID/client IP Peer-Address Gateway nom de rôle algorithme SPI (in) SPI (out) msgid St XT
-------------- ------------ ------------ ---- --------- ------- -------- ----- -- --
1 10.193.121.93 TO-FW2 init ESP/DH5/Tunl/SHA2 B57366C2 B82D7CDE 547B1BD5 9 1
Show IKEv1 phase2 sa: total 2 passerelles trouvées. 1 IKE sa trouvé.
Décryptez IKEv1 sur le mode principal.
Avec IKEv1, les messages d'identification et de mode rapide sont chiffrés. Il est parfois nécessaire de les décrypter pour vérifier quels paramètres ont été échangés entre les deux pairs.
Voici un exemple de message d'identification crypté.
Pour décrypter les messages IKEv1, nous avons besoin de deux informations.
- Cookie de l'Initiateur qui correspond au SPI de l'Initiateur sur la capture de paquet. 294ff0e604e73f31
- Clé de cryptage qui se trouve sur le ikemgr. log: recherchez "cookie: 294ff0e604e73f31", puis faites défiler les messages de négociation jusqu'à ce que vous trouviez la clé de cryptage final calculée.
2017-04-08 21:57:04 [debug]: Oakley. c:3157: oakley_compute_enckey (): clé de cryptage final calculée:
2017-04-08 21:57:04 [DEBUG]: Oakley. c:3158: oakley_compute_enckey ():
793f8697 cc0e8cdb 5851496c 0acff14c
Ensuite, allez à Wireshark > Edit > préférences > protocoles > ISAKMP > IKEv1 table de décryptage et entrez le cookie de l'initiateur et la clé de cryptage:
Et voici le message d'identification déchiffré:
Décrypter les paquets ESP.
Le décryptage des paquets ESP suit le même principe que IKE, mais nécessite plus de paramètres.
- Protocole: IPv4
- IP SRC: l'ip source des paquets ESP que vous souhaitez décrypter. Pour L'exemple ci-dessus 10.193.121.91
- DST IP: l'ip de destination des paquets ESP que vous souhaitez décrypter. Pour L'exemple ci-dessus 10.193.121.93
- ESP SPI: vous pouvez le trouver sur la capture de paquets sous charge utile de sécurité d'encapsulation. Dans notre exemple, il est 0xb82d7cde
- Algorithme de cryptage et d'Authentification: ils font partie de la sortie de la commande' > Show VPN flow'.
admin @ FW1 > Show VPN nom de flux à-FW2 | algorithme de correspondance
algorithme AUTH: SHA256
algorithme enc: AES128
- Clé de cryptage et d'Authentification qui se trouve sur le ikemgr. log:
21.93 [500]/0, satype = 141 (ESP), SPI =, wsize = 4, AuthType = 41 (SHA256), enctype = 15 (AES128), sadrapeaus = 0x0, Samode = 137 (Tunl), reqi
d = 0, durée de vie dure 180, bytes 0, durée de vie Soft 146, bytes 0, enckey Len = 16 [3d6991e6a0f888d240c8d539a54676a7], authkey Len = 32
[bbac69f722297906c11d7d9038248ba3b509519a0e1e37bb0652752130c8324c]
Ensuite, allez à Wireshark > Edit > préférences > protocoles > décryptage ESP et sélectionnez "tentative de détection/décodage des charges utiles ESP cryptées":
Puis éditez les SAS ESP.
Après cela, vous verrez les paquets ESP décryptés.