{"id":156911,"date":"2025-09-10T11:11:46","date_gmt":"2025-09-10T18:11:46","guid":{"rendered":"https:\/\/unit42.paloaltonetworks.com\/?p=156911"},"modified":"2025-09-12T12:00:39","modified_gmt":"2025-09-12T19:00:39","slug":"adaptixc2-post-exploitation-framework","status":"publish","type":"post","link":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/","title":{"rendered":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement"},"content":{"rendered":"<h2><a id=\"post-156911-_heading=h.tw3fo8o295l3\"><\/a>Avant-propos<\/h2>\n<p>Au d\u00e9but du mois de mai\u00a02025, les chercheurs de Unit\u00a042 ont constat\u00e9 qu\u2019AdaptixC2 \u00e9tait utilis\u00e9 pour infecter plusieurs syst\u00e8mes.<\/p>\n<p>AdaptixC2 est un framework open source r\u00e9cemment identifi\u00e9, con\u00e7u pour la post-exploitation et l\u2019\u00e9mulation malveillante \u00e0 destination de testeurs de p\u00e9n\u00e9tration, mais d\u00e9j\u00e0 utilis\u00e9 par des acteurs de la menace dans leurs campagnes. Contrairement \u00e0 de nombreux frameworks\u00a0C2 bien connus, AdaptixC2 est rest\u00e9 en grande partie inaper\u00e7u. Il existe peu de documents publics d\u00e9montrant son utilisation dans le cadre d\u2019attaques r\u00e9elles. Nos recherches analysent les capacit\u00e9s d\u2019AdaptixC2, afin d\u2019aider les \u00e9quipes de s\u00e9curit\u00e9 \u00e0 s\u2019en prot\u00e9ger.<\/p>\n<p>AdaptixC2 est un framework polyvalent de post-exploitation. Les acteurs de la menace l\u2019utilisent pour ex\u00e9cuter des commandes, transf\u00e9rer des fichiers et exfiltrer des donn\u00e9es sur des syst\u00e8mes compromis. Comme il s\u2019agit d\u2019un logiciel open source, les acteurs de la menace peuvent facilement le personnaliser et l\u2019adapter \u00e0 leurs objectifs sp\u00e9cifiques. Cela en fait un outil extr\u00eamement flexible et dangereux.<\/p>\n<p>L\u2019\u00e9mergence d\u2019AdaptixC2 comme outil utilis\u00e9 sur le terrain par des acteurs de la menace souligne une tendance croissante des attaquants \u00e0 recourir \u00e0 des frameworks personnalisables pour \u00e9chapper \u00e0 la d\u00e9tection.<\/p>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s contre les menaces d\u00e9crites dans cet article gr\u00e2ce aux produits suivants\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/dns-security\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0DNS\u00a0Security<\/a><\/li>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-threat-prevention\/administration\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0Threat Prevention<\/a><\/li>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-url-filtering\/administration\" target=\"_blank\" rel=\"noopener\">Advanced URL Filtering<\/a><\/li>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/wildfire\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0WildFire<\/a><\/li>\n<li><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/p\/XDR\" target=\"_blank\" rel=\"noopener\">Cortex\u00a0XDR<\/a> et <a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/p\/XSIAM\" target=\"_blank\" rel=\"noopener\">XSIAM<\/a><\/li>\n<\/ul>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez <a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">l\u2019\u00e9quipe Unit\u00a042 de r\u00e9ponse \u00e0 incident<\/a>.<\/p>\n<table style=\"width: 99.1523%;\">\n<thead>\n<tr>\n<td style=\"width: 35%;\"><b>Unit\u00a042 \u2013\u00a0Th\u00e9matiques connexes<\/b><\/td>\n<td style=\"width: 207.468%;\"><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/pentest-tool-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Pentesting Tools<\/b><\/a>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/c2-fr\/\" target=\"_blank\" rel=\"noopener\">C2<\/a><\/strong><\/td>\n<\/tr>\n<\/thead>\n<\/table>\n<h2><a id=\"post-156911-_heading=h.8ws0d4oyueb2\"><\/a>Analyse technique du framework malveillant AdaptixC2<\/h2>\n<p>AdaptixC2 est un framework C2 open source que nous avons r\u00e9cemment observ\u00e9 utilis\u00e9 dans plusieurs attaques r\u00e9elles.<\/p>\n<p>Nous avons identifi\u00e9 deux\u00a0infections par AdaptixC2. Dans un cas, des techniques d\u2019ing\u00e9nierie sociale ont \u00e9t\u00e9 exploit\u00e9es. Nous estimons avec une grande certitude que l\u2019autre a utilis\u00e9 des outils de g\u00e9n\u00e9ration de code bas\u00e9s sur l\u2019IA.<\/p>\n<h3><a id=\"post-156911-_heading=h.4o59uxdrxywd\"><\/a><strong>Fonctionnalit\u00e9s d\u2019AdaptixC2<\/strong><\/h3>\n<p>AdaptixC2 est un outil de red teaming pouvant \u00eatre exploit\u00e9 pour mener des actions malveillantes, avec des possibilit\u00e9s d\u2019extension et de personnalisation. S\u2019il \u00e9tait utilis\u00e9 par un acteur de la menace, il pourrait prendre le contr\u00f4le complet des machines compromises et ex\u00e9cuter un <a href=\"https:\/\/adaptix-framework.gitbook.io\/adaptix-framework\/extenders\/agents\/beacon#commands\" target=\"_blank\" rel=\"noopener\">large \u00e9ventail d\u2019actions<\/a>. Par exemple\u00a0:<\/p>\n<ul>\n<li>Manipulation du syst\u00e8me de fichiers<\/li>\n<li>R\u00e9pertoires de listes<\/li>\n<li>Cr\u00e9ation, modification et suppression de fichiers et de dossiers<\/li>\n<li>\u00c9num\u00e9ration des processus en cours d\u2019ex\u00e9cution<\/li>\n<li>Fermeture de certaines applications sp\u00e9cifiques<\/li>\n<li>Lancement des ex\u00e9cutions de nouveaux programmes<\/li>\n<\/ul>\n<p>Les acteurs de la menace utilisent ces fonctionnalit\u00e9s pour \u00e9tablir et maintenir une pr\u00e9sence dans un environnement, explorer davantage le syst\u00e8me compromis et se d\u00e9placer lat\u00e9ralement au sein du r\u00e9seau.<\/p>\n<p>Pour faciliter des communications discr\u00e8tes et contourner les restrictions r\u00e9seau, le framework prend en charge des fonctionnalit\u00e9s de tunneling sophistiqu\u00e9es, y compris la fonctionnalit\u00e9 de proxy SOCKS4\/5 et le transfert de ports. Cela permet aux attaquants de maintenir des canaux de communication m\u00eame si le r\u00e9seau est fortement prot\u00e9g\u00e9.<\/p>\n<p>AdaptixC2 est con\u00e7u de mani\u00e8re modulaire, utilisant des \u00ab\u00a0extenders\u00a0\u00bb qui fonctionnent comme des plug-in pour les auditeurs et les agents. Cela permet aux pirates de cr\u00e9er des payloads personnalis\u00e9s et des moyens d\u2019\u00e9viter la d\u00e9tection qui sont sp\u00e9cifiques au syst\u00e8me qu\u2019ils attaquent. AdaptixC2 prend \u00e9galement en charge les Beacon Object Files (BOF), qui permettent aux attaquants d\u2019ex\u00e9cuter de petits programmes personnalis\u00e9s \u00e9crits en\u00a0C directement dans le processus de l\u2019agent afin d\u2019\u00e9chapper \u00e0 la d\u00e9tection.<\/p>\n<p>Les agents Beacon d\u2019AdaptixC2 sont \u00e9quip\u00e9s de commandes d\u00e9di\u00e9es pour transf\u00e9rer des donn\u00e9es rapidement et secr\u00e8tement. Ces agents sont compatibles avec les architectures\u00a0x86 et x64, et peuvent \u00eatre g\u00e9n\u00e9r\u00e9s dans diff\u00e9rents formats, notamment\u00a0:<\/p>\n<ul>\n<li>Fichiers ex\u00e9cutables autonomes (EXE)<\/li>\n<li>Fichiers BBL (biblioth\u00e8que \u00e0 liaisons dynamiques)<\/li>\n<li>Fichiers ex\u00e9cutables de service<\/li>\n<li>Shellcode brut<\/li>\n<\/ul>\n<p>Les attaquants peuvent utiliser le framework AdaptixC2 pour d\u00e9rober des donn\u00e9es sur le r\u00e9seau compromis. Cette fonctionnalit\u00e9 d\u2019exfiltration de donn\u00e9es permet de configurer la taille des segments pour les t\u00e9l\u00e9chargements et les chargements de fichiers, les segments plus petits \u00e9tant moins susceptibles d\u2019\u00eatre d\u00e9tect\u00e9s par les syst\u00e8mes de surveillance r\u00e9seau.<\/p>\n<p>L\u2019interface AdaptixC2 affiche les agents et les sessions li\u00e9s sous forme de vue graphique. La figure\u00a01 illustre la vue de l\u2019attaquant, montrant la progression des attaques multi-\u00e9tapes et les chemins disponibles pour se d\u00e9placer dans le r\u00e9seau cibl\u00e9.<\/p>\n<figure id=\"attachment_156912\" aria-describedby=\"caption-attachment-156912\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156912 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1.png\" alt=\"Capture d\u2019\u00e9cran du serveur AdaptixC2. L\u2019interface affiche diverses fen\u00eatres de ressources et de scripts ainsi qu\u2019une cha\u00eene d\u2019attaque repr\u00e9sent\u00e9e par des ic\u00f4nes de pare-feu et d\u2019ordinateurs. \" width=\"1000\" height=\"628\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1-700x440.png 700w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1-1114x700.png 1114w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1-768x483.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-233906-156911-1-1536x965.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156912\" class=\"wp-caption-text\">Figure\u00a01. Vue graphique \u2013 Serveur AdaptixC2. Source\u00a0: <a href=\"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\" target=\"_blank\" rel=\"noopener\">AdaptixC2 GitHub<\/a>.<\/figcaption><\/figure>\n<p>AdaptixC2 comprend \u00e9galement des fonctionnalit\u00e9s qui aident l\u2019attaquant \u00e0 maintenir la s\u00e9curit\u00e9 op\u00e9rationnelle (OpSec). Il s\u2019agit notamment de param\u00e8tres qui leur permettent de se fondre dans le trafic r\u00e9seau normal\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">KillDate<\/span>\u00a0: d\u00e9finit la date \u00e0 laquelle le beacon cessera de fonctionner.<\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">WorkingTime<\/span>\u00a0: cette option permet au beacon de n\u2019\u00eatre actif que pendant certaines heures.<\/li>\n<\/ul>\n<p>En outre, les acteurs de la menace peuvent modifier et am\u00e9liorer l\u2019agent en utilisant des techniques personnalis\u00e9es d\u2019obscurcissement, d\u2019anti-analyse et d\u2019\u00e9vasion, ce qui en fait une menace en constante \u00e9volution.<\/p>\n<h3><a id=\"post-156911-_heading=h.zdyg3r11kki2\"><\/a><strong>Configuration<\/strong><\/h3>\n<p>\u200bLa configuration d\u2019AdaptixC2 est chiffr\u00e9e et prend en charge trois types de beacons primaires gr\u00e2ce \u00e0 des structures de profil sp\u00e9cialis\u00e9es\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/adaptix-framework.gitbook.io\/adaptix-framework\/extenders\/listeners\/beacon-http\" target=\"_blank\" rel=\"noopener\">BEACON_HTTP<\/a> <\/span>pour les communications bas\u00e9es sur le web<\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">BEACON_SMB<\/span> pour la communication par canal nomm\u00e9<\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">BEACON_TCP<\/span> pour les connexions TCP directes<\/li>\n<\/ul>\n<p>Le profil HTTP est la variante du beacon la plus courante et contient des param\u00e8tres de communication web typiques tels que\u00a0:<\/p>\n<ul>\n<li>Serveurs<\/li>\n<li>Ports<\/li>\n<li>Param\u00e8tres SSL<\/li>\n<li>M\u00e9thodes HTTP<\/li>\n<li>URI<\/li>\n<li>En-t\u00eates<\/li>\n<li>Cha\u00eenes d\u2019agents utilisateurs<\/li>\n<\/ul>\n<p>Le profil SMB utilise les canaux nomm\u00e9s de Windows lorsque le protocole\u00a0HTTP peut \u00eatre bloqu\u00e9 ou surveill\u00e9. Le profil TCP est utilis\u00e9 pour cr\u00e9er des connexions de socket directes avec la possibilit\u00e9 d\u2019ajouter des donn\u00e9es pour un obscurcissement de base du protocole.<\/p>\n<p>AdaptixC2 comprend une configuration par d\u00e9faut int\u00e9gr\u00e9e, montrant comment le framework est g\u00e9n\u00e9ralement d\u00e9ploy\u00e9 et utilis\u00e9 en conditions r\u00e9elles. Le profil HTTP par d\u00e9faut cible <span style=\"font-family: 'courier new', courier, monospace;\">172.16.196.1:4443<\/span> en utilisant une communication HTTPS, avec une m\u00e9thode POST vers le terminal <span style=\"font-family: 'courier new', courier, monospace;\">\/uri.php<\/span> et le param\u00e8tre <span style=\"font-family: 'courier new', courier, monospace;\">X-Beacon-Id<\/span> pour l\u2019identification du beacon.<\/p>\n<p>La figure\u00a02 explique comment configurer le beacon.<\/p>\n<figure id=\"attachment_156923\" aria-describedby=\"caption-attachment-156923\" style=\"width: 653px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156923 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-237550-156911-2.png\" alt=\"Capture d\u2019\u00e9cran de l\u2019interface de configuration du beacon, montrant les onglets pour les param\u00e8tres principaux, les en-t\u00eates HTTP, la page d\u2019erreur et le payload. L\u2019onglet s\u00e9lectionn\u00e9 affiche des champs permettant de configurer l\u2019h\u00f4te et le port, les adresses de rappel, la cl\u00e9\u00a0SSL et d\u2019autres param\u00e8tres r\u00e9seau.\" width=\"653\" height=\"680\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-237550-156911-2.png 653w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-237550-156911-2-423x440.png 423w\" sizes=\"(max-width: 653px) 100vw, 653px\" \/><figcaption id=\"caption-attachment-156923\" class=\"wp-caption-text\">Figure\u00a02. Interface utilisateur du g\u00e9n\u00e9rateur du beacon HTTP. Source\u00a0: <a href=\"https:\/\/adaptix-framework.gitbook.io\/adaptix-framework\/extenders\/listeners\/beacon-http\" target=\"_blank\" rel=\"noopener\">Documentation d\u2019AdaptixC2<\/a>.<\/figcaption><\/figure>\n<p>Apr\u00e8s avoir cliqu\u00e9 sur \u00ab\u00a0Create\u00a0\u00bb, le g\u00e9n\u00e9rateur de beacon chiffre la configuration avec l\u2019algorithme cryptographique RC4 avant de l\u2019int\u00e9grer dans le beacon compil\u00e9. La configuration chiffr\u00e9e est stock\u00e9e comme suit\u00a0:<\/p>\n<ul>\n<li>4\u00a0octets\u00a0: Taille de la configuration (entier 32\u00a0bits)<\/li>\n<li>n\u00a0octets\u00a0: Donn\u00e9es de configuration chiffr\u00e9es RC4<\/li>\n<li>16\u00a0octets\u00a0: Cl\u00e9 de chiffrement RC4<\/li>\n<\/ul>\n<p>Le code suivant est la logique d\u2019extraction des cl\u00e9s, extrait de <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\/blob\/main\/Extenders\/agent_beacon\/src_beacon\/beacon\/AgentConfig.cpp\" target=\"_blank\" rel=\"noopener\">AgentConfig.cpp<\/a><\/span>\u00a0:<\/p>\n<pre class=\"lang:default decode:true\">ULONG profileSize = packer-&gt;Unpack32();\r\n\r\nthis-&gt;encrypt_key = (PBYTE) MemAllocLocal(16);\r\n\r\nmemcpy(this-&gt;encrypt_key, packer-&gt;data() + 4 + profileSize, 16);\r\n\r\nDecryptRC4(packer-&gt;data()+4, profileSize, this-&gt;encrypt_key, 16);<\/pre>\n<h4><a id=\"post-156911-_heading=h.2z4bjlhlxpfd\"><\/a>Extraction de la configuration \u00e0 partir d\u2019\u00e9chantillons malveillants<\/h4>\n<p>Le cryptage \u00e9tant simple et pr\u00e9visible, les \u00e9quipes de s\u00e9curit\u00e9 peuvent d\u00e9velopper un outil qui extrait automatiquement les configurations des \u00e9chantillons. Cet outil d\u2019extraction devrait fonctionner de la m\u00eame mani\u00e8re que le beacon charge ses propres configurations.<\/p>\n<p>L\u2019outil d\u2019extraction localise la configuration dans la section <span style=\"font-family: 'courier new', courier, monospace;\">.rdata<\/span> du fichier\u00a0PE. Il extrait ensuite la taille (quatre premiers octets), le bloc de donn\u00e9es chiffr\u00e9es et la cl\u00e9 RC4 (16\u00a0derniers octets). Apr\u00e8s avoir utilis\u00e9 la cl\u00e9 RC4 int\u00e9gr\u00e9e pour d\u00e9chiffrer les donn\u00e9es, il analyse la configuration en texte clair en d\u00e9composant les champs suivants\u00a0:<\/p>\n<ul>\n<li>Type d\u2019agent<\/li>\n<li>Indicateur SSL<\/li>\n<li>Nombre de serveurs<\/li>\n<li>Serveurs\/ports<\/li>\n<li>Param\u00e8tres HTTP<\/li>\n<li>Param\u00e8tres de synchronisation<\/li>\n<\/ul>\n<p>En utilisant cette m\u00e9thode, nous avons cr\u00e9\u00e9 un outil qui peut traiter les \u00e9chantillons AdaptixC2 et obtenir leurs configurations int\u00e9gr\u00e9es. Le code complet de l\u2019outil d\u2019extraction prend en charge la variante BEACON_HTTP. Cet outil est fourni dans la section <a href=\"#post-156911-_heading=h.t1rtfm73a7p9\" target=\"_blank\" rel=\"noopener\">Exemple d\u2019extracteur de configuration<\/a>. Les chercheurs peuvent utiliser cet extracteur pour analyser les \u00e9chantillons AdaptixC2 ou adapter le code \u00e0 d\u2019autres variantes.<\/p>\n<p>La configuration par d\u00e9faut du beacon est d\u00e9crite ci-dessous.<\/p>\n<pre class=\"lang:default decode:true\">{\r\n\r\n\"agent_type\": 3192652105,\r\n\r\n\"use_ssl\": true,\r\n\r\n\"servers_count\": 1,\r\n\r\n\"servers\": [\"172.16.196.1\"],\r\n\r\n\"ports\": [4443],\r\n\r\n\"http_method\": \"POST\",\r\n\r\n\"uri\": \"\/uri.php\",\r\n\r\n\"parameter\": \"X-Beacon-Id\",\r\n\r\n\"user_agent\": \"Mozilla\/5.0 (Windows NT 6.2; rv:20.0) Gecko\/20121202 Firefox\/20.0\",\r\n\r\n\"http_headers\": \"\\r\\n\",\r\n\r\n\"ans_pre_size\": 26,\r\n\r\n\"ans_size\": 47,\r\n\r\n\"kill_date\": 0,\r\n\r\n\"working_time\": 0,\r\n\r\n\"sleep_delay\": 2,\r\n\r\n\"jitter_delay\": 0,\r\n\r\n\"listener_type\": 0,\r\n\r\n\"download_chunk_size\": 102400\r\n\r\n}<\/pre>\n<h2><a id=\"post-156911-_heading=h.vdd5mne1robi\"><\/a>Sc\u00e9narios d\u2019utilisation d\u2019AdaptixC2<\/h2>\n<h3><a id=\"post-156911-_heading=h.oaobnx20v2t\"><\/a><strong>Sc\u00e9nario\u00a01\u00a0: Un appel frauduleux au service d\u2019assistance m\u00e8ne \u00e0 une infection par AdaptixC2<\/strong><\/h3>\n<p>En mai 2025, nous avons enqu\u00eat\u00e9 sur plusieurs incidents au cours desquels des acteurs de la menace ont install\u00e9 des beacons AdaptixC2. Dans certains cas, nous avons observ\u00e9 que les acteurs de la menace utilisaient le m\u00eame vecteur d\u2019attaque, comme indiqu\u00e9 \u00e0 la figure\u00a03.<\/p>\n<figure id=\"attachment_156978\" aria-describedby=\"caption-attachment-156978\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156978 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Fake-help-desk-support-leads-to-AdaptixC2.pptx-1-786x259.png\" alt=\"Illustration montrant le processus \u00ab\u00a0Un appel frauduleux au service d\u2019assistance m\u00e8ne \u00e0 AdaptixC2\u00a0\u00bb. La s\u00e9quence comprend\u00a0: un appel frauduleux au service d\u2019assistance, un ordinateur ex\u00e9cutant Quick Assist, l\u2019ex\u00e9cution d\u2019un fichier script nomm\u00e9 update.ps1, le t\u00e9l\u00e9chargement d\u2019un shellcode depuis Google\u00a0Drive, le d\u00e9cryptage et le chargement du shellcode dans la m\u00e9moire, et un cr\u00e2ne \u00e0 l\u2019int\u00e9rieur d\u2019un insecte repr\u00e9sentant le beacon AdaptixC2.\" width=\"1000\" height=\"329\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Fake-help-desk-support-leads-to-AdaptixC2.pptx-1-786x259.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Fake-help-desk-support-leads-to-AdaptixC2.pptx-1-768x253.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Fake-help-desk-support-leads-to-AdaptixC2.pptx-1.png 953w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156978\" class=\"wp-caption-text\">Figure\u00a03. Vecteur d\u2019attaque de l\u2019installation d\u2019AdaptixC2 sur la machine victime. Source\u00a0: <a href=\"https:\/\/x.com\/Unit42_Intel\/status\/1925206262184026156\" target=\"_blank\" rel=\"noopener\">Publication X de Unit\u00a042<\/a>.<\/figcaption><\/figure>\n<h4><a id=\"post-156911-_heading=h.bk3ljmrnziss\"><\/a>Compromission initiale<\/h4>\n<p>Les acteurs de la menace ont exploit\u00e9 la confiance accord\u00e9e \u00e0 Microsoft\u00a0Teams pour inciter les utilisateurs \u00e0 leur donner acc\u00e8s aux syst\u00e8mes de l\u2019entreprise. Dans un cas, les attaquants ont utilis\u00e9 des <a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/what-is-phishing\" target=\"_blank\" rel=\"noopener\">attaques d\u2019hame\u00e7onnage<\/a> pour se faire passer pour du personnel d\u2019assistance informatique (en utilisant des lignes d\u2019objet telles que \u00ab\u00a0Help Desk (External) | Microsoft Teams\u00a0\u00bb). Cela a convaincu les employ\u00e9s de lancer des sessions l\u00e9gitimes d\u2019assistance \u00e0 distance \u00e0 l\u2019aide d\u2019outils tels que Quick Assist, <a href=\"https:\/\/www.manageengine.com\/remote-monitoring-management\/what-is-rmm.html\" target=\"_blank\" rel=\"noopener\">l\u2019outil de surveillance et de gestion \u00e0 distance (RMM)<\/a>.<\/p>\n<p>Ce type d\u2019usurpation est courant chez les acteurs de la menace et ne refl\u00e8te en aucun cas une faille dans les produits ou services des \u00e9diteurs concern\u00e9s. Cela n\u2019implique pas n\u00e9cessairement une faille ou une qualit\u00e9 malveillante du produit l\u00e9gitime utilis\u00e9 \u00e0 mauvais escient.<\/p>\n<p>Le <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/2025-unit-42-global-incident-response-report-social-engineering-edition\/\" target=\"_blank\" rel=\"noopener\">Rapport mondial 2025 de Unit\u00a042 sur la r\u00e9ponse \u00e0 incident\u00a0: L\u2019\u00e9dition \u00ab\u00a0Social Engineering\u00a0\u00bb<\/a> a not\u00e9 que des techniques comme celle-ci constituent le vecteur d\u2019acc\u00e8s initial le plus r\u00e9pandu dans les compromissions que nous observons. Cet acc\u00e8s initial permet aux attaquants de prendre pied dans le syst\u00e8me cibl\u00e9, sans qu\u2019ils aient besoin de contourner les d\u00e9fenses p\u00e9rim\u00e9triques comme les pare-feu ou les syst\u00e8mes de d\u00e9tection d\u2019intrusion.<\/p>\n<h4><a id=\"post-156911-_heading=h.axbni8vw565r\"><\/a>D\u00e9ploiement et persistance d\u2019AdaptixC2 via l\u2019ex\u00e9cution d\u2019un shellcode<\/h4>\n<p>Les attaquants ont d\u00e9ploy\u00e9 le beacon AdaptixC2 \u00e0 l\u2019aide d\u2019un chargeur PowerShell en plusieurs \u00e9tapes qui t\u00e9l\u00e9charge un payload cod\u00e9 et chiffr\u00e9 \u00e0 partir d\u2019un lien vers un service l\u00e9gitime.<\/p>\n<p>Une fois t\u00e9l\u00e9charg\u00e9, le script PowerShell d\u00e9chiffre le payload \u00e0 l\u2019aide d\u2019une simple cl\u00e9\u00a0XOR. Au lieu d\u2019\u00e9crire le payload d\u00e9chiffr\u00e9 sur le disque, ce qui le rendrait plus facile \u00e0 d\u00e9tecter, le script exploite les capacit\u00e9s de .NET pour allouer de la m\u00e9moire au sein du processus PowerShell lui-m\u00eame. Le script copie ensuite le payload d\u00e9chiffr\u00e9, qui est en fait un shellcode, dans cette r\u00e9gion de m\u00e9moire allou\u00e9e. Cette <a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/what-are-fileless-malware-attacks\" target=\"_blank\" rel=\"noopener\">approche sans fichier<\/a> r\u00e9duit consid\u00e9rablement l\u2019empreinte laiss\u00e9e par l\u2019attaquant sur le syst\u00e8me.<\/p>\n<figure id=\"attachment_156945\" aria-describedby=\"caption-attachment-156945\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156945 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4.png\" alt=\"Une capture d\u2019\u00e9cran affiche du code provenant d\u2019un environnement de d\u00e9veloppement logiciel, avec du texte principalement en vert et en blanc sur un fond sombre. Le code comprend diverses fonctions de programmation et \u00e9l\u00e9ments de syntaxe.\" width=\"1000\" height=\"526\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4.png 1817w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4-786x414.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4-1330x700.png 1330w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4-768x404.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242252-156911-4-1536x808.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156945\" class=\"wp-caption-text\">Figure 4. Script PowerShell pour t\u00e9l\u00e9charger et ex\u00e9cuter un shellcode.<\/figcaption><\/figure>\n<p>Le script utilise une technique appel\u00e9e \u00ab\u00a0invocation dynamique\u00a0\u00bb pour ex\u00e9cuter le shellcode directement depuis la m\u00e9moire. Pour ce faire, il utilise la fonction <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/api\/system.runtime.interopservices.marshal.getdelegateforfunctionpointer?view=net-8.0\" target=\"_blank\" rel=\"noopener\">GetDelegateForFunctionPointer<\/a><\/span> qui cr\u00e9e dynamiquement un d\u00e9l\u00e9gu\u00e9 (un pointeur de fonction typ\u00e9) qui pointe vers le d\u00e9but du shellcode en m\u00e9moire. Le script appelle ensuite ce d\u00e9l\u00e9gu\u00e9 comme s\u2019il s\u2019agissait d\u2019une fonction normale, ce qui permet d\u2019ex\u00e9cuter le shellcode sans \u00e9crire de fichier ex\u00e9cutable sur le disque. Pour garantir le lancement automatique du processus malveillant apr\u00e8s le red\u00e9marrage, le script cr\u00e9e un raccourci dans le dossier de d\u00e9marrage. La figure\u00a04 pr\u00e9sente le script PowerShell.<\/p>\n<figure id=\"attachment_156956\" aria-describedby=\"caption-attachment-156956\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156956 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-245319-156911-5.png\" alt=\"Une capture d\u2019\u00e9cran affiche un script PowerShell sur un fond bleu, comprenant des commandes pour la cr\u00e9ation d\u2019un \u00e9l\u00e9ment de d\u00e9marrage dans Windows et la gestion des erreurs.\" width=\"1000\" height=\"344\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-245319-156911-5.png 1327w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-245319-156911-5-786x271.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-245319-156911-5-768x264.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156956\" class=\"wp-caption-text\">Figure 5. Script PowerShell pour l\u2019installation du beacon AdaptixC2.<\/figcaption><\/figure>\n<p>La variante de beacon charg\u00e9e dans cette attaque avait la configuration suivante\u00a0:<\/p>\n<pre class=\"lang:default decode:true\">{\r\n\r\n\"agent_type\": 3192652105,\r\n\r\n\"use_ssl\": true,\r\n\r\n\"servers_count\": 1,\r\n\r\n\"servers\": [\r\n\r\n\"tech-system[.]online\"\r\n\r\n],\r\n\r\n\"ports\": [\r\n\r\n443\r\n\r\n],\r\n\r\n\"http_method\": \"POST\",\r\n\r\n\"uri\": \"\/endpoint\/api\",\r\n\r\n\"parameter\": \"X-App-Id\",\r\n\r\n\"user_agent\": \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/121.0.6167.160 Safari\/537.36\",\r\n\r\n\"http_headers\": \"\\r\\n\",\r\n\r\n\"ans_pre_size\": 26,\r\n\r\n\"ans_size\": 47,\r\n\r\n\"kill_date\": 0,\r\n\r\n\"working_time\": 0,\r\n\r\n\"sleep_delay\": 4,\r\n\r\n\"jitter_delay\": 0,\r\n\r\n\"listener_type\": 0,\r\n\r\n\"download_chunk_size\": 102400\r\n\r\n}<\/pre>\n<h4><a id=\"post-156911-_heading=h.qmou8aa0f5cz\"><\/a>Activit\u00e9 post-exploitation et confinement<\/h4>\n<p>Apr\u00e8s le d\u00e9ploiement r\u00e9ussi d\u2019AdaptixC2, les attaquants ont lanc\u00e9 des activit\u00e9s de reconnaissance, utilisant des outils en ligne de commande pour recueillir des informations sur les syst\u00e8mes et le r\u00e9seau compromis. Il s\u2019agit notamment de commandes de d\u00e9couverte telles que <span style=\"font-family: 'courier new', courier, monospace;\">nltest.exe<\/span>, <span style=\"font-family: 'courier new', courier, monospace;\">whoami.exe<\/span> et<span style=\"font-family: 'courier new', courier, monospace;\"> ipconfig.exe<\/span>.<\/p>\n<p>Le beacon a ensuite \u00e9tabli une communication avec un serveur distant, permettant aux acteurs de la menace d\u2019obtenir un lien C2 sur la machine infect\u00e9e.<\/p>\n<h3><a id=\"post-156911-_heading=h.yljgjq7dj0q2\"><\/a><strong>Scenario\u00a02\u00a0: Infection due \u00e0 un script g\u00e9n\u00e9r\u00e9 par l\u2019IA<\/strong><\/h3>\n<p>Dans un autre cas, les acteurs de la menace ont utilis\u00e9 un script PowerShell con\u00e7u pour d\u00e9ployer des beacons AdaptixC2. Nous <a href=\"#post-156911-_heading=h.on6vwwvrnsxm\" target=\"_blank\" rel=\"noopener\">\u00e9valuons avec une grande confiance<\/a> que ce script a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l\u2019IA. Ce d\u00e9ploiement a \u00e9t\u00e9 r\u00e9alis\u00e9 \u00e0 la fois par l\u2019injection de shellcode en m\u00e9moire et \u00e0 l\u2019aide d\u2019un m\u00e9canisme de persistance du <a href=\"https:\/\/unit42.paloaltonetworks.com\/dll-hijacking-techniques\/\" target=\"_blank\" rel=\"noopener\">d\u00e9tournement de fichiers DLL<\/a>. Le script, illustr\u00e9 \u00e0 la figure\u00a05, s\u2019efforce de rester dissimul\u00e9 sur le syst\u00e8me infect\u00e9 afin de donner aux pirates un point d\u2019ancrage solide.<\/p>\n<figure id=\"attachment_156967\" aria-describedby=\"caption-attachment-156967\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156967 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247597-156911-6.png\" alt=\"Une capture d\u2019\u00e9cran d\u2019un ordinateur affiche du code avec mise en \u00e9vidence de la syntaxe. Le code a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l\u2019IA. \" width=\"1000\" height=\"918\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247597-156911-6.png 1313w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247597-156911-6-479x440.png 479w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247597-156911-6-763x700.png 763w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247597-156911-6-768x705.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156967\" class=\"wp-caption-text\">Figure 6. Installation PowerShell g\u00e9n\u00e9r\u00e9e par l\u2019IA pour AdaptixC2.<\/figcaption><\/figure>\n<h4><a id=\"post-156911-_heading=h.8xixvo1fyoqa\"><\/a>Analyse d\u00e9taill\u00e9e du PowerShell g\u00e9n\u00e9r\u00e9 par l\u2019IA<\/h4>\n<ul>\n<li><strong>T\u00e9l\u00e9chargement et d\u00e9codage du shellcode\u00a0: <\/strong>Le script t\u00e9l\u00e9charge un payload de shellcode cod\u00e9 en Base64 \u00e0 partir d\u2019un serveur distant \u00e0 l\u2019aide de la m\u00e9thode <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/powershell\/module\/microsoft.powershell.utility\/invoke-restmethod?view=powershell-7.5\" target=\"_blank\" rel=\"noopener\">Invoke-RestMethod<\/a>.<\/span> Le contenu t\u00e9l\u00e9charg\u00e9 est ensuite d\u00e9cod\u00e9.<\/li>\n<li><strong>Allocation de m\u00e9moire, copie de shellcode et modification de la protection de la m\u00e9moire\u00a0: <\/strong>Le script alloue un bloc de m\u00e9moire non g\u00e9r\u00e9. Le shellcode AdaptixC2 est ensuite copi\u00e9 dans la m\u00e9moire allou\u00e9e et modifie les attributs de protection de cette zone de m\u00e9moire sont modifi\u00e9s via <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/api\/memoryapi\/nf-memoryapi-virtualprotect\" target=\"_blank\" rel=\"noopener\">VirtualProtect<\/a> en <span style=\"font-family: 'courier new', courier, monospace;\">0x40<\/span> (<span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/memory\/memory-protection-constants\" target=\"_blank\" rel=\"noopener\">PAGE_EXECUTE_READWRITE<\/a><\/span>). Cela permet d\u2019ex\u00e9cuter le shellcode.<\/li>\n<li><strong>Ex\u00e9cution d\u2019un shellcode par invocation dynamique\u00a0: <\/strong>Comme dans le cas pr\u00e9c\u00e9dent, l\u2019attaquant a utilis\u00e9 <span style=\"font-family: 'courier new', courier, monospace;\">GetDelegateForFunctionPointer<\/span> pour cr\u00e9er une instance de d\u00e9l\u00e9gu\u00e9 pointant vers le d\u00e9but du shellcode en m\u00e9moire. L\u2019attaquant a ensuite utilis\u00e9 la m\u00e9thode <span style=\"font-family: 'courier new', courier, monospace;\">Invoke()<\/span> pour ex\u00e9cuter le shellcode et lancer le beacon en m\u00e9moire.<\/li>\n<li><strong>Persistance du d\u00e9tournement de fichiers DLL\u00a0: <\/strong>Le script cible le r\u00e9pertoire <span style=\"font-family: 'courier new', courier, monospace;\">APPDATA\\Microsoft\\Windows\\Templates<\/span> pour le d\u00e9tournement de fichiers\u00a0DLL, en utilisant <span style=\"font-family: 'courier new', courier, monospace;\">msimg32.dll<\/span>. Ce fichier DLL est <em>\u00e9galement<\/em> une version de beacon.<\/li>\n<li><strong>Persistance via la cl\u00e9 run de registre Run\u00a0: <\/strong>Le script cr\u00e9e une entr\u00e9e dans la <a href=\"https:\/\/attack.mitre.org\/techniques\/T1547\/001\/\" target=\"_blank\" rel=\"noopener\">cl\u00e9 de registre Run<\/a> nomm\u00e9e \u00ab\u00a0Updater\u00a0\u00bb, contenant une commande PowerShell qui ex\u00e9cute le script <span style=\"font-family: 'courier new', courier, monospace;\">loader.ps1<\/span>. Cela garantit que le script <span style=\"font-family: 'courier new', courier, monospace;\">loader.ps1<\/span> s\u2019ex\u00e9cute \u00e0 chaque connexion de l\u2019utilisateur, lan\u00e7ant ainsi le beacon.<\/li>\n<\/ul>\n<h4><a id=\"post-156911-_heading=h.on6vwwvrnsxm\"><\/a>G\u00e9n\u00e9ration de scripts d\u2019IA<\/h4>\n<p>La structure et la composition de ce script PowerShell sugg\u00e8rent fortement que l\u2019attaquant a utilis\u00e9 des techniques de <a href=\"https:\/\/www.paloaltonetworks.com\/blog\/2025\/05\/unit-42-develops-agentic-ai-attack-framework\/\" target=\"_blank\" rel=\"noopener\">g\u00e9n\u00e9ration assist\u00e9e par l\u2019IA<\/a>. Les \u00e9l\u00e9ments stylistiques suivants sont couramment observ\u00e9s dans le code g\u00e9n\u00e9r\u00e9 par les outils d\u2019IA\u00a0:<\/p>\n<ul>\n<li>Commentaires d\u00e9taill\u00e9s et num\u00e9rot\u00e9s :\n<ul>\n<li>\"<span style=\"font-family: 'courier new', courier, monospace;\"># === [1] Download and decode shellcode ===<\/span>\"<\/li>\n<\/ul>\n<\/li>\n<li>Ic\u00f4nes coch\u00e9es dans le message de sortie :\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">Write-Output \"[\u2714] Persistence set via Run key and DLL hijack DLL dropped to $templatesPath<\/span>\"<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Nous \u00e9valuons avec une grande certitude que le code a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 avec l\u2019aide de l\u2019IA. Ce r\u00e9sultat est bas\u00e9 sur les facteurs susmentionn\u00e9s, ainsi que sur les preuves recueillies sur le serveur de l\u2019attaquant et les r\u00e9sultats extraits de deux\u00a0d\u00e9tecteurs d\u2019IA distincts.<\/p>\n<p>Les outils d\u2019IA sans <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/comparing-llm-guardrails-across-genai-platforms\/\" target=\"_blank\" rel=\"noopener\">garde-fous suffisants<\/a> peuvent permettre aux attaquants de d\u00e9velopper rapidement des codes malveillants, facilitant ainsi l\u2019ex\u00e9cution d\u2019op\u00e9rations dans les r\u00e9seaux infect\u00e9s.<\/p>\n<h3><a id=\"post-156911-_heading=h.v47hfj1n62p1\"><\/a><strong>Similitudes entre les cas<\/strong><\/h3>\n<p>Un sch\u00e9ma coh\u00e9rent s\u2019est d\u00e9gag\u00e9 de ces deux incidents\u00a0:<\/p>\n<ul>\n<li>Chargeurs bas\u00e9s sur PowerShell\n<ul>\n<li>Les acteurs de la menace ont utilis\u00e9 ces chargeurs pour d\u00e9ployer le beacon AdaptixC2, en privil\u00e9giant la furtivit\u00e9 et l\u2019acc\u00e8s persistant.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>T\u00e9l\u00e9chargement d\u2019un payload \u00e0 partir d\u2019un serveur distant et ex\u00e9cution en m\u00e9moire\n<ul>\n<li>L\u2019utilisation d\u2019une ressource l\u00e9gitime a permis aux attaquants de rester inaper\u00e7us, en minimisant les traces d\u00e9tectables sur le disque.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>S\u2019appuyer sur les capacit\u00e9s de .NET pour l\u2019allocation de m\u00e9moire et l\u2019invocation dynamique\n<ul>\n<li>Les acteurs de la menace ont exploit\u00e9 les fonctionnalit\u00e9s int\u00e9gr\u00e9es du syst\u00e8me, telles que la m\u00e9thode <span style=\"font-family: 'courier new', courier, monospace;\">GetDelegateForFunctionPointer<\/span> pour ex\u00e9cuter du shellcode pour des raisons d\u2019efficacit\u00e9 et de discr\u00e9tion.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Emp\u00eacher la suppression des beacons \u00e0 l\u2019aide de m\u00e9canismes de persistance\n<ul>\n<li>Alors que le premier script se contentait d\u2019utiliser un raccourci dans le dossier de d\u00e9marrage pour assurer la persistance, le second a ajout\u00e9 le d\u00e9tournement de fichiers DLL.<\/li>\n<li>Les attaquants disposent ainsi de plus de moyens pour rester sur le syst\u00e8me compromis.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Utilisation de conventions de d\u00e9nomination similaires pour les scripts et les cl\u00e9s run\n<ul>\n<li>Dans un cas, les attaquants ont nomm\u00e9 le script malveillant <span style=\"font-family: 'courier new', courier, monospace;\">update.ps1<\/span>. Dans un autre, la cl\u00e9 run pour la persistance s\u2019appelait \u00ab\u202fUpdater\u202f\u00bb.<\/li>\n<li>Cette d\u00e9nomination permet aux scripts et aux cl\u00e9s de passer inaper\u00e7us dans les processus l\u00e9gitimes du syst\u00e8me.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2><a id=\"post-156911-_heading=h.n5kvditthslg\"><\/a>Popularit\u00e9 croissante du framework AdaptixC2<\/h2>\n<p>Notre t\u00e9l\u00e9m\u00e9trie et nos renseignements sur les menaces montrent qu\u2019AdaptixC2 est de plus en plus r\u00e9pandu. Nous continuons \u00e0 identifier de nouveaux serveurs AdaptixC2, ce qui sugg\u00e8re que de plus en plus d\u2019acteurs de la menace adoptent ce framework dans leur arsenal d\u2019attaques.<\/p>\n<p>Cette tendance s\u2019\u00e9tend au-del\u00e0 des sc\u00e9narios typiques de post-exploitation. Par exemple, les attaquants ont d\u00e9ploy\u00e9 le ransomware Fog en m\u00eame temps qu\u2019AdaptixC2 lors d\u2019une <a href=\"https:\/\/www.security.com\/threat-intelligence\/fog-ransomware-attack\" target=\"_blank\" rel=\"noopener\">r\u00e9cente attaque contre une institution financi\u00e8re en Asie<\/a>. Cela montre qu\u2019AdaptixC2 est polyvalent et peut \u00eatre utilis\u00e9 avec d\u2019autres outils malveillants, comme les ransomwares, pour atteindre des objectifs plus larges.<\/p>\n<h2><a id=\"post-156911-_heading=h.kialcd9bp65i\"><\/a>Conclusion<\/h2>\n<p>AdaptixC2 est une menace adaptable, comme en t\u00e9moignent sa popularit\u00e9 croissante aupr\u00e8s des acteurs de la menace et la complexit\u00e9 de ses techniques de d\u00e9ploiement. La modularit\u00e9 de ce framework, combin\u00e9e au potentiel de g\u00e9n\u00e9ration de code assist\u00e9e par l\u2019IA, pourrait permettre aux acteurs de la menace de faire \u00e9voluer rapidement leurs tactiques. Les \u00e9quipes de s\u00e9curit\u00e9 doivent rester conscientes des capacit\u00e9s d\u2019AdaptixC2 et adapter leurs d\u00e9fenses de mani\u00e8re proactive pour contrer cette menace.<\/p>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s contre les menaces mentionn\u00e9es ci-dessus gr\u00e2ce aux produits et services suivants\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-url-filtering\/administration\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0URL\u00a0Filtering<\/a> et <a href=\"https:\/\/docs.paloaltonetworks.com\/dns-security\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0DNS\u00a0Security<\/a> permettent d\u2019identifier les domaines et URL associ\u00e9s \u00e0 cette activit\u00e9 comme \u00e9tant malveillants.<\/li>\n<li><a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-threat-prevention\/administration\" target=\"_blank\" rel=\"noopener\">Advanced Threat\u00a0Prevention<\/a> int\u00e8gre une d\u00e9tection bas\u00e9e sur le machine\u00a0learning pour identifier les exploits en temps r\u00e9el.<\/li>\n<li>Les mod\u00e8les de Machine\u00a0Learning d\u2019<a href=\"https:\/\/docs.paloaltonetworks.com\/wildfire\" target=\"_blank\" rel=\"noopener\">Advanced\u00a0WildFire<\/a> ont \u00e9t\u00e9 mis \u00e0 jour sur la base des indicateurs de compromission (IoC) identifi\u00e9s dans cette recherche.<\/li>\n<li><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/p\/XDR\" target=\"_blank\" rel=\"noopener\">Cortex XDR<\/a> et <a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/p\/XSIAM\" target=\"_blank\" rel=\"noopener\">XSIAM<\/a> aident \u00e0 pr\u00e9venir les malwares \u00e0 l\u2019aide du <a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XDR\/Cortex-XDR-4.x-Documentation\/Endpoint-protection\" target=\"_blank\" rel=\"noopener\">moteur de pr\u00e9vention des malwares<\/a>. Cette approche combine plusieurs couches de protection con\u00e7ues pour emp\u00eacher les malwares connus et inconnus de nuire \u00e0 vos terminaux. Les techniques d\u2019att\u00e9nuation utilis\u00e9es par le moteur de pr\u00e9vention des malwares varient en fonction du type de terminal.<\/li>\n<\/ul>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez l\u2019<a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">\u00e9quipe Unit\u00a042 de r\u00e9ponse \u00e0 incident<\/a> ou composez l\u2019un des num\u00e9ros suivants\u00a0:<\/p>\n<ul>\n<li>Am\u00e9rique du Nord\u00a0: Gratuit\u00a0: +1 (866) 486-4842 (866.4.UNIT42)<\/li>\n<li>Royaume-Uni\u00a0: +44\u00a020\u00a03743\u00a03660<\/li>\n<li>Europe et Moyen-Orient\u00a0: +31.20.299.3130<\/li>\n<li>Asie\u00a0: +65.6983.8730<\/li>\n<li>Japon\u00a0: +81\u00a050\u00a01790\u00a00200<\/li>\n<li>Australie\u00a0: +61.2.4062.7950<\/li>\n<li>Inde\u00a0: 00080005045107<\/li>\n<\/ul>\n<p>Palo\u00a0Alto\u00a0Networks a partag\u00e9 ces conclusions avec les autres membres de la Cyber\u00a0Threat\u00a0Alliance (CTA). Les membres de la CTA s\u2019appuient sur ces renseignements pour d\u00e9ployer rapidement des mesures de protection aupr\u00e8s de leurs clients et perturber de mani\u00e8re coordonn\u00e9e les activit\u00e9s des cybercriminels. Cliquez ici pour en savoir plus sur la <a href=\"https:\/\/www.cyberthreatalliance.org\" target=\"_blank\" rel=\"noopener\">Cyber Threat Alliance<\/a>.<\/p>\n<h2><a id=\"post-156911-_heading=h.voq1o7degn1j\"><\/a>Indicateurs de compromission<\/h2>\n<table style=\"width: 100.616%;\">\n<tbody>\n<tr>\n<td style=\"text-align: center; width: 58.2314%;\"><strong>Avantage<\/strong><\/td>\n<td style=\"text-align: center; width: 6.49106%;\"><strong>Type<\/strong><\/td>\n<td style=\"text-align: center; width: 42.7093%;\"><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">bdb1b9e37f6467b5f98d151a43f280f319bacf18198b22f55722292a832933ab<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Script PowerShell qui installe un beacon AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">83AC38FB389A56A6BD5EB39ABF2AD81FAB84A7382DA296A855F62F3CDD9D629D<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Script PowerShell qui installe un beacon AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">19c174f74b9de744502cdf47512ff10bba58248aa79a872ad64c23398e19580b<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Script PowerShell qui installe un beacon AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">750b29ca6d52a55d0ba8f13e297244ee8d1b96066a9944f4aac88598ae000f41<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Script PowerShell qui installe un beacon AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">b81aa37867f0ec772951ac30a5616db4d23ea49f7fd1a07bb1f1f45e304fc625<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Beacon AdaptixC2 sous forme de fichier DLL<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">df0d4ba2e0799f337daac2b0ad7a64d80b7bcd68b7b57d2a26e47b2f520cc260<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Beacon AdaptixC2 sous forme de fichier EXE<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">AD96A3DAB7F201DD7C9938DCF70D6921849F92C1A20A84A28B28D11F40F0FB06<\/span><\/td>\n<td style=\"width: 6.49106%;\">SHA256<\/td>\n<td style=\"width: 42.7093%;\">Shellcode qui installe le beacon AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">tech-system[.]online<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">protoflint[.]com<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">novelumbsasa[.]art<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">picasosoftai[.]shop<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">dtt.alux[.]cc<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">moldostonesupplies[.]pro<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">x6iye[.]site<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">buenohuy[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">firetrue[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">lokipoki[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">veryspec[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">mautau[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">muatay[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">nicepliced[.]live<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">nissi[.]bg<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">express1solutions[.]com<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">iorestore[.]com<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">doamin[.]cc<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 58.2314%;\"><span style=\"font-family: 'courier new', courier, monospace;\">regonalone[.]com<\/span><\/td>\n<td style=\"width: 6.49106%;\">Domaine<\/td>\n<td style=\"width: 42.7093%;\">Domaine AdaptixC2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><a id=\"post-156911-_heading=h.pkpif0mq6enq\"><\/a>R\u00e8gles de Yara<\/h2>\n<p>Les \u00e9quipes de s\u00e9curit\u00e9 peuvent utiliser ces r\u00e8gles Yara pour d\u00e9tecter la pr\u00e9sence de beacons AdaptixC2 sur les machines.<\/p>\n<h4><a id=\"post-156911-_heading=h.jwzi6axwe7qq\"><\/a>Beacon HTTP\/SMB\/TCP AdaptixC2<\/h4>\n<pre class=\"lang:default decode:true\">rule u42_hacktool_beacon_adaptixC2\r\n\r\n{\r\n\r\nmeta:\r\n\r\ndescription = \"Detects AdaptixC2 beacon via basic functions\"\r\n\r\nreference = \"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\"\r\n\r\nstrings:\r\n\r\n$FileTimeToUnixTimestamp = {D1 65 F8 83 7D F4 1F 7E 17 8B 55 E4}\r\n\r\n$Proxyfire_RecvProxy = {B9 FC FF 0F 00 E8 6A 04 00 00}\r\n\r\n$timeCalc1 = {8D 82 A0 05 00 00 89 44 24 3C EB 07}\r\n\r\n$timeCalc2 = {FF D2 0F B7 44 24 28 66 3B}\r\n\r\n$b64_encoded_size = {83 C0 01 39 45 18 7E 22 8B 45 E4 C1 E0 08 89 C1}\r\n\r\n$manage = {C6 44 24 5F 00 48 8B 45 10 48 8B 00}\r\n\r\ncondition:\r\n\r\nany of them\r\n\r\n}<\/pre>\n<h4><a id=\"post-156911-_heading=h.ywi49yanhczq\"><\/a>Beacon Go d\u2019AdaptixC2<\/h4>\n<pre class=\"lang:default decode:true\">rule u42_hacktool_beaconGo_adaptixC2\r\n\r\n{\r\n\r\nmeta:\r\n\r\ndescription = \"Detects AdaptixC2 beacon in GO via basic functions\"\r\n\r\nreference = \"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\/tree\/a7401fa3fdbc7ae6b632c40570292f844e40ff40\/Extenders\/agent_gopher\"\r\n\r\nstrings:\r\n\r\n$GetProcesses = {E8 96 4D E1 FF E8 96 4D E1 FF E8 96 4D E1 FF}\r\n\r\n$ConnRead = {0F 8E BD 00 00 00 4C 89 44 24 30 4C 89 54 24 40}\r\n\r\n$normalizedPath = {48 85 C9 74 0A 31 C0 31 DB 48 83 C4 38 5D C3 90 0F 1F 40 00}\r\n\r\n$Linux_GetOsVersion = {48 8D 05 51 D6 10 00 BB 0F 00 00 00}\r\n\r\n$Mac_GetOsVersion = {48 8D 05 AE 5A 0A 00 BB 30 00 00 00}\r\n\r\ncondition:\r\n\r\nany of them\r\n\r\n}<\/pre>\n<h4><a id=\"post-156911-_heading=h.vfk4odip8wdn\"><\/a>Chargeur AdaptixC2<\/h4>\n<pre class=\"lang:default decode:true\">rule u42_hacktool_adaptixC2_loader\r\n\r\n{\r\n\r\nmeta:\r\n\r\ndescription = \"Detects AdaptixC2 shellcode loader via API Hashing\"\r\n\r\nreference = \"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\/blob\/main\/Extenders\/agent_beacon\/src_beacon\/beacon\/ApiDefines.h\"\r\n\r\nstrings:\r\n\r\n$hash_NtFlushInstructionCache = { 9E 65 A1 91 }\r\n\r\n$hash_VirtualAlloc = { 76 63 CE 63 }\r\n\r\n$hash_GetProcAddress = { DE 2A 4F 18 }\r\n\r\n$hash_LoadLibraryA = { FA D0 59 11}\r\n\r\n$Calc_Func_resolve_ApiFuncs = {06 00 00 0F B6 11 48 FF C1 85 D2 74 14 44 8D 42}\r\n\r\ncondition:\r\n\r\n(\r\n\r\n$hash_NtFlushInstructionCache and\r\n\r\n$hash_VirtualAlloc and\r\n\r\n$hash_GetProcAddress and\r\n\r\n$hash_LoadLibraryA\r\n\r\n) or\r\n\r\n(\r\n\r\n$Calc_Func_resolve_ApiFuncs\r\n\r\n)\r\n\r\n}<\/pre>\n<h2><a id=\"post-156911-_heading=h.n3vx7zwclvdo\"><\/a>R\u00e8gles de chasse aux menaces<\/h2>\n<ul>\n<li><strong>Description de la requ\u00eate\u00a0<\/strong>: La requ\u00eate XQL suivante recherche les activit\u00e9s d\u2019hame\u00e7onnage men\u00e9es via l\u2019application Teams, qui conduisent \u00e0 l\u2019ex\u00e9cution d\u2019outils RMM. Ces attributs sont g\u00e9n\u00e9ralement cibl\u00e9s par les attaquants pour d\u00e9ployer les beacons AdaptixC2.<\/li>\n<li><strong>Notes relatives \u00e0 l\u2019investigation\u00a0<\/strong>: Commencez par v\u00e9rifier l\u2019intitul\u00e9 de la session utilisateur. Recherchez l\u2019ex\u00e9cution de l\u2019outil RMM et la cr\u00e9ation d\u2019un processus enfant ou d\u2019un fichier \u00e0 l\u2019aide de l\u2019outil RMM. Recherchez des alertes ou des ex\u00e9cutions suspectes telles que <span style=\"font-family: 'courier new', courier, monospace;\">cmd<\/span> ou PowerShell par l\u2019utilisateur compromis (<span style=\"font-family: 'courier new', courier, monospace;\">actor_effective_username<\/span>).<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">config case_sensitive = false\r\n\r\n| dataset=xdr_data\r\n\r\n| fields _time as TeamsTime ,event_type,agent_hostname,actor_effective_username,event_sub_type, title, actor_process_image_name as teams_image_name, actor_process_image_sha256 , actor_process_image_command_line, agent_hostname, _time, action_process_image_name, agent_os_type, agent_id\r\n\r\n| filter agent_os_type = ENUM.AGENT_OS_WINDOWS and event_type = ENUM.USER_SESSION and teams_image_name in (\"ms-teams.exe\",\"updater.exe\") and ((title contains \"(external)\" and title not contains \"Chat |\" ) and (title contains \"help\" ))\r\n\r\n| join type = inner (\r\n\r\ndataset=xdr_data\r\n\r\n| fields _time as RmmStartTime ,agent_os_type , action_file_extension , event_type,agent_hostname,actor_effective_username,event_sub_type, actor_process_image_name , action_process_image_path, agent_hostname, action_process_image_name, agent_id, event_id\r\n\r\n| filter agent_os_type = ENUM.AGENT_OS_WINDOWS and (event_type=ENUM.PROCESS and event_sub_type = ENUM.PROCESS_START and action_process_image_name in (\"*quickassist.exe\",\"*anydesk.exe\",\"*screenconnect.*.exe\",\"*logmein.exe\"))\r\n\r\n) as rmm rmm.agent_id = agent_id and rmm.actor_effective_username = actor_effective_username and (timestamp_diff(rmm.RmmStartTime,TeamsTime , \"MINUTE\") &lt; 10 and timestamp_diff(rmm.RmmStartTime,TeamsTime , \"MINUTE\") &gt;= 0)\r\n\r\n| comp values(TeamsTime) as _time ,values(RmmStartTime) as RmmStartTime, values(teams_image_name) as teams_image_name, values(action_process_image_path) as action_process_image_name, values(actor_process_image_name) as ActorProcess, count(Title) as CountOfTitle by title,actor_effective_username,agent_hostname , agent_id, event_id\r\n\r\n| filter (array_length(action_process_image_name)&gt;0)<\/pre>\n<h2><a id=\"post-156911-_heading=h.t1rtfm73a7p9\"><\/a>Exemple d\u2019extracteur de configuration<\/h2>\n<p>Le code suivant est un exemple d\u2019extracteur de configuration qui extrait les configurations des fichiers de beacons\u00a0HTTP.<\/p>\n<pre class=\"lang:default decode:true\">import struct\r\n\r\nimport json\r\n\r\nimport sys\r\n\r\nfrom typing import Dict, Any\r\n\r\nfrom malduck import procmempe, rc4, int32, enhex\r\n\r\nclass ConfigParser:\r\n\r\ndef __init__(self, data: bytes):\r\n\r\nself.data = data\r\n\r\nself.offset = 0\r\n\r\n\r\n\r\n\r\ndef unpack32(self) -&gt; int:\r\n\r\nvalue = struct.unpack('&lt;I', self.data[self.offset:self.offset + 4])[0]\r\n\r\nself.offset += 4\r\n\r\nreturn value\r\n\r\n\r\n\r\n\r\ndef unpack16(self) -&gt; int:\r\n\r\n\"\"\"Unpack a 16-bit unsigned integer (little-endian)\"\"\"\r\n\r\nvalue = struct.unpack('&lt;H', self.data[self.offset:self.offset + 2])[0]\r\n\r\nself.offset += 2\r\n\r\nreturn value\r\n\r\n\r\n\r\n\r\ndef unpack8(self) -&gt; int:\r\n\r\n\"\"\"Unpack an 8-bit unsigned integer\"\"\"\r\n\r\nvalue = self.data[self.offset]\r\n\r\nself.offset += 1\r\n\r\nreturn value\r\n\r\n\r\n\r\n\r\ndef unpack_string(self) -&gt; str:\r\n\r\n\"\"\"Unpack a length-prefixed string\"\"\"\r\n\r\nlength = self.unpack32()\r\n\r\nstring_data = self.data[self.offset:self.offset + length]\r\n\r\nself.offset += length\r\n\r\nif string_data and string_data[-1] == 0:\r\n\r\nstring_data = string_data[:-1]\r\n\r\nreturn string_data.decode('utf-8', errors='replace')\r\n\r\n\r\n\r\n\r\ndef unpack_bytes(self, length: int) -&gt; bytes:\r\n\r\n\"\"\"Unpack a fixed number of bytes\"\"\"\r\n\r\ndata = self.data[self.offset:self.offset + length]\r\n\r\nself.offset += length\r\n\r\nreturn data\r\n\r\ndef parse_beacon_http_config(data: bytes) -&gt; Dict[str, Any]:\r\n\r\n\"\"\"Parse BEACON_HTTP configuration from raw bytes\"\"\"\r\n\r\nparser = ConfigParser(data)\r\n\r\nconfig = {}\r\n\r\n\r\n\r\n\r\ntry:\r\n\r\n# Parse agent type\r\n\r\nconfig['agent_type'] = parser.unpack32()\r\n\r\n\r\n\r\n\r\n# Parse HTTP profile\r\n\r\nconfig['use_ssl'] = bool(parser.unpack8())\r\n\r\nconfig['servers_count'] = parser.unpack32()\r\n\r\n\r\n\r\n\r\n# Parse servers and ports\r\n\r\nconfig['servers'] = []\r\n\r\nconfig['ports'] = []\r\n\r\nfor i in range(config['servers_count']):\r\n\r\nserver = parser.unpack_string()\r\n\r\nport = parser.unpack32()\r\n\r\nconfig['servers'].append(server)\r\n\r\nconfig['ports'].append(port)\r\n\r\n\r\n\r\n\r\n# Parse HTTP settings\r\n\r\nconfig['http_method'] = parser.unpack_string()\r\n\r\nconfig['uri'] = parser.unpack_string()\r\n\r\nconfig['parameter'] = parser.unpack_string()\r\n\r\nconfig['user_agent'] = parser.unpack_string()\r\n\r\nconfig['http_headers'] = parser.unpack_string()\r\n\r\n\r\n\r\n\r\n# Parse answer sizes\r\n\r\nconfig['ans_pre_size'] = parser.unpack32()\r\n\r\nans_size_raw = parser.unpack32()\r\n\r\nconfig['ans_size'] = ans_size_raw + config['ans_pre_size']\r\n\r\n\r\n\r\n\r\n# Parse timing settings\r\n\r\nconfig['kill_date'] = parser.unpack32()\r\n\r\nconfig['working_time'] = parser.unpack32()\r\n\r\nconfig['sleep_delay'] = parser.unpack32()\r\n\r\nconfig['jitter_delay'] = parser.unpack32()\r\n\r\n\r\n\r\n\r\n# Default values from constructor\r\n\r\nconfig['listener_type'] = 0\r\n\r\nconfig['download_chunk_size'] = 0x19000\r\n\r\n\r\n\r\n\r\nreturn config\r\n\r\n\r\n\r\n\r\nexcept Exception as e:\r\n\r\nprint(f\"Failed to parse configuration: {e}\")\r\n\r\nraise\r\n\r\ndef parse_config(data: bytes, beacon_type: str = \"BEACON_HTTP\") -&gt; Dict[str, Any]:\r\n\r\n\"\"\"Main entry point for parsing beacon configurations\"\"\"\r\n\r\nif beacon_type == \"BEACON_HTTP\":\r\n\r\nreturn parse_beacon_http_config(data)\r\n\r\nelse:\r\n\r\nraise NotImplementedError(f\"Parser for {beacon_type} not implemented\")\r\n\r\nif __name__ == \"__main__\":\r\n\r\nif len(sys.argv) &lt; 2:\r\n\r\nprint(\"Usage: python extractor.py &lt;path_to_config_file&gt;\")\r\n\r\nsys.exit(1)\r\n\r\n\r\n\r\n\r\npassed_arg = sys.argv[1]\r\n\r\ntry:\r\n\r\nsample = procmempe.from_file(passed_arg)\r\n\r\nrdata_section = sample.pe.section(\".rdata\")\r\n\r\nconfig_structure = sample.readp(rdata_section.PointerToRawData, rdata_section.SizeOfRawData)\r\n\r\nconfig_size = int32(config_structure)\r\n\r\nencrypted_config = config_structure[4:config_size+4]\r\n\r\nrc4_key = config_structure[config_size + 4 : config_size + 4 + 16]\r\n\r\nexcept Exception as e:\r\n\r\nprint(f\"Error reading file or extracting configuration: {e}\")\r\n\r\nprint(\"Using provided encrypted configuration bytes directly.\")\r\n\r\ntry:\r\n\r\nconfig_structure = bytes.fromhex(passed_arg)\r\n\r\nconfig_size = int32(config_structure)\r\n\r\nencrypted_config = config_structure[4:config_size+4]\r\n\r\nrc4_key = config_structure[config_size + 4 : config_size + 4 + 16]\r\n\r\nexcept Exception as e:\r\n\r\nprint(f\"Failed to process provided argument as configuration bytes: {e}\")\r\n\r\nsys.exit(1)\r\n\r\ntry:\r\n\r\ndecrypted_config = rc4(rc4_key, encrypted_config)\r\n\r\nprint(f\"Decrypted configuration size: {len(decrypted_config)} bytes\")\r\n\r\nprint(f\"Decrypted configuration content: {decrypted_config}\")\r\n\r\nprint(\"Decrypted configuration (hex): %s\", enhex(decrypted_config))\r\n\r\nconfig = parse_config(decrypted_config)\r\n\r\nprint(\"Parsed configuration:\")\r\n\r\nprint(json.dumps(config, indent=2))\r\n\r\nexcept Exception as e:\r\n\r\nprint(f\"Error parsing configuration: {e}\")<\/pre>\n<h2><a id=\"post-156911-_heading=h.kqc2touo7a75\"><\/a>Pour aller plus loin<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/Adaptix-Framework\/AdaptixC2\" target=\"_blank\" rel=\"noopener\">AdaptixC2<\/a> \u2013 GitHub<\/li>\n<li><a href=\"https:\/\/www.security.com\/threat-intelligence\/fog-ransomware-attack\" target=\"_blank\" rel=\"noopener\">Ransomware Fog\u00a0: Un ensemble d\u2019outils inhabituels utilis\u00e9s lors d\u2019une r\u00e9cente attaque<\/a> \u2013 Symantec<\/li>\n<li><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/2025-unit-42-global-incident-response-report-social-engineering-edition\/\" target=\"_blank\" rel=\"noopener\">Rapport mondial 2025 de Unit\u00a042 sur la r\u00e9ponse \u00e0 incident\u00a0: \u00e9dition sp\u00e9ciale sur l\u2019ing\u00e9nierie sociale<\/a> \u2013 Unit\u00a042<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/what-is-phishing\" target=\"_blank\" rel=\"noopener\">Qu\u2019est-ce que l\u2019hame\u00e7onnage\u00a0?<\/a> \u2013 Palo\u00a0Alto\u00a0Networks<\/li>\n<li><a href=\"https:\/\/www.manageengine.com\/remote-monitoring-management\/what-is-rmm.html\" target=\"_blank\" rel=\"noopener\">Qu\u2019est-ce que l\u2019outil RMM\u00a0?<\/a> \u2013 ManageEngine<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/what-are-fileless-malware-attacks\" target=\"_blank\" rel=\"noopener\">Qu\u2019est-ce qu\u2019une attaque par malware sans fichier\u00a0?<\/a> \u2013 Palo\u00a0Alto\u00a0Networks<\/li>\n<li><a href=\"https:\/\/unit42.paloaltonetworks.com\/dll-hijacking-techniques\/\" target=\"_blank\" rel=\"noopener\">Techniques de d\u00e9tournement de fichiers DLL<\/a> \u2013 Unit\u00a042<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/blog\/2025\/05\/unit-42-develops-agentic-ai-attack-framework\/\" target=\"_blank\" rel=\"noopener\">L\u2019Unit\u00a042 d\u00e9veloppe un framework d\u2019attaque d\u2019IA agentique<\/a> \u2013 Palo\u00a0Alto\u00a0Networks<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/dotnet\/api\/system.runtime.interopservices.marshal.getdelegateforfunctionpointer?view=net-8.0\" target=\"_blank\" rel=\"noopener\">M\u00e9thode Marshal.GetDelegateForFunctionPointer<\/a> \u2013 Microsoft\u00a0Docs<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/powershell\/module\/microsoft.powershell.utility\/invoke-restmethod?view=powershell-7.5\" target=\"_blank\" rel=\"noopener\">Invoke-RestMethod (PowerShell)<\/a> \u2013 Microsoft\u00a0Docs<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/api\/memoryapi\/nf-memoryapi-virtualprotect\" target=\"_blank\" rel=\"noopener\">Fonction VirtualProtect<\/a> \u2013 Microsoft\u00a0Docs<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/memory\/memory-protection-constants\" target=\"_blank\" rel=\"noopener\">Constantes de protection de la m\u00e9moire<\/a> \u2013 Microsoft\u00a0Docs<\/li>\n<li><a href=\"https:\/\/attack.mitre.org\/techniques\/T1547\/001\/\" target=\"_blank\" rel=\"noopener\">MITRE ATT&amp;CK T1547.001<\/a> \u2013 MITRE<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.<\/p>\n","protected":false},"author":366,"featured_media":156065,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8787,8832],"tags":[9520,9521,9522,9523,9266],"product_categories":[8956,8965,8973,8979,8955,9041,9053,9064,9151],"coauthors":[9511,9512],"class_list":["post-156911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-malware-fr","category-threat-research-fr","tag-c2-fr","tag-dll-fr","tag-open-source-fr","tag-pentest-tool-fr","tag-phishing-fr","product_categories-advanced-dns-security-fr","product_categories-advanced-threat-prevention-fr","product_categories-advanced-url-filtering-fr","product_categories-advanced-wildfire-fr","product_categories-cloud-delivered-security-services-fr","product_categories-cortex-fr","product_categories-cortex-xdr-fr","product_categories-cortex-xsiam-fr","product_categories-unit-42-incident-response-fr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement<\/title>\n<meta name=\"description\" content=\"AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement\" \/>\n<meta property=\"og:description\" content=\"AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit 42\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-10T18:11:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-12T19:00:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ofek Lahiani, Itay Cohen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement","description":"AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/","og_locale":"fr_FR","og_type":"article","og_title":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement","og_description":"AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.","og_url":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/","og_site_name":"Unit 42","article_published_time":"2025-09-10T18:11:46+00:00","article_modified_time":"2025-09-12T19:00:39+00:00","og_image":[{"width":1920,"height":900,"url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg","type":"image\/jpeg"}],"author":"Ofek Lahiani, Itay Cohen","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#article","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/"},"author":{"name":"Sheida Azimi","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"headline":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement","datePublished":"2025-09-10T18:11:46+00:00","dateModified":"2025-09-12T19:00:39+00:00","mainEntityOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/"},"wordCount":4022,"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg","keywords":["C2","DLL","open source","pentest tool","phishing"],"articleSection":["Malware","Recherche sur les menaces"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/","url":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/","name":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#primaryimage"},"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg","datePublished":"2025-09-10T18:11:46+00:00","dateModified":"2025-09-12T19:00:39+00:00","author":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"description":"AdaptixC2, un framework C2 open source, est de plus en plus utilis\u00e9 dans les attaques. Nous pr\u00e9sentons ses fonctionnalit\u00e9s ainsi que ses cas d\u2019utilisation potentiels.","breadcrumb":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#primaryimage","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/02_Security-Technology_Category_1920x900.jpg","width":1920,"height":900,"caption":"Pictorial representation of AdaptixC2. Digital iris with binary code, emphasizing cybersecurity and technology concepts."},{"@type":"BreadcrumbList","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/adaptixc2-post-exploitation-framework\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unit42.paloaltonetworks.com\/"},{"@type":"ListItem","position":2,"name":"AdaptixC2\u00a0: Un nouveau framework open source exploit\u00e9 activement"}]},{"@type":"WebSite","@id":"https:\/\/unit42.paloaltonetworks.com\/#website","url":"https:\/\/unit42.paloaltonetworks.com\/","name":"Unit 42","description":"Palo Alto Networks","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unit42.paloaltonetworks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639","name":"Sheida Azimi","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/image\/4ffb3c2d260a0150fb91b3715442f8b3","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","caption":"Sheida Azimi"},"url":"https:\/\/unit42.paloaltonetworks.com\/fr\/author\/sheida-azimi\/"}]}},"_links":{"self":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/users\/366"}],"replies":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/comments?post=156911"}],"version-history":[{"count":1,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156911\/revisions"}],"predecessor-version":[{"id":156989,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156911\/revisions\/156989"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media\/156065"}],"wp:attachment":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media?parent=156911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/categories?post=156911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/tags?post=156911"},{"taxonomy":"product_categories","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/product_categories?post=156911"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/coauthors?post=156911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}