{"id":157,"date":"2012-07-02T18:16:44","date_gmt":"2012-07-02T16:16:44","guid":{"rendered":"http:\/\/blog.asafety.fr\/?p=157"},"modified":"2015-11-11T01:31:31","modified_gmt":"2015-11-10T23:31:31","slug":"dechiffrer-un-flux-ipsec-ikev2-de-racoon2","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/prog-and-dev\/dechiffrer-un-flux-ipsec-ikev2-de-racoon2\/","title":{"rendered":"D\u00e9chiffrer un flux IPsec IKEv2 de Racoon2"},"content":{"rendered":"<p><\/p>\n<p>IPsec, pour &#8220;<em>Internet Protocol Security<\/em>&#8221; est un des standards en termes de protocoles s\u00e9curis\u00e9s. Tr\u00e8s d\u00e9ploy\u00e9 dans le monde de l&#8217;entreprise, ce protocole permet d&#8217;assurer des communications s\u00e9curis\u00e9s (int\u00e8gres, authentifi\u00e9es et confidentielles) au travers de r\u00e9seaux jug\u00e9s non-s\u00e9curis\u00e9s tel l&#8217;Internet.<\/p>\n<p>Cet article n&#8217;a pas la vocation de pr\u00e9senter finement le fonctionnement d&#8217;IPsec ni de ses multiples configurations, mais de s&#8217;attarder sur le d\u00e9chiffrement de tels flux, notamment au travers du tr\u00e8s c\u00e9l\u00e8bre\u00a0analyseur r\u00e9seau <a title=\"Wireshark t\u00e9l\u00e9chargement\" href=\"http:\/\/www.wireshark.org\/\" target=\"_blank\">Wireshark<\/a>.<\/p>\n<p>Le protocole IPsec se compose de plusieurs sous-protocoles.\u00a0Le protocole de n\u00e9gociation IKE pour &#8220;<em>Internet Key eXchange&#8221;<\/em>, fond\u00e9 sur le <em>framework<\/em> protocolaire ISAKMP (&#8220;<em>Internet Security Association and Key Management Protocol&#8221;<\/em>). IKE existe en deux versions dont les sp\u00e9cificit\u00e9s et fonctionnalit\u00e9s sont tr\u00e8s diff\u00e9rentes. La premi\u00e8re version est jug\u00e9e beaucoup plus complexe \u00e0 mettre en place que la seconde notamment via ses modes de fonctionnement (&#8220;<em>main&#8221;<\/em>, &#8220;<em>agressive&#8221;<\/em>, &#8220;<em>quick mode&#8221;<\/em>&#8230;). Ce protocole de n\u00e9gociation sert \u00e0 accorder les deux partis d&#8217;une liaison s\u00e9curis\u00e9e autour des algorithmes cryptographiques \u00e0 employer (sym\u00e9trique, asym\u00e9trique, de hachage&#8230;), du type de lien \u00e0 \u00e9tablir (&#8220;<em>tunnel<\/em>&#8221; ou &#8220;<em>transport&#8221;<\/em>) et du protocole d&#8217;acheminement de donn\u00e9es \u00e0 utiliser (AH pour &#8220;<em>Authentification header<\/em>&#8221; qui assure l&#8217;authentification des \u00e9changes, et\/ou ESP pour &#8220;<em>Encapsulated Security Payload<\/em>&#8221; qui ajoute la confidentialit\u00e9).<\/p>\n<p>Au niveau de la pile OSI, IPsec \u00e9volue \u00e0 divers niveaux. La n\u00e9gociation via IKE\/ISAKMP s&#8217;effectue au niveau de la couche 4 applicative, via un transport UDP alors que l&#8217;acheminement des donn\u00e9es en tant que telles se fait via la couche 3 r\u00e9seau, prot\u00e9geant ainsi toutes les couches sup\u00e9rieures (dont TCP et UDP).<\/p>\n<div id=\"attachment_161\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/pile_OSI-secured_protocols.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-161\" class=\"size-medium wp-image-161\" title=\"Pile OSI et protocoles s\u00e9curis\u00e9s\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/pile_OSI-secured_protocols-300x248.png\" alt=\"Pile OSI et protocoles s\u00e9curis\u00e9s\" width=\"300\" height=\"248\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/pile_OSI-secured_protocols-300x248.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/pile_OSI-secured_protocols.png 444w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-161\" class=\"wp-caption-text\">Pile OSI et protocoles s\u00e9curis\u00e9s<\/p><\/div>\n<p>Lors d&#8217;analyse r\u00e9seau, de mise en place d&#8217;architecture s\u00e9curis\u00e9e, de <em>troubleshooting<\/em>, de <em>pentest<\/em>, de <em>fuzzing<\/em> ou d&#8217;audit d&#8217;intrusion, il est souvent n\u00e9cessaire de s&#8217;attarder sur des flux chiffr\u00e9s via IPsec.<\/p>\n<p>Le d\u00e9chiffrement de flux IPsec d\u00e9pend du sous-protocole cibl\u00e9. Est-ce l&#8217;acheminement de donn\u00e9es qui doit \u00eatre d\u00e9chiffr\u00e9 pour de l&#8217;analyse? Ou la n\u00e9gociation des param\u00e8tres de s\u00e9curit\u00e9? Pour chacun de ces cas, diverses difficult\u00e9s interviennent. L&#8217;outil de r\u00e9f\u00e9rence de visualisation des flux chiffr\u00e9s et d\u00e9chiffr\u00e9s est Wireshark. Celui-ci dispose des facult\u00e9s de :<\/p>\n<ul>\n<li>D\u00e9chiffrer des flux d&#8217;acheminement de donn\u00e9es ESP. Une <a title=\"D\u00e9chiffrement ESP via Wireshark\" href=\"http:\/\/wiki.wireshark.org\/ESP\" target=\"_blank\">m\u00e9thode g\u00e9n\u00e9rique<\/a> est disponible.<\/li>\n<li>D\u00e9chiffrer des flux de n\u00e9gociation IKEv2. Une m\u00e9thode g\u00e9n\u00e9rique est disponible.<\/li>\n<li>D\u00e9chiffrer des flux de n\u00e9gociation IKEv1. La m\u00e9thode g\u00e9n\u00e9rique n&#8217;est disponible qu&#8217;\u00e0 partir de la tr\u00e8s r\u00e9cente <a title=\"Changelog de Wireshark 1.8.0\" href=\"http:\/\/www.wireshark.org\/docs\/relnotes\/wireshark-1.8.0.html\" target=\"_blank\">version 1.8 de Wireshark<\/a>.<\/li>\n<\/ul>\n<div>Vu que l&#8217;acheminement de donn\u00e9es IPsec s&#8217;effectue au niveau de la couche 3 du mod\u00e8le OSI, une impl\u00e9mentation noyau est la solution la plus souvent utilis\u00e9 pour exploiter IPsec. Une telle impl\u00e9mentation peut se faire via l&#8217;utilisation de d\u00e9mons syst\u00e8mes, tel que :<\/div>\n<ul>\n<li><a title=\"Racoonv1\" href=\"http:\/\/ipsec-tools.sourceforge.net\/\" target=\"_blank\">Racoon version 1<\/a> pour IKEv1, dont le d\u00e9mon de n\u00e9gociation se nomme Charon (Linux).<\/li>\n<li><a title=\"Racoonv2\" href=\"http:\/\/www.racoon2.wide.ad.jp\/w\/\" target=\"_blank\">Racoon version 2<\/a> pour IKEv1 et IKEv2, dont le d\u00e9mon de n\u00e9gociation se nomme &#8220;iked&#8221; et celui de gestion des SA (&#8220;Security Association&#8221;) &#8220;spmd&#8221; (Linux).<\/li>\n<li><a title=\"FreeS\/Wan et OpenS\/Wan\" href=\"http:\/\/www.strongswan.org\/\" target=\"_blank\">FreeS\/Wan et OpenS\/Wan<\/a>, bas\u00e9 sur le d\u00e9mon &#8220;Pluto&#8221; (Linux).<\/li>\n<li>Les syst\u00e8mes Windows int\u00e8grent nativement la gestion d&#8217;IPsec au niveau noyau.<\/li>\n<\/ul>\n<p>R\u00e9cemment, il m&#8217;a \u00e9t\u00e9 n\u00e9cessaire d&#8217;effectuer de l&#8217;analyse <em>post-mortem<\/em> de flux de n\u00e9gociation IKEv2 pour des liaisons IPsec \u00e9tablies via Racoon2. Autrement dit, il fallait disposer de la possibilit\u00e9 de d\u00e9chiffrer les flux IKEv2 de Racoon2.<\/p>\n<p>Certains d\u00e9mons IPsec fournissent d&#8217;embl\u00e9e dans leurs fichiers de journalisation les valeurs hexad\u00e9cimales n\u00e9cessaires au d\u00e9chiffrement de tels flux via Wireshark. Ces valeurs sont \u00e0 renseigner dans l&#8217;analyseur r\u00e9seau sous le menu &#8220;<em>Edit\/Preferences&#8221;<\/em>, puis dans la liste des protocoles rechercher &#8220;ISAKMP&#8221;, \u00e9diter la table de d\u00e9chiffrement IKEv2 et ajouter une nouvelle entr\u00e9e, comme indiqu\u00e9 sur la capture suivante.<\/p>\n<div>\n<div id=\"attachment_165\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_IKEv2_decryption_table.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-165\" class=\"size-medium wp-image-165\" title=\"Wireshark_IKEv2_decryption_table\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_IKEv2_decryption_table-300x165.png\" alt=\"Table de d\u00e9chiffrement IKEv2 au sein de Wireshark\" width=\"300\" height=\"165\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_IKEv2_decryption_table-300x165.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_IKEv2_decryption_table.png 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-165\" class=\"wp-caption-text\">Table de d\u00e9chiffrement IKEv2 au sein de Wireshark<\/p><\/div>\n<dl id=\"attachment_165\">\n<dt>Les valeurs hexad\u00e9cimales \u00e0 renseigner sont:<\/dt>\n<\/dl>\n<\/div>\n<ul>\n<li><em>Initiator&#8217;s SPI<\/em> : La valeur du <em>cookie<\/em> IKEv2 du c\u00f4t\u00e9 de l&#8217;initiateur de la n\u00e9gociation. Cette valeur est visible dans les en-t\u00eates de tous les \u00e9changes, en clair.<\/li>\n<li><em>Responder&#8217;s SPI<\/em> : La valeur du <em>cookie<\/em> IKEv2 du c\u00f4t\u00e9 de r\u00e9pondeur de la n\u00e9gociation. Cette valeur est visible \u00e0 partir de la premi\u00e8re r\u00e9ponse du serveur.<\/li>\n<li><em>SK_ei<\/em> : Le vecteur hexad\u00e9cimal de chiffrement de l&#8217;initiateur, qui sert \u00e0 la d\u00e9rivation de la cl\u00e9 sym\u00e9trique partag\u00e9e (<em>Shared Key<\/em>).\u00a0Ce vecteur est g\u00e9n\u00e9r\u00e9 au cours de l&#8217;appel des fonctions de cr\u00e9ation du secret partag\u00e9 de chaque c\u00f4t\u00e9 des pairs.<\/li>\n<li>SK_er :\u00a0Le vecteur hexad\u00e9cimal de chiffrement du r\u00e9pondeur, qui sert \u00e0 la d\u00e9rivation de la cl\u00e9 sym\u00e9trique partag\u00e9e (<em>Shared Key<\/em>).\u00a0Ce vecteur est g\u00e9n\u00e9r\u00e9 au cours de l&#8217;appel des fonctions de cr\u00e9ation du secret partag\u00e9 de chaque c\u00f4t\u00e9 des pairs.<\/li>\n<li><em>Encryption Algorithm<\/em> : L&#8217;algorithme de chiffrement sym\u00e9trique qui a \u00e9t\u00e9 n\u00e9goci\u00e9 au cours des deux premiers \u00e9changes, en clair.<\/li>\n<li><em>SK_ai<\/em> : Le vecteur hexad\u00e9cimal d&#8217;authentification de l&#8217;initiateur. Ce vecteur est g\u00e9n\u00e9r\u00e9 au cours de l&#8217;appel des fonctions de cr\u00e9ation du secret partag\u00e9 de chaque c\u00f4t\u00e9 des pairs.<\/li>\n<li><em>SK_ar<\/em> :\u00a0Le vecteur hexad\u00e9cimal d&#8217;authentification du r\u00e9pondeur.\u00a0Ce vecteur est g\u00e9n\u00e9r\u00e9 au cours de l&#8217;appel des fonctions de cr\u00e9ation du secret partag\u00e9 de chaque c\u00f4t\u00e9 des pairs.<\/li>\n<li><em>Integrity Algorithm<\/em> : L&#8217;algorithme d&#8217;int\u00e9grit\u00e9 n\u00e9goci\u00e9 au cours des deux premiers messages, en clair.<\/li>\n<\/ul>\n<div id=\"attachment_172\" style=\"width: 277px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_catch_algo_and_SPI.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-172\" class=\"size-medium wp-image-172\" title=\"R\u00e9cup\u00e9ration des SPI et algorithmes n\u00e9goci\u00e9s en clair dans Wireshark\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_catch_algo_and_SPI-267x300.png\" alt=\"R\u00e9cup\u00e9ration des SPI et algorithmes n\u00e9goci\u00e9s en clair dans Wireshark\" width=\"267\" height=\"300\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_catch_algo_and_SPI-267x300.png 267w, https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_catch_algo_and_SPI.png 888w\" sizes=\"auto, (max-width: 267px) 100vw, 267px\" \/><\/a><p id=\"caption-attachment-172\" class=\"wp-caption-text\">R\u00e9cup\u00e9ration des SPI et algorithmes n\u00e9goci\u00e9s en clair dans Wireshark<\/p><\/div>\n<p>Toutefois, dans le cas de Racoon2, celui-ci ne fourni pas ces vecteurs malgr\u00e9 une forte verbosit\u00e9. C&#8217;est pourquoi il a \u00e9t\u00e9 n\u00e9cessaire de recompiler les sources de Racoon2 en ajoutant quelques lignes de code pour visualiser les vecteurs hexad\u00e9cimaux n\u00e9cessaires.<\/p>\n<p>Pour d\u00e9chiffrer la n\u00e9gociation IKEv2 de Racoon2, il faut donc dans un premier temps\u00a0<a title=\"Racoon2 projet\" href=\"http:\/\/www.racoon2.wide.ad.jp\/w\/\" target=\"_blank\">t\u00e9l\u00e9charger les sources du projet<\/a> et les modifier avant l&#8217;installation du d\u00e9mon. Certaines d\u00e9pendances sont aussi \u00e0 installer:<\/p>\n<p>[bash]&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nwget http:\/\/ftp.racoon2.wide.ad.jp\/pub\/racoon2\/racoon2-20100526a.tgz&amp;amp;lt;br \/&amp;amp;gt;<br \/>\ntar zxvf racoon2-20100526a.tgz&amp;amp;lt;br \/&amp;amp;gt;<br \/>\ncd racoon2-20100526a\/&amp;amp;lt;br \/&amp;amp;gt;<br \/>\napt-get update&amp;amp;lt;br \/&amp;amp;gt;<br \/>\napt-get install libc6-dev bison flex libssl-dev libpcap-dev&amp;amp;lt;br \/&amp;amp;gt;<br \/>\napt-get install libkrb5-dev&amp;amp;lt;br \/&amp;amp;gt;<br \/>\napt-get install heimdal-dev&amp;amp;lt;br \/&amp;amp;gt;<br \/>\napt-get install heimdal-clients[\/bash]Une fois t\u00e9l\u00e9charg\u00e9es et extraites, le fichier \u00e0 modifier est &#8220;<strong>racoon2-20100526a\/iked\/ikev2.c&#8221;<\/strong>.<\/p>\n<p>En ajoutant entre la ligne 5383 :<\/p>\n<p>[c]ike_sa-&amp;amp;amp;amp;gt;sk_p_r = sk_pr;[\/c]<\/p>\n<p>et 5384:<\/p>\n<p>[c]retval = 0;[\/c]<\/p>\n<p>le code suivant :<\/p>\n<p>[c]int i;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nprintf(&amp;amp;amp;amp;quot;\\n############################### sk_ei : &amp;amp;amp;amp;quot;);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nfor(i = 0 ; i &amp;amp;amp;amp;lt; sk_e_len ; i++)\u00a0printf(&amp;amp;amp;amp;quot;%02x&amp;amp;amp;amp;quot;, (unsigned char)sk_ei-&amp;amp;amp;amp;gt;v[i]);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nprintf(&amp;amp;amp;amp;quot;\\n############################### sk_er :\u00a0&amp;amp;amp;amp;quot;);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nfor(i = 0 ; i &amp;amp;amp;amp;lt; sk_e_len ; i++)\u00a0printf(&amp;amp;amp;amp;quot;%02x&amp;amp;amp;amp;quot;, (unsigned char)sk_er-&amp;amp;amp;amp;gt;v[i]);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nprintf(&amp;amp;amp;amp;quot;\\n############################### sk_ai :\u00a0&amp;amp;amp;amp;quot;);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nfor(i = 0 ; i &amp;amp;amp;amp;lt; sk_a_len ; i++)\u00a0printf(&amp;amp;amp;amp;quot;%02x&amp;amp;amp;amp;quot;, (unsigned char)sk_ai-&amp;amp;amp;amp;gt;v[i]);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nprintf(&amp;amp;amp;amp;quot;\\n############################### sk_ar :\u00a0&amp;amp;amp;amp;quot;);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nfor(i = 0 ; i &amp;amp;amp;amp;lt; sk_a_len ; i++)\u00a0printf(&amp;amp;amp;amp;quot;%02x&amp;amp;amp;amp;quot;, (unsigned char)sk_ar-&amp;amp;amp;amp;gt;v[i]);&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nprintf(&amp;amp;amp;amp;quot;\\n\\n&amp;amp;amp;amp;quot;);[\/c]<\/p>\n<p>Les modifications effectu\u00e9es, une recompilation de Racoon2 est n\u00e9cessaire. Sachant que le <em>Makefile<\/em> dispose de l&#8217;attribut &#8220;<em>-Werror<\/em>&#8221; et que de nombreuses variables sont d\u00e9clar\u00e9es sans \u00eatre utilis\u00e9es, la compilation ne s&#8217;ach\u00e8ve pas. Il est donc d&#8217;int\u00e9r\u00eat de supprimer ce <em>flag<\/em>\u00a0(environnement Ubuntu server).<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;CFLAGS=-D_GNU_SOURCE .\/configure&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n#nano lib\/Makefile # delete -Werror flag&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nsed -i &#8216;s\/-Werror \/\/g&#8217; lib\/Makefile&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nmake &amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp; make install[\/bash]<\/p>\n<p>Apr\u00e8s cette \u00e9tape le d\u00e9mon est install\u00e9. Il suffit de configurer celui-ci au travers de ses divers fichiers dans &#8220;\/usr\/local\/racoon2\/etc\/racoon2\/&#8221; puis de lancer le d\u00e9mon au premier plan :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;cd \/usr\/local\/racoon2\/sbin&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n.\/spmd &amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp; .\/iked -ddd -D 10 -F[\/bash]<\/p>\n<p>Le d\u00e9mon de n\u00e9gociation &#8220;iked&#8221; est lanc\u00e9 avec une forte verbosit\u00e9 et au premier plan. Une fois Racoon2 de d\u00e9ploy\u00e9 sur les deux pairs de la communication s\u00e9curis\u00e9e \u00e0 mettre en place, ceux-ci afficheront dans le terminal les vecteurs hexad\u00e9cimaux n\u00e9cessaires au d\u00e9chiffrement des flux IKEv2 :<\/p>\n<div id=\"attachment_171\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Putty_view_hex_vector_of_racoon2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-171\" class=\"size-medium wp-image-171\" title=\"Vecteurs hexad\u00e9cimaux visibles au sein de Racoon2 (via PuTTY)\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Putty_view_hex_vector_of_racoon2-300x188.png\" alt=\"Vecteurs hexad\u00e9cimaux visibles au sein de Racoon2 (via PuTTY)\" width=\"300\" height=\"188\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Putty_view_hex_vector_of_racoon2-300x188.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/Putty_view_hex_vector_of_racoon2.png 667w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-171\" class=\"wp-caption-text\">Vecteurs hexad\u00e9cimaux visibles au sein de Racoon2 (via PuTTY)<\/p><\/div>\n<p>Les vecteurs hexad\u00e9cimaux, les SPI et les algorithmes de la n\u00e9gociation identifi\u00e9s, il ne reste plus qu&#8217;\u00e0 les renseigner au sein de Wireshark :<\/p>\n<div id=\"attachment_173\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_inject_hex_vector.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-173\" class=\"size-medium wp-image-173\" title=\"Table de d\u00e9chiffrement IKEv2 remplie\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_inject_hex_vector-300x203.png\" alt=\"Table de d\u00e9chiffrement IKEv2 remplie\" width=\"300\" height=\"203\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_inject_hex_vector-300x203.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_inject_hex_vector.png 419w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-173\" class=\"wp-caption-text\">Table de d\u00e9chiffrement IKEv2 remplie<\/p><\/div>\n<p>Enfin, apr\u00e8s validation de l&#8217;ajout de ces renseignements, et un nouveau bloc &#8220;<em>Decrypted Data<\/em>&#8221; fait son apparition dans l&#8217;arborescence de l&#8217;analyseur de paquet avec le contenu en clair :<\/p>\n<div id=\"attachment_174\" style=\"width: 277px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_view_IKEv2_trafic_decrypted.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-174\" class=\"size-medium wp-image-174\" title=\"Payload IKEv2 d\u00e9chiffr\u00e9s au sein de Wireshark\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_view_IKEv2_trafic_decrypted-267x300.png\" alt=\"Payload IKEv2 d\u00e9chiffr\u00e9s au sein de Wireshark\" width=\"267\" height=\"300\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_view_IKEv2_trafic_decrypted-267x300.png 267w, https:\/\/www.asafety.fr\/wp-content\/uploads\/Wireshark_view_IKEv2_trafic_decrypted.png 888w\" sizes=\"auto, (max-width: 267px) 100vw, 267px\" \/><\/a><p id=\"caption-attachment-174\" class=\"wp-caption-text\">Payload IKEv2 d\u00e9chiffr\u00e9s au sein de Wireshark<\/p><\/div>\n<p>En esp\u00e9rant que \u00e7a puisse d\u00e9panner et faire gagner du temps \u00e0 certains !<\/p>\n<p><strong>[Edit]<\/strong>\u00a0Suite \u00e0 un \u00e9change avec un membre du projet Racoon2, il s&#8217;av\u00e8re qu&#8217;une alternative est pr\u00e9sente au sein de ce projet. Il est en effet possible d&#8217;indiquer au d\u00e9mon &#8220;iked&#8221; d&#8217;enregistrer tous les \u00e9changes IKEv2 au sein d&#8217;un fichier PCAP sans aucun chiffrement. Cet enregistrement se fait donc en amont de l&#8217;envoi du paquet, puisque sur le m\u00e9dium le paquet est bien prot\u00e9g\u00e9. Cela peut \u00eatre une solution.<\/p>\n<p>Pour utiliser cette fonctionnalit\u00e9, Racoon2 doit \u00eatre compil\u00e9 avec la prise en compte de la biblioth\u00e8que PCAP :<\/p>\n<p>[bash].\/configure &#8211;enable-pcap[\/bash]<\/p>\n<p>Puis, comme l&#8217;indique le manuel\/l&#8217;aide d&#8217;iked, l&#8217;option &#8220;-P&#8221; est utilisable :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;-P outfile&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nRecord unencrypted IKE communication packets to the file.This option is available only if was compiled with &#8211;enable-pcap configuration option.[\/bash]<\/p>\n<p>Merci \u00e0 Shoichi pour l&#8217;information !<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>IPsec, pour &#8220;Internet Protocol Security&#8221; est un des standards en termes de protocoles s\u00e9curis\u00e9s. Tr\u00e8s d\u00e9ploy\u00e9 dans le monde de [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1191,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,57,56,16],"tags":[74,61,72,77,70,71,62,41,64,78,84,73,60,63,87,75,67,76,68,65,66,85,86,82,83,80,81,79,69],"class_list":["post-157","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-reseaux-et-systemes","category-cryptographie","category-cryptologie","category-prog-and-dev","tag-aes_128_cbc","tag-ah","tag-authentification","tag-charon","tag-decryption","tag-encrypt","tag-esp","tag-hash","tag-ike","tag-iked","tag-initiator-spi","tag-integrity","tag-ipsec","tag-isakmp","tag-patch-racoon2","tag-payload-encrypted","tag-pile-osi","tag-pluto","tag-protocoles-securises","tag-racoon","tag-racoon2","tag-responder-spi","tag-shared-key","tag-sk_ai","tag-sk_ar","tag-sk_ei","tag-sk_er","tag-spi","tag-wireshark-1-8"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":38,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"predecessor-version":[{"id":1647,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/157\/revisions\/1647"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1191"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}