{"id":163661,"date":"2025-10-24T12:08:07","date_gmt":"2025-10-24T19:08:07","guid":{"rendered":"https:\/\/unit42.paloaltonetworks.com\/?p=163661"},"modified":"2025-10-31T12:13:27","modified_gmt":"2025-10-31T19:13:27","slug":"threat-actor-misuse-of-azurehound","status":"publish","type":"post","link":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/","title":{"rendered":"Cartographie des environnements\u00a0cloud avec AzureHound"},"content":{"rendered":"<h2><a id=\"post-163661-_heading=h.aqjn54uck9oy\"><\/a>Avant-propos<\/h2>\n<p>AzureHound est un outil de collecte de donn\u00e9es destin\u00e9 aux tests d\u2019intrusion (ou pentesting) et int\u00e9gr\u00e9 \u00e0 la suite\u00a0BloodHound. Des acteurs de la menace le d\u00e9tournent pour \u00e9num\u00e9rer les ressources\u00a0Azure et cartographier des chemins d\u2019attaque potentiels, facilitant ainsi des op\u00e9rations malveillantes plus pouss\u00e9es. Cet article a pour vocation d\u2019aider les \u00e9quipes de d\u00e9fense \u00e0 comprendre le fonctionnement de cet outil et \u00e0 se prot\u00e9ger contre son utilisation ill\u00e9gitime.<\/p>\n<p>Nous y d\u00e9taillons les capacit\u00e9s et les usages les plus courants d\u2019AzureHound, tout en reliant ses fonctionnalit\u00e9s au cadre MITRE\u00a0ATT&amp;CK. En nous concentrant sur les techniques\u00a0ATT&amp;CK pertinentes, nous pr\u00e9sentons des exemples d\u2019ex\u00e9cution et mettons en \u00e9vidence la mani\u00e8re dont ces activit\u00e9s apparaissent dans les journaux Azure ainsi que dans Cortex\u00a0XDR.<\/p>\n<p>Des outils comme\u00a0AzureHound permettent aux acteurs de la menace d\u2019agir rapidement et efficacement dans les environnements\u00a0cloud. Toutefois, leur utilisation laisse souvent des traces d\u00e9tectables par les d\u00e9fenseurs avertis. Cet article fournit des renseignements exploitables pour affiner les d\u00e9tections, renforcer les processus de r\u00e9ponse \u00e0 incident, mener des activit\u00e9s de chasse aux menaces et am\u00e9liorer la gestion de la fonction s\u00e9curit\u00e9.<\/p>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s contre les menaces mentionn\u00e9es dans cet article gr\u00e2ce aux produits et services suivants\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cortex\/cloud\" target=\"_blank\" rel=\"noopener\">Cortex Cloud<\/a><\/li>\n<li><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/p\/XSIAM\" target=\"_blank\" rel=\"noopener\">Cortex XSIAM<\/a><\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/apps\/pan\/public\/downloadResource?pagePath=\/content\/pan\/en_US\/resources\/datasheets\/prisma-access-browser\" target=\"_blank\" rel=\"noopener\">Prisma Browser<\/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 l\u2019<a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">\u00e9quipe Unit\u00a042 de r\u00e9ponse \u00e0 incident<\/a>.<\/p>\n<table style=\"width: 96.5281%;\">\n<thead>\n<tr>\n<td style=\"width: 35%;\"><b>Unit\u00a042 \u2013\u00a0Th\u00e9matiques connexes<\/b><\/td>\n<td style=\"width: 190.923%;\"><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/azure-fr\/\" target=\"_blank\" rel=\"noopener\"><strong>Azure<\/strong><\/a><strong>, <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/control-plane-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Plan de contr\u00f4le<\/b><\/a><\/strong><strong>, <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/data-plane-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Plan de donn\u00e9es<\/b><\/a><\/strong><strong>, <\/strong><a style=\"font-family: inherit; font-size: inherit;\" href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/security-logging-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Journalisation en mati\u00e8re de s\u00e9curit\u00e9<\/b><\/a><b style=\"font-family: inherit; font-size: inherit;\">\u00a0<\/b><\/td>\n<\/tr>\n<\/thead>\n<\/table>\n<h2><a id=\"post-163661-_heading=h.4qb6wudw5u30\"><\/a>AzureHound\u00a0: mise en contexte<\/h2>\n<p><a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\" target=\"_blank\" rel=\"noopener\">AzureHound<\/a> est un outil open\u00a0source de collecte de donn\u00e9es, d\u00e9velopp\u00e9 en langage\u00a0Go. Il est disponible sous forme pr\u00e9compil\u00e9e pour Windows, Linux et macOS.<\/p>\n<p>Cet outil collecte des donn\u00e9es via les interfaces de programmation\u00a0(API) Microsoft\u00a0Graph et Azure\u00a0REST. Il est con\u00e7u pour \u00e9num\u00e9rer un environnement Microsoft\u00a0Entra ID et Azure, et rassembler des informations sur les identit\u00e9s ainsi que sur diverses autres ressources. L\u2019objectif de cette \u00e9num\u00e9ration est d\u2019exploiter les donn\u00e9es collect\u00e9es afin d\u2019identifier des chemins d\u2019attaque potentiels menant \u00e0 une escalade de privil\u00e8ges dans l\u2019environnement\u00a0Azure cibl\u00e9.<\/p>\n<p>AzureHound peut exporter ses r\u00e9sultats au format\u00a0JSON, que <a href=\"https:\/\/github.com\/SpecterOps\/BloodHound\" target=\"_blank\" rel=\"noopener\">BloodHound<\/a> peut ensuite ing\u00e9rer. BloodHound est un outil de visualisation con\u00e7u pour r\u00e9v\u00e9ler graphiquement les relations cach\u00e9es et identifier les chemins d\u2019attaque au sein d\u2019un environnement Entra\u00a0ID, Azure ou Active\u00a0Directory (AD).<\/p>\n<p>L\u2019<a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/use-the-api\" target=\"_blank\" rel=\"noopener\">API Microsoft\u00a0Graph<\/a> offre aux d\u00e9veloppeurs un acc\u00e8s programmatique aux donn\u00e9es et identit\u00e9s organisationnelles au sein de <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-365\/enterprise\/microsoft-365-overview?view=o365-worldwide\" target=\"_blank\" rel=\"noopener\">Microsoft\u00a0365<\/a> et de <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/fundamentals\/whatis\" target=\"_blank\" rel=\"noopener\">Microsoft Entra\u00a0ID<\/a>.<\/p>\n<p>Fonctionnant au niveau de la couche d\u2019infrastructure, la Rest API\u00a0Azure permet d\u2019acc\u00e9der \u00e0 <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/management\/overview\" target=\"_blank\" rel=\"noopener\">Azure Resource\u00a0Manager<\/a> (ARM), le plan de contr\u00f4le de toutes les ressources\u00a0Azure \u2013\u00a0telles que le stockage, les machines virtuelles et les r\u00e9seaux.<\/p>\n<p>AzureHound n\u2019a pas besoin d\u2019\u00eatre ex\u00e9cut\u00e9 depuis l\u2019environnement de la victime, car les API Microsoft\u00a0Graph et Azure\u00a0REST sont toutes deux accessibles de l\u2019ext\u00e9rieur.<\/p>\n<h2><a id=\"post-163661-_heading=h.g0p957t03sv1\"><\/a>Comment les acteurs de la menace utilisent AzureHound<\/h2>\n<p>AzureHound est con\u00e7u pour \u00eatre utilis\u00e9 par des professionnels de la cybers\u00e9curit\u00e9 (\u00e9quipes de d\u00e9fense, \u00e9quipe rouges) afin d\u2019identifier et de corriger de mani\u00e8re proactive les vuln\u00e9rabilit\u00e9s\u00a0cloud. Toutefois, des acteurs de la menace peuvent \u00e9galement s\u2019en servir \u00e0 des fins de d\u00e9couverte et de cartographie, apr\u00e8s avoir obtenu un acc\u00e8s \u00e0 l\u2019environnement\u00a0Azure d\u2019une victime.<\/p>\n<p>Les cyberattaquants utilisent AzureHound pour automatiser des proc\u00e9dures complexes de d\u00e9couverte dans les environnements\u00a0Azure. Cet outil leur permet de cartographier la hi\u00e9rarchie des utilisateurs et d\u2019identifier les cibles \u00e0 forte valeur.<\/p>\n<p>La collecte d\u2019informations internes sur Azure aide les acteurs de la menace \u00e0 rep\u00e9rer des configurations erron\u00e9es ou des opportunit\u00e9s d\u2019escalade de privil\u00e8ges indirectes, souvent difficiles \u00e0 d\u00e9tecter sans cette vue d\u2019ensemble compl\u00e8te de l\u2019environnement cible.<\/p>\n<p>Les attaquants ex\u00e9cutent \u00e9galement l\u2019outil apr\u00e8s avoir obtenu un acc\u00e8s initial \u00e0 l\u2019environnement compromis, en t\u00e9l\u00e9chargeant et en lan\u00e7ant AzureHound sur les ressources auxquelles ils ont acc\u00e8s.<\/p>\n<p>Pas plus tard qu\u2019en ao\u00fbt 2025, l\u2019activit\u00e9 observ\u00e9e autour de cet outil confirme l\u2019attention constante port\u00e9e par les acteurs de la menace aux environnements\u00a0cloud, d\u00e9sormais consid\u00e9r\u00e9s comme une surface d\u2019attaque critique. Des recherches accessibles au public ont identifi\u00e9 AzureHound comme composant de plusieurs op\u00e9rations post-compromission\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/iranian-cyberattacks-2025\/\" target=\"_blank\" rel=\"noopener\">Unit\u00a042 <\/a>suit Curious\u00a0Serpens (\u00e9galement connu sous le nom de <a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2023\/09\/14\/peach-sandstorm-password-spray-campaigns-enable-intelligence-collection-at-high-value-targets\/\" target=\"_blank\" rel=\"noopener\">Peach\u00a0Sandstorm<\/a>), un groupe soutenu par l\u2019Iran actif depuis au moins 2013 et ayant progressivement int\u00e9gr\u00e9 le d\u00e9tournement des environnements\u00a0cloud Azure dans sa cha\u00eene d\u2019attaque, notamment en exploitant AzureHound pour r\u00e9aliser une d\u00e9couverte interne de l\u2019environnement Microsoft Entra\u00a0ID de ses cibles.<\/li>\n<li>En mai 2025, Microsoft a signal\u00e9 l\u2019existence de <a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2025\/05\/27\/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage\/\" target=\"_blank\" rel=\"noopener\">Void Blizzard<\/a>, un acteur de la menace \u00e9tatique ayant recours \u00e0 AzureHound durant la phase de d\u00e9couverte de ses attaques afin d\u2019\u00e9num\u00e9rer les configurations Entra\u00a0ID.<\/li>\n<li>En ao\u00fbt 2025, Microsoft a \u00e9galement document\u00e9 une campagne men\u00e9e par un op\u00e9rateur de ransomware identifi\u00e9 sous le nom de <a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2025\/08\/27\/storm-0501s-evolving-techniques-lead-to-cloud-based-ransomware\/\" target=\"_blank\" rel=\"noopener\">Storm-0501<\/a>. Op\u00e9rant sur site dans un environnement\u00a0Azure hybride et multi-locataire, cet acteur de la menace a utilis\u00e9 AzureHound pour \u00e9num\u00e9rer les clients Entra\u00a0ID de sa cible.<\/li>\n<\/ul>\n<h2><a id=\"post-163661-_heading=h.e4xe4b2ky6o7\"><\/a>Tactique de d\u00e9couverte\u00a0MITRE<\/h2>\n<p>Le <a href=\"https:\/\/attack.mitre.org\/matrices\/enterprise\/\" target=\"_blank\" rel=\"noopener\">cadre MITRE\u00a0ATT&amp;CK<\/a> est une base de connaissances port\u00e9e par les praticiens de la s\u00e9curit\u00e9 et la communaut\u00e9, qui d\u00e9crit les comportements des acteurs de la menace sous forme de tactiques, techniques et proc\u00e9dures\u00a0(TTP). Ce r\u00e9f\u00e9rentiel fournit un vocabulaire commun pour \u00e9changer sur les renseignements et les recherches. Il facilite l\u2019analyse structur\u00e9e des cyberattaques ainsi que le suivi des tendances li\u00e9es aux activit\u00e9 des acteurs malveillants.<\/p>\n<p><a href=\"https:\/\/attack.mitre.org\/tactics\/TA0007\/\" target=\"_blank\" rel=\"noopener\">Au sein du cadre MITRE\u00a0ATT&amp;CK, la d\u00e9couverte<\/a> d\u00e9signe les techniques que les acteurs de la menace utilisent pour apprendre \u00e0 conna\u00eetre leur environnement cible apr\u00e8s avoir obtenu un acc\u00e8s initial. MITRE\u00a0ATT&amp;CK reconna\u00eet que les techniques et proc\u00e9dures\u00a0cloud diff\u00e8rent de leurs \u00e9quivalents sur terminal. Pour identifier ce sous-ensemble ax\u00e9 sur le cloud de <a href=\"https:\/\/attack.mitre.org\/matrices\/enterprise\/\" target=\"_blank\" rel=\"noopener\">l\u2019Enterprise Matrix<\/a>, le nom de <a href=\"https:\/\/attack.mitre.org\/matrices\/enterprise\/cloud\/\" target=\"_blank\" rel=\"noopener\">Cloud\u00a0Matrix<\/a> a \u00e9t\u00e9 choisi. Nous nous concentrerons ici sur les techniques de d\u00e9couverte issues du Cloud\u00a0Matrix.<\/p>\n<p>Dans Azure, la d\u00e9couverte consiste \u00e0 rassembler des informations sur les \u00e9l\u00e9ments suivants\u00a0:<\/p>\n<ul>\n<li>Utilisateurs<\/li>\n<li>Groupes<\/li>\n<li>Comptes de services<\/li>\n<li>R\u00f4les<\/li>\n<li>Appareils<\/li>\n<li>Comptes de stockage<\/li>\n<li>Applications<\/li>\n<li>Autorisations<\/li>\n<\/ul>\n<p>Les acteurs de la menace cherchent \u00e0 comprendre les ressources et les relations au sein de l\u2019environnement\u00a0Azure pour faciliter leur attaque.<\/p>\n<p>AzureHound acc\u00e9l\u00e8re ce processus en offrant aux attaquants un moyen efficace de collecter des donn\u00e9es, qu\u2019ils utilisent ensuite pour cartographier des chemins d\u2019attaque potentiels contre l\u2019environnement\u00a0Azure vis\u00e9. Ces chemins d\u2019attaque comprennent les \u00e9l\u00e9ments suivants\u00a0:<\/p>\n<ul>\n<li>Opportunit\u00e9s d\u2019escalade de privil\u00e8ges<\/li>\n<li>Voies de mouvement lat\u00e9ral<\/li>\n<li>Relations entre comptes \u00e0 haute valeur tels que <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/role-based-access-control\/permissions-reference#global-administrator\" target=\"_blank\" rel=\"noopener\">Global Administrators<\/a> ou autres r\u00f4les privil\u00e9gi\u00e9s<\/li>\n<\/ul>\n<h2><a id=\"post-163661-_heading=h.3u7w8yd1jv32\"><\/a>Techniques de d\u00e9couverte MITRE<\/h2>\n<p>Du point de vue d\u2019un acteur de la menace utilisant AzureHound, chaque technique de d\u00e9couverte repr\u00e9sente une \u00e9tape dans la construction d\u2019une compr\u00e9hension compl\u00e8te de l\u2019environnement cloud cibl\u00e9.<\/p>\n<p>Pour appr\u00e9hender un outil en ligne de commande comme AzureHound, les utilisateurs se r\u00e9f\u00e8rent g\u00e9n\u00e9ralement \u00e0 la documentation en ligne ainsi qu\u2019\u00e0 la sortie du param\u00e8tre <span style=\"font-family: 'courier new', courier, monospace;\">-h<\/span>, <span style=\"font-family: 'courier new', courier, monospace;\">--help<\/span> ou autres options d\u2019utilisation. Compar\u00e9e \u00e0 la <a href=\"https:\/\/bloodhound.specterops.io\/collect-data\/ce-collection\/azurehound-flags\" target=\"_blank\" rel=\"noopener\">documentation en ligne<\/a>, une liste compl\u00e8te via le param\u00e8tre <span style=\"font-family: 'courier new', courier, monospace;\">list -h<\/span> dans la version\u00a02.6.0 d\u2019AzureHound r\u00e9v\u00e8le des options de d\u00e9couverte suppl\u00e9mentaires, utiles pour analyser un usage potentiellement malveillant. Parmi elles figurent des commandes particuli\u00e8rement int\u00e9ressantes pour un acteur de la menace, telles que\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">function-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">function-app-role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">storage-accounts<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">storage-containers<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">subscription-user-access-admins<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">web-apps<\/span><\/li>\n<\/ul>\n<p>Les commandes ci-dessus fournissent aux acteurs de la menace des informations de base sur des services couramment exploit\u00e9s dans les environnements\u00a0cloud. Les commandes d\u00e9taill\u00e9es dans cette analyse sont bas\u00e9es sur la sortie directe de l\u2019outil.<\/p>\n<h3><a id=\"post-163661-_heading=h.cyy55zksfzo8\"><\/a>T1087.004\u00a0: Account\u00a0Discovery\u00a0: Cloud (D\u00e9couverte de comptes\u00a0: Cloud)<\/h3>\n<p><img  class=\"alignnone wp-image-163662 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/FR-AzureHound-786x123.png\" alt=\"AzureHound peut \u00e9num\u00e9rer les utilisateurs, les appareils et les principaux de service au sein d\u2019un client Entra\u00a0ID afin de collecter des informations d\u2019identit\u00e9.\" width=\"1000\" height=\"156\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/FR-AzureHound-786x123.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/FR-AzureHound-768x120.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/FR-AzureHound.png 1371w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Pour \u00e9tablir une compr\u00e9hension de base de l\u2019environnement cible, un acteur de la menace commencera souvent par rep\u00e9rer les identit\u00e9s qui y op\u00e8rent. Cette \u00e9num\u00e9ration initiale fournit un r\u00e9pertoire de cibles potentielles pour le vol de mat\u00e9riels d\u2019authentification ou l\u2019usurpation d\u2019identit\u00e9. L\u2019outil automatise la collecte de l\u2019ensemble des identit\u00e9s\u00a0\u2013 utilisateurs, appareils et comptes de service\u00a0\u2013 ainsi que leurs relations de propri\u00e9t\u00e9, offrant une vision d\u00e9taill\u00e9e des identit\u00e9s pr\u00e9sentes dans le client.<\/p>\n<p>Les param\u00e8tres d\u2019AzureHound qui facilitent la technique MITRE\u00a0Account Discovery\u00a0: <a href=\"https:\/\/attack.mitre.org\/techniques\/T1087\/004\/\" target=\"_blank\" rel=\"noopener\">Cloud Account<\/a> comprennent les commandes suivantes\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list users<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list devices<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list device-owners<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list service-principals<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list service-principal-owners<\/span><\/li>\n<\/ul>\n<p>AzureHound prend en charge plusieurs modes d\u2019authentification, notamment\u00a0:<\/p>\n<ul>\n<li>Nom d\u2019utilisateur et mot de passe<\/li>\n<li>Jetons de rafra\u00eechissement<\/li>\n<li>Jetons\u00a0JSON\u00a0web (JWT)<\/li>\n<li>Secrets de compte de service<\/li>\n<li>Certificats de compte de service<\/li>\n<\/ul>\n<p>La documentation Microsoft sur Entra\u00a0ID propose un expos\u00e9 complet des <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/security-tokens\" target=\"_blank\" rel=\"noopener\">types de jetons\u00a0Azure<\/a>. Pour notre exemple, nous utiliserons un jeton de rafra\u00eechissement\u00a0Azure g\u00e9n\u00e9r\u00e9 via le <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/v2-oauth2-device-code\" target=\"_blank\" rel=\"noopener\">device code flow<\/a> en suivant les indications des <a href=\"https:\/\/docs.an\">docs<\/a> <a href=\"https:\/\/bloodhound.specterops.io\/collect-data\/ce-collection\/azurehound\" target=\"_blank\" rel=\"noopener\">de r\u00e9f\u00e9rence AzureHound\u00a0CE<\/a>.<\/p>\n<p>Les acteurs de la menace utiliseront tout moyen d\u2019authentification disponible. Ils peuvent combiner un nom d\u2019utilisateur et un mot de passe vol\u00e9s avec une <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-group-assessment-muddled-libra-2024\/\" target=\"_blank\" rel=\"noopener\">fatigue li\u00e9e \u00e0 l\u2019authentification multifacteur (MFA)<\/a> pour parvenir \u00e0 une connexion r\u00e9ussie. Ils peuvent aussi se connecter \u00e0 l\u2019aide d\u2019un jeton vol\u00e9. Des infostealers tels que <a href=\"https:\/\/attack.mitre.org\/software\/S1148\/\">Racoon Stealer<\/a> ou <a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/2025-unit-42-global-incident-response-report-social-engineering-edition\/\">Redline<\/a> peuvent extraire des cookies, des mat\u00e9riels d\u2019authentification et des jetons de session depuis le navigateur d\u2019un utilisateur. Des chercheurs de Flare ont montr\u00e9 que des jetons de session r\u00e9cup\u00e9r\u00e9s par ces infostealers ont conduit \u00e0 des <a href=\"https:\/\/thehackernews.com\/2025\/05\/from-infection-to-access-24-hour.html\" target=\"_blank\" rel=\"noopener\">jetons Azure expos\u00e9s<\/a>.<\/p>\n<p>Comme l\u2019illustre la requ\u00eate list\u00a0users dans la Figure\u00a01, la sortie d\u2019\u00e9num\u00e9ration en ligne de commande d\u2019AzureHound peut r\u00e9v\u00e9ler des informations pr\u00e9cieuses pour un acteur de la menace. Cet exemple d\u2019appel liste l\u2019ensemble des utilisateurs Entra\u00a0ID et \u00e9crit la sortie dans un fichier nomm\u00e9 \u00ab\u00a0users.json\u00a0\u00bb.<\/p>\n<figure id=\"attachment_162484\" aria-describedby=\"caption-attachment-162484\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162484 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-230599-162472-2.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un terminal affichant la sortie de l\u2019outil AzureHound\u00a02.6.0, listant l\u2019ensemble des utilisateurs d\u2019un client Azure. La sortie indique la fin du processus et l\u2019arr\u00eat normal du logiciel.\" width=\"1000\" height=\"237\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-230599-162472-2.png 1310w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-230599-162472-2-786x186.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-230599-162472-2-768x182.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162484\" class=\"wp-caption-text\">Figure\u00a01. Ex\u00e9cution d\u2019AzureHound pour \u00e9num\u00e9rer les utilisateurs.<\/figcaption><\/figure>\n<p>Parmi les champs renvoy\u00e9s par d\u00e9faut pour chaque utilisateur (lorsqu\u2019ils sont pr\u00e9sents dans l\u2019enregistrement utilisateur Entra\u00a0ID), on trouve\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">displayName<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">jobTitle<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">lastPasswordChangeDateTime<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">mail<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">userPrincipalName<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">userType<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">tenantId<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">tenantName<\/span><\/li>\n<\/ul>\n<p>La Figure\u00a02 montre une capture d\u2019\u00e9cran de la sortie brute d\u2019AzureHound avec certains des champs list\u00e9s ci-dessus.<\/p>\n<figure id=\"attachment_162495\" aria-describedby=\"caption-attachment-162495\" style=\"width: 773px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162495 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-233386-162472-3.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un extrait de code li\u00e9 \u00e0 la structure de donn\u00e9es d\u2019un compte utilisateur, comprenant des champs tels que l\u2019ID de compte, la date de cr\u00e9ation, l\u2019adresse e-mail et d\u2019autres attributs.\" width=\"773\" height=\"677\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-233386-162472-3.png 773w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-233386-162472-3-502x440.png 502w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-233386-162472-3-768x673.png 768w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><figcaption id=\"caption-attachment-162495\" class=\"wp-caption-text\">Figure\u00a02. Sortie brute de la commande\u00a0AzureHound \u00ab\u00a0list\u00a0users\u00a0\u00bb.<\/figcaption><\/figure>\n<p>Ces donn\u00e9es aident les acteurs de la menace \u00e0 cibler des utilisateurs cl\u00e9s au sein de l\u2019organisation pour les \u00e9tapes suivantes de l\u2019attaque. Par exemple, un attaquant peut exporter tous les utilisateurs dans un fichier\u00a0JSON puis rechercher dans ce fichier les intitul\u00e9s de poste sugg\u00e9rant des cibles \u00e0 haute valeur, en filtrant sur des mots tels que\u00a0:<\/p>\n<ul>\n<li>Administrator<\/li>\n<li>Application<\/li>\n<li>Identity<\/li>\n<li>Cloud<\/li>\n<\/ul>\n<p>Ces cibles sont consid\u00e9r\u00e9es \u00e0 haute valeur car les r\u00f4les correspondants conf\u00e8rent g\u00e9n\u00e9ralement des privil\u00e8ges \u00e9lev\u00e9s au sein du client\u00a0Azure.<\/p>\n<h3><a id=\"post-163661-_heading=h.wsyujlf9cxgc\"><\/a>T1069.003\u00a0: Permission Groups Discovery: Cloud Groups (D\u00e9couverte des groupes d\u2019autorisations\u00a0: Groupes Cloud)<\/h3>\n<p><img  class=\"alignnone wp-image-163673 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/2-FR-AzureHound-786x110.png\" alt=\"AzureHound peut d\u00e9couvrir les appartenances aux r\u00f4les administratifs et aux groupes de s\u00e9curit\u00e9 afin de cartographier les chemins potentiels d\u2019escalade de privil\u00e8ges.\" width=\"1000\" height=\"140\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/2-FR-AzureHound-786x110.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/2-FR-AzureHound-768x108.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/2-FR-AzureHound.png 1524w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Une fois que les acteurs de la menace connaissent les identit\u00e9s pr\u00e9sentes dans l\u2019environnement cibl\u00e9, ils doivent comprendre les relations entre ces identit\u00e9s en d\u00e9couvrant la structure des autorisations.<\/p>\n<p>Cette technique vise \u00e0 cartographier les r\u00f4les administratifs et les appartenances aux groupes pour identifier des chemins d\u2019escalade exploitables. Cela implique de collecter non seulement les groupes et les r\u00f4les eux-m\u00eames, mais aussi le r\u00e9seau d\u2019attributions de r\u00f4le qui relie les identit\u00e9s aux ressources, r\u00e9v\u00e9lant ainsi qui a acc\u00e8s \u00e0 quoi.<\/p>\n<p>Pour la technique <a href=\"https:\/\/attack.mitre.org\/techniques\/T1069\/003\/\" target=\"_blank\" rel=\"noopener\">Permission Groups Discovery\u00a0: Cloud Accounts<\/a>, AzureHound dispose des capacit\u00e9s suivantes\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list groups<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list roles<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list group-members<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list group-owners<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list app-role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list key-vault-access-policies<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list management-group-role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list resource-group-role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list subscription-role-assignments<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list virtual-machine-role-assignments<\/span><\/li>\n<\/ul>\n<p>Les donn\u00e9es renvoy\u00e9es par ces options d\u00e9pendent de l\u2019identit\u00e9 utilis\u00e9e par AzureHound pour s\u2019authentifier. AzureHound collecte des informations en fonction des autorisations accord\u00e9es au compte sous lequel il s\u2019ex\u00e9cute dans Azure. Ces comptes ne peuvent \u00e9num\u00e9rer les d\u00e9finitions et attributions de strat\u00e9gie que s\u2019ils disposent de r\u00f4les tels que Reader ou d\u2019un niveau sup\u00e9rieur au niveau de l\u2019abonnement ou du groupe de ressources.<\/p>\n<p>La Figure\u00a03 montre le r\u00e9sultat d\u2019une commande d\u2019\u00e9num\u00e9ration des groupes au sein d\u2019un client.<\/p>\n<figure id=\"attachment_162517\" aria-describedby=\"caption-attachment-162517\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162517 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-239011-162472-5.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un terminal affichant des messages de journal\u00a0AzureHound, incluant des horodatages et des notifications sur la commande de liste des comptes de stockage et la dur\u00e9e du processus de collecte, se terminant par un message d\u2019arr\u00eat.\" width=\"1000\" height=\"226\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-239011-162472-5.png 1341w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-239011-162472-5-786x178.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-239011-162472-5-768x174.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162517\" class=\"wp-caption-text\">Figure\u00a03. Ex\u00e9cution d\u2019AzureHound pour \u00e9num\u00e9rer les groupes.<\/figcaption><\/figure>\n<p>Les acteurs de la menace \u00e9num\u00e8rent les groupes, r\u00f4les et attributions de r\u00f4le d\u2019Entra\u00a0ID car, collectivement, ils d\u00e9finissent la r\u00e9partition des acc\u00e8s et des autorisations entre utilisateurs, applications et ressources. Les attaquants peuvent ainsi identifier des r\u00f4les hautement privil\u00e9gi\u00e9s \u2013\u00a0par exemple Global\u00a0Administrator ou Privileged\u00a0Role Administrator\u00a0\u2013 et d\u00e9terminer quels utilisateurs ou comptes de service y sont affect\u00e9s. Ces informations peuvent \u00e9galement r\u00e9v\u00e9ler des chemins d\u2019escalade via des appartenances imbriqu\u00e9es \u00e0 des groupes.<\/p>\n<p>Les attributions de r\u00f4le peuvent r\u00e9v\u00e9ler des autorisations excessives ou mal configur\u00e9es. Ces informations aident les acteurs de la menace \u00e0 rep\u00e9rer des opportunit\u00e9s d\u2019escalade de privil\u00e8ges, de mouvement lat\u00e9ral et de collecte de donn\u00e9es suppl\u00e9mentaires.<\/p>\n<p>AzureHound s\u2019int\u00e8gre \u00e0 BloodHound pour g\u00e9n\u00e9rer des graphes cartographiant visuellement les chemins d\u2019escalade de privil\u00e8ges et la topologie architecturale. Pour ce faire, il exploite d\u2019importants volumes de donn\u00e9es brutes\u00a0\u2013 listes d\u2019utilisateurs, de groupes, d\u2019applications, d\u2019abonnements et leurs autorisations.<\/p>\n<p>Relier ces \u00e9l\u00e9ments manuellement est chronophage et source d\u2019erreurs\u00a0: la GUI de BloodHound devient donc un outil d\u2019analyse pr\u00e9cieux pour les attaquants.<\/p>\n<p>En important les donn\u00e9es collect\u00e9es, l\u2019outil transforme des lignes de texte en une carte vivante des relations importantes. Ces informations portant sur les utilisateurs hautement privil\u00e9gi\u00e9s fournissent aux acteurs de la menace une liste de cibles pour le vol d\u2019identifiants. La Figure\u00a04 montre les utilisateurs auxquels le r\u00f4le Global Administrator a \u00e9t\u00e9 attribu\u00e9 directement, ou h\u00e9rit\u00e9 via l\u2019appartenance \u00e0 un groupe.<\/p>\n<figure id=\"attachment_162528\" aria-describedby=\"caption-attachment-162528\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162528 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6.png\" alt=\"Capture d\u2019\u00e9cran affichant l\u2019interface Global\u00a0Administrator avec divers n\u0153uds interconnect\u00e9s, certains surlign\u00e9s en rose et en bleu, repr\u00e9sentant diff\u00e9rentes entit\u00e9s et leurs relations.\" width=\"1000\" height=\"489\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6-786x384.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6-1432x700.png 1432w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6-768x375.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-241896-162472-6-1536x751.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162528\" class=\"wp-caption-text\">Figure\u00a04. Chemins BloodHound vers Global\u00a0Administrator.<\/figcaption><\/figure>\n<p>Par mesure de confidentialit\u00e9, nous avons masqu\u00e9 ou obscurci les libell\u00e9s des utilisateurs et des groupes ainsi que les informations li\u00e9es au client (tenant).<\/p>\n<h3><a id=\"post-163661-_heading=h.bbyisz24tbcj\"><\/a>T1619\u00a0: Cloud Storage Object Discovery (D\u00e9couverte des objets de stockage cloud)<\/h3>\n<p><img  class=\"alignnone wp-image-163684 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/3-FR-AzureHound-786x111.png\" alt=\"AzureHound peut d\u00e9couvrir les comptes de stockage\u00a0Azure et les conteneurs d\u2019objets qu\u2019ils contiennent, afin d\u2019identifier les emplacements o\u00f9 les donn\u00e9es sont stock\u00e9es.\" width=\"1000\" height=\"141\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/3-FR-AzureHound-786x111.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/3-FR-AzureHound-768x108.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/3-FR-AzureHound.png 1520w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>L\u2019exfiltration de donn\u00e9es est un objectif majeur pour de nombreux acteurs de la menace, d\u2019o\u00f9 l\u2019importance cruciale de localiser les emplacements de stockage. Cette technique consiste \u00e0 d\u00e9couvrir les ressources de stockage cloud. Un acteur de la menace peut utiliser AzureHound pour cibler sp\u00e9cifiquement et \u00e9num\u00e9rer les comptes de stockage Azure et les conteneurs blob qu\u2019ils renferment, r\u00e9v\u00e9lant ainsi l\u2019emplacement de donn\u00e9es potentiellement sensibles.<\/p>\n<p>AzureHound propose deux options pour la d\u00e9couverte d\u2019objets de stockage, couvrant \u00e0 la fois les comptes de stockage et les conteneurs\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list storage-accounts<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list storage-containers<\/span><\/li>\n<\/ul>\n<p>La Figure\u00a05 illustre un exemple de d\u00e9couverte de comptes de stockage via AzureHound, \u00e9num\u00e9rant tous les comptes de stockage auxquels l\u2019identit\u00e9 fournie \u00e0 la commande a acc\u00e8s.<\/p>\n<figure id=\"attachment_162550\" aria-describedby=\"caption-attachment-162550\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162550 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-248915-162472-8.png\" alt=\"Interface en ligne de commande o\u00f9 l\u2019outil AzureHound liste les groupes Azure\u00a0AD. Le processus se termine par un arr\u00eat normal, avec un message sugg\u00e9rant d\u2019appuyer sur Ctrl+C pour forcer la fermeture.\" width=\"1000\" height=\"204\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-248915-162472-8.png 1557w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-248915-162472-8-786x161.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-248915-162472-8-768x157.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-248915-162472-8-1536x314.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162550\" class=\"wp-caption-text\">Figure\u00a05. Ex\u00e9cution d\u2019AzureHound pour \u00e9num\u00e9rer les comptes de stockage.<\/figcaption><\/figure>\n<p>La sortie de la commande <span style=\"font-family: 'courier new', courier, monospace;\">list storage-accounts<\/span> peut r\u00e9v\u00e9ler des informations importantes sur la configuration du compte de stockage. La sortie comprend la d\u00e9finition compl\u00e8te de la ressource de compte de stockage, notamment\u00a0:<\/p>\n<ul>\n<li>Le nom<\/li>\n<li>L\u2019emplacement<\/li>\n<li>Les propri\u00e9t\u00e9s du coffre de cl\u00e9s<\/li>\n<li>Le type de r\u00e9plication<\/li>\n<li>Les terminaux DNS<\/li>\n<li>Les listes ACL ( Contr\u00f4le d\u2019acc\u00e8s r\u00e9seau)<\/li>\n<\/ul>\n<p>La page de r\u00e9f\u00e9rence Microsoft propose <a href=\"https:\/\/learn.microsoft.com\/en-us\/rest\/api\/storagerp\/storage-accounts\/get-properties\" target=\"_blank\" rel=\"noopener\">des exemples de configurations compl\u00e8tes de comptes de stockage<\/a>.<\/p>\n<p>Dans ces donn\u00e9es, le nom du compte de stockage rev\u00eat une importance particuli\u00e8re car il est li\u00e9 \u00e0 ses terminaux de service\u00a0\u2013 des noms\u00a0DNS publiquement r\u00e9solvables utilis\u00e9s pour se connecter au compte de stockage. Par exemple, un conteneur blob d\u2019un compte de stockage utilise par d\u00e9faut le nom du compte de stockage, du conteneur et du blob pour d\u00e9finir son terminal de service comme suit\u00a0:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\">hxxps[:]\/\/mystorageaccount.blob.core.windows[.]net\/mycontainername\/myblobname<\/span><\/p>\n<p>Les comptes de stockage peuvent \u00e9galement \u00eatre associ\u00e9s \u00e0 des noms de domaine personnalis\u00e9s, figurant alors dans la paire cl\u00e9-valeur <span style=\"font-family: 'courier new', courier, monospace;\">customDomain<\/span> de la sortie. Pour plus d\u2019informations sur les domaines personnalis\u00e9s et d\u2019autres param\u00e8tres, reportez-vous \u00e0 la page\u00a0Microsoft <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/common\/storage-account-overview\" target=\"_blank\" rel=\"noopener\">storage account overview<\/a>.<\/p>\n<p>Les acteurs de la menace cherchent \u00e0 acc\u00e9der aux donn\u00e9es contenues dans les comptes de stockage pour proc\u00e9der \u00e0 leur exfiltration. Cependant, ces terminaux de service peuvent \u00eatre prot\u00e9g\u00e9s par des listes de contr\u00f4le d\u2019acc\u00e8s r\u00e9seau\u00a0(ACL) configur\u00e9es sur le <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/common\/storage-network-security\" target=\"_blank\" rel=\"noopener\">pare-feu du compte de stockage<\/a>. Ces informations offrent \u00e0 l\u2019acteur de la menace une visibilit\u00e9 sur les listes d\u2019autorisation et de refus (allowlists et denylists) qui composent la configuration du pare-feu.<\/p>\n<p>La Figure\u00a06 montre que le service de compte de stockage applique une strat\u00e9gie de refus par d\u00e9faut, n\u2019autorisant l\u2019acc\u00e8s qu\u2019\u00e0 deux plages r\u00e9seau\u00a0\/24 et aux <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/storage\/common\/storage-network-security-trusted-azure-services\" target=\"_blank\" rel=\"noopener\">services Azure de confiance<\/a>, tels qu\u2019Azure\u00a0Monitor, Backup et File\u00a0Sync.<\/p>\n<figure id=\"attachment_162561\" aria-describedby=\"caption-attachment-162561\" style=\"width: 500px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162561 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-251787-162472-9.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un extrait des r\u00e8gles r\u00e9seau dans Azure\u00a0Services, affichant deux r\u00e8gles\u00a0IP configur\u00e9es sur \u00ab\u00a0Allow\u00a0\u00bb avec des adresses\u00a0IP sp\u00e9cifiques.\" width=\"500\" height=\"172\" \/><figcaption id=\"caption-attachment-162561\" class=\"wp-caption-text\">Figure\u00a06. Listes de contr\u00f4le d\u2019acc\u00e8s r\u00e9seau (ACL) du compte de stockage.<\/figcaption><\/figure>\n<p>Les services de confiance dans Azure d\u00e9signent une liste pr\u00e9d\u00e9finie de services Microsoft b\u00e9n\u00e9ficiant par d\u00e9faut d\u2019autorisations et d\u2019un acc\u00e8s \u00e0 d\u2019autres ressources Azure, contournant les ACL r\u00e9seau standard. Cette liste, g\u00e9r\u00e9e par Microsoft, varie selon le type de ressource (par exemple\u00a0: blobs de stockage, coffres de cl\u00e9s).<\/p>\n<h3><a id=\"post-163661-_heading=h.8irdkfx53xa\"><\/a>T1526\u00a0: Cloud Service Discovery T1526 (D\u00e9couverte des services cloud)<\/h3>\n<p><img  class=\"alignnone wp-image-163695 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/4-FR-AzureHound-786x111.png\" alt=\"AzureHound peut identifier les services de plateforme Azure utilis\u00e9s (par ex. Web\u00a0Apps, Function\u00a0Apps et Logic\u00a0Apps).\" width=\"1000\" height=\"141\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/4-FR-AzureHound-786x111.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/4-FR-AzureHound-768x108.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/4-FR-AzureHound.png 1520w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Au-del\u00e0 du stockage et des identit\u00e9s, un acteur cherchera \u00e0 conna\u00eetre les services de plateforme d\u00e9ploy\u00e9s, car ceux-ci peuvent offrir des chemins d\u2019attaque sp\u00e9cifiques. En \u00e9num\u00e9rant des services comme Web\u00a0Apps, Function\u00a0Apps ou des clusters Kubernetes\u00a0(AKS), un acteur de la menace peut rep\u00e9rer des plateformes applicatives mal configur\u00e9es ou vuln\u00e9rables. Cela constitue un catalogue de cibles potentielles \u00e0 un niveau sup\u00e9rieur.<\/p>\n<p>Pour la technique <a href=\"https:\/\/attack.mitre.org\/techniques\/T1526\/\" target=\"_blank\" rel=\"noopener\">Cloud Service Discovery<\/a>, AzureHound dispose des capacit\u00e9s suivantes\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list web-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list function-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list logic-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list automation-accounts<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list managed-clusters<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list vm-scale-sets<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list container-registries<\/span><\/li>\n<\/ul>\n<p>Avec une liste d\u2019applications en main, la recherche de l\u2019attaquant s\u2019\u00e9tend aux ressources sous-jacentes. Il peut ainsi cartographier des pipelines d\u2019automatisation, des clusters\u00a0Kubernetes et des registres de conteneurs abritant les \u00ab\u00a0crown jewels\u00a0\u00bb du cloud\u00a0\u2013 ses ressources les plus pr\u00e9cieuses. Un simple compte d\u2019automatisation mal configur\u00e9 peut permettre l\u2019ex\u00e9cution de code arbitraire par l\u2019attaquant avec des privil\u00e8ges \u00e9lev\u00e9s.<\/p>\n<p>Cette recherche comprend \u00e9galement le test de registres de conteneurs expos\u00e9s publiquement\u00a0: t\u00e9l\u00e9chargement d\u2019images pour analyse hors ligne afin de rechercher des identifiants cod\u00e9s en dur, des cl\u00e9s\u00a0API ou des biblioth\u00e8ques vuln\u00e9rables. Elle peut aussi r\u00e9v\u00e9ler des ressources abandonn\u00e9es, ouvrant la voie \u00e0 de nouvelles strat\u00e9gies d\u2019attaque.<\/p>\n<p>Par exemple, lorsqu\u2019un acteur d\u00e9couvre un pipeline d\u2019essai oubli\u00e9, il peut exploiter l\u2019identit\u00e9 puissante et les droits associ\u00e9s \u00e0 ce pipeline sur un groupe de ressources. L\u2019attaquant peut alors utiliser cette identit\u00e9 de confiance pour injecter du code malveillant dans le runbook de l\u2019automatisation, attendre le d\u00e9clenchement du pipeline et ex\u00e9cuter son code avec les privil\u00e8ges \u00e9lev\u00e9s ainsi obtenus.<\/p>\n<p>Pour une analyse approfondie des menaces li\u00e9es aux pipelines\u00a0cloud, voir l\u2019\u00e9tude Unit\u00a042 \u00ab\u00a0<a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/anatomy-ci-cd-pipeline-attack\" target=\"_blank\" rel=\"noopener\">Anatomie d\u2019une attaque sur un pipeline de supply\u00a0chain cloud<\/a>\u00a0\u00bb.<\/p>\n<h3><a id=\"post-163661-_heading=h.vjmbxsmbdejz\"><\/a>T1580\u00a0: Cloud Infrastructure Discovery (D\u00e9couverte de l\u2019infrastructure cloud)<\/h3>\n<p><img  class=\"alignnone wp-image-163706 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/5-FR-AzureHound-786x108.png\" alt=\"AzureHound peut \u00e9num\u00e9rer les ressources d\u2019infrastructure fondamentales telles que les machines virtuelles, les coffres de cl\u00e9s et les groupes de gestion.\" width=\"1000\" height=\"137\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/5-FR-AzureHound-786x108.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/5-FR-AzureHound-768x105.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/5-FR-AzureHound-1536x211.png 1536w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/5-FR-AzureHound.png 1560w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Pour comprendre pleinement l\u2019architecture de l\u2019environnement cibl\u00e9, un acteur de la menace doit d\u00e9couvrir ces composants d\u2019infrastructure de base. Cette technique consiste \u00e0 \u00e9num\u00e9rer les ressources centrales et les constructions de gestion qui les contiennent.<\/p>\n<p>Un acteur peut reconstituer une carte architecturale compl\u00e8te du d\u00e9ploiement cloud en listant notamment\u00a0:<\/p>\n<ul>\n<li>Les machines virtuelles\u00a0(VM)<\/li>\n<li>Les coffres de cl\u00e9s<\/li>\n<li>La hi\u00e9rarchie des clients, abonnements et groupes de ressources<\/li>\n<\/ul>\n<p>Pour la technique <a href=\"https:\/\/attack.mitre.org\/techniques\/T1580\/\" target=\"_blank\" rel=\"noopener\">Cloud Infrastructure Discovery<\/a>, AzureHound dispose des capacit\u00e9s suivantes\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list tenants<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list subscriptions<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list resource-groups<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list management-groups<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list virtual-machines<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">list key-vaults<\/span><\/li>\n<\/ul>\n<p>\u00c0 l\u2019instar de la cartographie des utilisateurs via BloodHound pr\u00e9sent\u00e9e pr\u00e9c\u00e9demment, ce cas d\u2019usage montre comment les attaquants examinent visuellement les \u00e9l\u00e9ments d\u2019infrastructure avec BloodHound. La Figure\u00a07 illustre les r\u00e9sultats relatifs aux coffres de cl\u00e9s. Nous avons masqu\u00e9 ou obscurci les libell\u00e9s et les informations li\u00e9es au client par souci de confidentialit\u00e9.<\/p>\n<figure id=\"attachment_162594\" aria-describedby=\"caption-attachment-162594\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162594 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12.png\" alt=\"Capture d\u2019\u00e9cran de l\u2019interface du portail Microsoft\u00a0AzureHound affichant un diagramme de topologie r\u00e9seau avec des ic\u00f4nes repr\u00e9sentant le client, les abonnements, les groupes de ressources et les coffres de cl\u00e9s. Les ic\u00f4nes sont reli\u00e9es par des lignes indiquant leurs relations. Une fl\u00e8che sur la droite pointe vers un \u00e9l\u00e9ment sp\u00e9cifique du menu de navigation.\" width=\"1000\" height=\"459\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12-786x361.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12-1525x700.png 1525w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12-768x353.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-259861-162472-12-1536x705.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162594\" class=\"wp-caption-text\">Figure\u00a07. Illustration\u00a0BloodHound des coffres de cl\u00e9s disponibles.<\/figcaption><\/figure>\n<p>Plut\u00f4t que de parcourir la sortie ligne par ligne, l\u2019acteur de la menace dispose d\u00e9sormais d\u2019une vue d\u2019ensemble (ou \u00ab\u00a0bird\u2019s eye view\u00a0\u00bb) des coffres de cl\u00e9s au sein de l\u2019infrastructure du client. Il peut naviguer visuellement dans la hi\u00e9rarchie, depuis le client jusqu\u2019aux ressources individuelles.<\/p>\n<p>Par exemple, en plus des coffres de cl\u00e9s, l\u2019attaquant peut cliquer sur un n\u0153ud repr\u00e9sentant l\u2019abonnement Production, puis s\u00e9lectionner \u00ab\u00a0virtual machines\u00a0\u00bb depuis la liste Descendent Objects pour afficher instantan\u00e9ment toutes les machines virtuelles qui y sont rattach\u00e9es.<\/p>\n<h2><a id=\"post-163661-_heading=h.j07lbzllpnql\"><\/a>Perspective du d\u00e9fenseur<\/h2>\n<p>AzureHound s\u2019appuie sur les API Microsoft\u00a0Graph et Azure\u00a0REST pour \u00e9num\u00e9rer les utilisateurs, les r\u00f4les et les permissions. Cela signifie qu\u2019une d\u00e9fense efficace n\u00e9cessite une approche en couches combinant contr\u00f4le d\u2019acc\u00e8s, s\u00e9curit\u00e9 des terminaux et visibilit\u00e9 sur l\u2019activit\u00e9 des API. L\u2019objectif est de rendre l\u2019authentification, l\u2019ex\u00e9cution et les op\u00e9rations des acteurs de la menace nettement plus difficiles \u00e0 r\u00e9aliser sans d\u00e9tection dans l\u2019environnement d\u2019une organisation.<\/p>\n<h3><a id=\"post-163661-_heading=h.jpxmha8ol7ys\"><\/a>Mesures d\u2019att\u00e9nuation<\/h3>\n<p>Du point de vue du d\u00e9fenseur, des configurations s\u00e9curis\u00e9es sont essentielles. Comme indiqu\u00e9 pr\u00e9c\u00e9demment dans notre analyse des techniques de d\u00e9couverte\u00a0MITRE, AzureHound peut \u00eatre utilis\u00e9 pour obtenir des informations sur les utilisateurs et les ressources\u00a0Azure d\u2019un client sp\u00e9cifique via des API publiquement document\u00e9es. Ces requ\u00eates\u00a0API peuvent \u00e9galement r\u00e9v\u00e9ler des vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9 au sein d\u2019un client. Par conception, ces informations sont accessibles, client par client, aux utilisateurs disposant d\u2019un compte Entra\u00a0ID avec des privil\u00e8ges de lecture dans ce client.<\/p>\n<p>Pour renforcer la s\u00e9curit\u00e9 de votre compte\u00a0Azure, nous recommandons aux clients de suivre les <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/security\/fundamentals\/identity-management-best-practices\" target=\"_blank\" rel=\"noopener\">bonnes pratiques Microsoft<\/a>. En outre, pour emp\u00eacher les acc\u00e8s non autoris\u00e9s n\u00e9cessaires \u00e0 la r\u00e9ussite de cette technique, nous recommandons aux administrateurs de mettre en \u0153uvre <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/security\/fundamentals\/steps-secure-identity\" target=\"_blank\" rel=\"noopener\">des mesures de s\u00e9curit\u00e9 suppl\u00e9mentaires<\/a>.<\/p>\n<p>En compl\u00e9ment des bonnes pratiques et des mesures de s\u00e9curit\u00e9 recommand\u00e9es par Microsoft, les att\u00e9nuations suivantes peuvent renforcer encore plus la protection de votre organisation. Certaines se recoupent avec les bonnes pratiques, tandis que d\u2019autres constituent des contr\u00f4les compl\u00e9mentaires ou des orientations politiques visant \u00e0 durcir davantage votre environnement.<\/p>\n<p>La premi\u00e8re ligne de d\u00e9fense repose sur une gestion rigoureuse des identit\u00e9s et des acc\u00e8s, qui d\u00e9termine ce qu\u2019un utilisateur, un groupe ou un compte de service est autoris\u00e9 \u00e0 faire. Les organisations doivent d\u00e9ployer une MFA r\u00e9sistante au hame\u00e7onnage pour tous les comptes, en particulier ceux ayant acc\u00e8s \u00e0 des donn\u00e9es sensibles ou \u00e0 des r\u00f4les administratifs. Les utilisateurs ex\u00e9cutant des t\u00e2ches tr\u00e8s privil\u00e9gi\u00e9es, comme Global\u00a0Administrator ou Privileged\u00a0Role Administrator, devraient conserver des comptes s\u00e9par\u00e9s d\u00e9di\u00e9s \u00e0 ces fonctions.<\/p>\n<p>Les solutions de gestion des identit\u00e9s privil\u00e9gi\u00e9es (PIM), comme Microsoft Entra\u00a0ID PIM, ou des plateformes plus larges de gestion des acc\u00e8s \u00e0 privil\u00e8ges (PAM) permettent aux organisations de g\u00e9rer, de contr\u00f4ler et de surveiller l\u2019acc\u00e8s aux identit\u00e9s privil\u00e9gi\u00e9es. Ces solutions limitent le risque qu\u2019une compromission d\u2019identifiants d\u2019utilisateur standard n\u2019octroie \u00e0 un acteur de la menace des droits \u00e9lev\u00e9s.<\/p>\n<p>En compl\u00e9ment de la gestion des identit\u00e9s et des acc\u00e8s, les <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/conditional-access\/overview\" target=\"_blank\" rel=\"noopener\">strat\u00e9gies d\u2019acc\u00e8s conditionnel<\/a>\u00a0(CAP) contribuent \u00e0 r\u00e9duire l\u2019exposition face \u00e0 AzureHound en restreignant l\u2019acc\u00e8s des utilisateurs et des applications. Les CAP font partie d\u2019Entra\u00a0ID et sont appliqu\u00e9es au moment de l\u2019authentification\u00a0: elles imposent des exigences d\u00e9finies (MFA, conformit\u00e9 des appareils, emplacements fiables, restrictions d\u2019applications clientes, etc.). De ce fait, les CAP peuvent bloquer l\u2019acc\u00e8s d\u2019AzureHound aux API Microsoft\u00a0Graph et \u00e0 celles de gestion Azure, m\u00eame si un attaquant poss\u00e8de des identifiants valides.<\/p>\n<p>Une autre mesure efficace est la liaison des jetons, qui garantit que les jetons d\u2019authentification sont li\u00e9s \u00e0 un appareil sp\u00e9cifique. Cette fonctionnalit\u00e9, disponible dans Entra\u00a0ID sous le nom <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/conditional-access\/concept-token-protection\" target=\"_blank\" rel=\"noopener\">Token\u00a0Protection<\/a>, est pass\u00e9e en disponibilit\u00e9 g\u00e9n\u00e9rale en ao\u00fbt 2025.<\/p>\n<p>Comme indiqu\u00e9 pr\u00e9c\u00e9demment, Void\u00a0Blizzard a utilis\u00e9 des jetons d\u2019authentification vol\u00e9s. Ces jetons peuvent servir \u00e0 s\u2019authentifier dans l\u2019environnement cible, y compris pour AzureHound appelant l\u2019API Microsoft\u00a0Graph. Le \u00ab\u00a0token binding\u00a0\u00bb contribue \u00e0 att\u00e9nuer les attaques par vol de jetons en invalidant les exemplaires invalides s\u2019ils sont utilis\u00e9s depuis un autre appareil.<\/p>\n<p>De plus, les navigateurs s\u00e9curis\u00e9s peuvent offrir une protection similaire en limitant l\u2019acc\u00e8s aux applications priv\u00e9es ou privil\u00e9gi\u00e9es et en veillant \u00e0 ce que les jetons \u00e9mis ne soient valides qu\u2019\u00e0 partir de ce navigateur s\u00e9curis\u00e9. Cela rend les jetons inutilisables en ligne de commande, notamment pour des outils comme AzureHound.<\/p>\n<p>Outre les contr\u00f4les d\u2019identit\u00e9, la visibilit\u00e9 au niveau des terminaux reste essentielle pour d\u00e9tecter et pr\u00e9venir les activit\u00e9s d\u2019AzureHound et d\u2019autres menaces. Il est imp\u00e9ratif de d\u00e9ployer des outils de d\u00e9tection et de r\u00e9ponse sur les terminaux\u00a0(EDR\/XDR) sur l\u2019ensemble des actifs, y compris sur les workloads cloud via des solutions de d\u00e9tection et de r\u00e9ponse dans le cloud\u00a0(CDR).<\/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 Unit\u00a042 sur la r\u00e9ponse \u00e0 incident (2025)<\/a> explique comment les acteurs de la menace ciblent les actifs non g\u00e9r\u00e9s, c\u2019est-\u00e0-dire d\u00e9pourvus de solutions de d\u00e9tection et de r\u00e9ponse\u00a0(EDR\/XDR\/CDR)\u00a0\u2013 o\u00f9 les menaces ont moins de chances d\u2019\u00eatre d\u00e9tect\u00e9es.<\/p>\n<p>Les organisations doivent imp\u00e9rativement utiliser conjointement la gestion de la posture de s\u00e9curit\u00e9 du cloud\u00a0(CSPM) et les outils\u00a0CDR pour d\u00e9tecter la cr\u00e9ation de nouvelles instances de calcul (machines virtuelles, conteneurs ou fonctions\u00a0serverless) par des attaquants. Cette approche garantit aussi que les agents de s\u00e9curit\u00e9 cloud sont correctement install\u00e9s et configur\u00e9s afin de maintenir la surveillance sur les nouvelles instances cr\u00e9\u00e9es. Combler ces lacunes de visibilit\u00e9 r\u00e9duit consid\u00e9rablement la capacit\u00e9 des acteurs de la menace \u00e0 \u00e9chapper \u00e0 la d\u00e9tection.<\/p>\n<p>AzureHound indique quelles identit\u00e9s peuvent enregistrer des applications au sein du client\u00a0Azure, ce qui fait du contr\u00f4le des enregistrements d\u2019applications une autre mesure d\u2019att\u00e9nuation efficace. Les acteurs malveillants exploitent souvent les param\u00e8tres par d\u00e9faut qui permettent aux utilisateurs d\u2019enregistrer eux-m\u00eames des applications et de s\u2019attribuer des permissions \u00e9lev\u00e9es. Cela peut leur conf\u00e9rer une large visibilit\u00e9 sur l\u2019annuaire sans authentification interactive ni MFA.<\/p>\n<p>D\u00e9sactiver l\u2019enregistrement d\u2019applications \u00e0 l\u2019initiative des utilisateurs et imposer un processus d\u2019approbation administrateur r\u00e9duit les risques qu\u2019un acteur cr\u00e9e des comptes de service malveillants ou contourne la MFA via une authentification applicative par jeton.<\/p>\n<h3><a id=\"post-163661-_heading=h.av25s23c6yg0\"><\/a>Consid\u00e9rations relatives \u00e0 la journalisation<\/h3>\n<p>Les journaux d\u2019activit\u00e9 Microsoft\u00a0Graph sont disponibles en pr\u00e9version depuis <a href=\"https:\/\/techcommunity.microsoft.com\/blog\/microsoft-entra-blog\/microsoft-graph-activity-logs-is-now-generally-available\/4094535\" target=\"_blank\" rel=\"noopener\">octobre\u00a02023<\/a> et sont pass\u00e9s en disponibilit\u00e9 g\u00e9n\u00e9rale en <a href=\"https:\/\/techcommunity.microsoft.com\/blog\/microsoft-entra-blog\/microsoft-graph-activity-log-is-now-available-in-public-preview\/3848269\" target=\"_blank\" rel=\"noopener\">avril 2024<\/a>. Cette fonctionnalit\u00e9 essentielle permet aux d\u00e9fenseurs de surveiller les requ\u00eates\u00a0HTTP adress\u00e9es au service\u00a0Graph et de d\u00e9tecter des sch\u00e9mas d\u2019\u00e9num\u00e9ration suspects.<\/p>\n<p>Par d\u00e9faut, les <a href=\"https:\/\/techcommunity.microsoft.com\/blog\/microsoftsecurityexperts\/cloud-forensics-why-enabling-microsoft-azure-graph-activity-logs-matters\/4234632\" target=\"_blank\" rel=\"noopener\">journaux d\u2019activit\u00e9 Microsoft\u00a0Graph<\/a> ne sont pas activ\u00e9s. Les d\u00e9fenseurs doivent configurer Microsoft Entra\u00a0ID pour exporter ces journaux vers des destinations telles qu\u2019Azure Event\u00a0Hubs, ce qui permet leur int\u00e9gration avec des solutions de gestion des informations et \u00e9v\u00e9nements de s\u00e9curit\u00e9\u00a0(SIEM), ainsi qu\u2019avec des outils\u00a0EDR, XDR et CDR. Ces journaux enregistrent des d\u00e9tails pr\u00e9cis sur les appels\u00a0API effectu\u00e9s via Microsoft\u00a0Graph, notamment les terminaaux cibl\u00e9s par des outils comme AzureHound.<\/p>\n<p>Certaines requ\u00eates AzureHound appellent la Rest API\u00a0Azure au niveau du terminal\u00a0ARM <span style=\"font-family: 'courier new', courier, monospace;\">management.azure[.]com<\/span>. Ces <a href=\"https:\/\/learn.microsoft.com\/en-us\/rest\/api\/azure\/#request-uri\" target=\"_blank\" rel=\"noopener\">requ\u00eates vers le fournisseur\u00a0ARM<\/a> sont journalis\u00e9es diff\u00e9remment des appels \u00e0 l\u2019API\u00a0Graph, ce qui engendre des difficult\u00e9s de visibilit\u00e9.<\/p>\n<p>Les <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/monitor-azure-resource#activity-log\" target=\"_blank\" rel=\"noopener\">journaux d\u2019activit\u00e9<\/a> collectent les \u00e9v\u00e9nements au niveau de l\u2019abonnement depuis le fournisseur\u00a0ARM, tels que la cr\u00e9ation d\u2019une nouvelle ressource ou la suppression d\u2019un compte de stockage\u00a0\u2013 des \u00e9v\u00e9nements qui ne sont pas associ\u00e9s aux requ\u00eates\u00a0AzureHound. Les op\u00e9rations de lecture et de liste (appels REST\u00a0GET) ex\u00e9cut\u00e9es par AzureHound <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/activity-log?tabs=log-analytics#activity-log-entries\" target=\"_blank\" rel=\"noopener\">ne sont pas enregistr\u00e9es dans les journaux d\u2019activit\u00e9<\/a>.<\/p>\n<p>Bien qu\u2019il soit possible <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-monitor\/platform\/monitor-azure-resource#diagnostic-settings\" target=\"_blank\" rel=\"noopener\">d\u2019activer explicitement les param\u00e8tres de diagnostic<\/a> pour diff\u00e9rents types de ressources afin de capturer les journaux au niveau du fournisseur, cette configuration ne consigne que les op\u00e9rations de lecture au <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/management\/control-plane-and-data-plane\" target=\"_blank\" rel=\"noopener\">niveau du plan de donn\u00e9es<\/a> (par ex. <span style=\"font-family: 'courier new', courier, monospace;\">mystorage.blob.core.windows[.]net<\/span> ou <span style=\"font-family: 'courier new', courier, monospace;\">myvault.vault.azure[.]net<\/span>). Cela ne couvre pas le plan de contr\u00f4le, o\u00f9 s\u2019effectuent les requ\u00eates vers le fournisseur\u00a0ARM. Par cons\u00e9quent, les appels d\u2019\u00e9num\u00e9ration effectu\u00e9s par AzureHound vers la Rest API\u00a0Azure (tels qu\u2019<span style=\"font-family: 'courier new', courier, monospace;\">azurehound list storage-accounts<\/span> ou <span style=\"font-family: 'courier new', courier, monospace;\">azurehound list key-vaults<\/span>) n\u2019appara\u00eetront ni dans les journaux d\u2019activit\u00e9 ni dans les journaux de ressources.<\/p>\n<p>Le <a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\" target=\"_blank\" rel=\"noopener\">d\u00e9p\u00f4t GitHub AzureHound<\/a> fournit des informations compl\u00e9mentaires pr\u00e9cisant quelle API chaque commande AzureHound utilise\u00a0\u2013 et, par cons\u00e9quent, dans quel journal rechercher les \u00e9v\u00e9nements correspondants.<\/p>\n<p>Par exemple, les d\u00e9tails relatifs \u00e0 la commande <span style=\"font-family: 'courier new', courier, monospace;\">azurehound\u00a0list storage-accounts<\/span> \u00e9voqu\u00e9e plus haut figurent dans le code client\u00a0AzureHound pour les comptes de stockage, qui montre comment le module interagit avec <a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\/blob\/main\/client\/storage_accounts.go\" target=\"_blank\" rel=\"noopener\">l\u2019API REST\u00a0Azure pour l\u2019\u00e9num\u00e9ration des comptes de stockage<\/a>. La Figure\u00a08 illustre le code client\u00a0AzureHound utilisant la Rest API\u00a0Azure pour l\u2019\u00e9num\u00e9ration des comptes de stockage.<\/p>\n<figure id=\"attachment_162605\" aria-describedby=\"caption-attachment-162605\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162605 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-263460-162472-13.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un extrait de code relatif \u00e0 Microsoft\u00a0Azure Storage\u00a0Account, pr\u00e9sentant des param\u00e8tres tels que l\u2019ID d\u2019abonnement et la date de version de l\u2019API.\" width=\"1000\" height=\"153\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-263460-162472-13.png 1652w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-263460-162472-13-786x120.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-263460-162472-13-768x117.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-263460-162472-13-1536x234.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162605\" class=\"wp-caption-text\">Figure\u00a08. Code source d\u2019\u00e9num\u00e9ration des comptes de stockage AzureHound.<\/figcaption><\/figure>\n<p>La Figure\u00a09 illustre <a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\/blob\/main\/client\/roles.go\" target=\"_blank\" rel=\"noopener\">le code client AzureHound pour l\u2019\u00e9num\u00e9ration des r\u00f4les<\/a>, utilisant la commande <span style=\"font-family: 'courier new', courier, monospace;\">list\u00a0roles<\/span> et s\u2019appuyant sur l\u2019API\u00a0Graph.<\/p>\n<figure id=\"attachment_162616\" aria-describedby=\"caption-attachment-162616\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162616 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-266240-162472-14.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un script utilisant Azure\u00a0AD et l\u2019API Microsoft\u00a0Graph, avec des fonctions et variables affich\u00e9es en rouge et bleu sur fond blanc.\" width=\"1000\" height=\"149\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-266240-162472-14.png 1502w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-266240-162472-14-786x117.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-266240-162472-14-768x115.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162616\" class=\"wp-caption-text\">Figure\u00a09. Code source d\u2019\u00e9num\u00e9ration des r\u00f4les AzureHound.<\/figcaption><\/figure>\n<p>Les commandes list d\u2019AzureHound qui passent par le terminal ARM de la Rest API\u00a0Azure (et qui peuvent donc ne pas appara\u00eetre dans les journaux) incluent notamment\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">automation-accounts<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">container-registries<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">function-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">key-vaults<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">logic-apps<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">managed-clusters<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">management-groups<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">resource-groups<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">storage-accounts<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">storage-containers<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">virtual-machines<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">vm-scale-sets<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">web-apps<\/span><\/li>\n<\/ul>\n<p>Cette faiblesse de journalisation met en \u00e9vidence un comportement inattendu d\u2019AzureHound\u00a0: toutes les commandes <span style=\"font-family: 'courier new', courier, monospace;\">azurehound\u00a0list<\/span> sont pr\u00e9c\u00e9d\u00e9es d\u2019appels de test vers les terminaux et les API qu\u2019utilise l\u2019outil. Les <a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\/blob\/main\/constants\/environments.go\" target=\"_blank\" rel=\"noopener\">terminaux et API<\/a> invoqu\u00e9s diff\u00e8rent selon <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/authentication-national-cloud\" target=\"_blank\" rel=\"noopener\">l\u2019environnement\u00a0Azure<\/a> (par ex. cloud\u00a0Azure global, cloud gouvernemental am\u00e9ricain, cloud chinois).<\/p>\n<p>Pour l\u2019environnement Azure global, les terminaux d\u2019authentification et d\u2019API utilis\u00e9s sont les suivants\u00a0:<\/p>\n<ul>\n<li>Terminal de la plateforme d\u2019identit\u00e9 Microsoft\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">login.microsoftonline[.]com<\/span><\/li>\n<li>API Microsoft\u00a0Graph\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">graph.microsoft[.]com<\/span><\/li>\n<li>Terminal\u00a0ARM de la Rest API\u00a0Azure\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">management.azure[.]com<\/span><\/li>\n<\/ul>\n<p>La Figure\u00a010 pr\u00e9sente un extrait de la sortie d\u00e9taill\u00e9e de l\u2019ex\u00e9cution d\u2019AzureHound pour ces appels de test.<\/p>\n<figure id=\"attachment_162627\" aria-describedby=\"caption-attachment-162627\" style=\"width: 826px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162627 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-268832-162472-15.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une interface en ligne de commande affichant les journaux d\u2019AzureHound version\u00a02.6.0, un outil de l\u2019\u00e9quipe BloodHound\u00a0Enterprise, indiquant les tests de connexion et le d\u00e9marrage des processus de collecte de donn\u00e9es li\u00e9s aux services Microsoft\u00a0Azure.\" width=\"826\" height=\"197\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-268832-162472-15.png 826w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-268832-162472-15-786x187.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-268832-162472-15-768x183.png 768w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><figcaption id=\"caption-attachment-162627\" class=\"wp-caption-text\">Figure\u00a010. Requ\u00eates de test de l\u2019API\u00a0AzureHound.<\/figcaption><\/figure>\n<p>L\u2019appel AzureHound vers le terminal de la plateforme d\u2019identit\u00e9 Microsoft (<span style=\"font-family: 'courier new', courier, monospace;\">endpoint login.microsoftonline[.]com<\/span>) est enregistr\u00e9 dans les <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/monitoring-health\/concept-noninteractive-sign-ins\" target=\"_blank\" rel=\"noopener\">journaux de connexion non interactive Entra\u00a0ID<\/a>. Si la journalisation de l\u2019API\u00a0Graph est activ\u00e9e comme d\u00e9crit pr\u00e9c\u00e9demment, l\u2019appel de test \u00e0 l\u2019API Microsoft\u00a0Graph (<span style=\"font-family: 'courier new', courier, monospace;\">hxxps[:]\/\/graph.microsoft[.]com\/v1.0\/organization<\/span>) sera visible dans les journaux d\u2019activit\u00e9 Microsoft\u00a0Graph. En revanche, en raison des limitations de journalisation mentionn\u00e9es plus haut, l\u2019appel de test \u00e0 la Rest API\u00a0Azure (<span style=\"font-family: 'courier new', courier, monospace;\">management.azure[.]com<\/span>) n\u2019est pas enregistr\u00e9.<\/p>\n<p>Le tableau 1 ci-dessous pr\u00e9sente les informations issues des journaux pour une requ\u00eate list <span style=\"font-family: 'courier new', courier, monospace;\">storage-accounts<\/span> effectu\u00e9e \u00e0 22h57 et une requ\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">list groups<\/span> \u00e0 23h25. Pour rappel, l\u2019\u00e9num\u00e9ration des comptes de stockage utilise la Rest API Azure.<\/p>\n<table style=\"width: 100%; height: 273px;\">\n<tbody>\n<tr style=\"height: 48px;\">\n<td style=\"text-align: center; height: 48px;\"><strong>Ligne de commande AzureHound<\/strong><\/td>\n<td style=\"text-align: center; height: 48px;\"><strong>Appels API\u00a0AzureHound<\/strong><\/td>\n<td style=\"text-align: center; height: 48px;\"><strong>Heure enregistr\u00e9e<\/strong><\/td>\n<td style=\"text-align: center; height: 48px;\"><strong>RequestURI enregistr\u00e9e<\/strong><\/td>\n<td style=\"text-align: center; height: 48px;\"><strong>User-Agent enregistr\u00e9<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 55px;\">\n<td style=\"height: 103px;\" rowspan=\"2\"><span style=\"font-family: 'courier new', courier, monospace;\">list storage-accounts<\/span><\/td>\n<td style=\"height: 55px;\">Appel de test AzureHound \u00e0 l\u2019API\u00a0Graph pour v\u00e9rifier la connectivit\u00e9<sup>[1]<\/sup><\/td>\n<td style=\"height: 55px;\"><span style=\"font-family: 'courier new', courier, monospace;\">01\/08\/2025, 22:57:35.185<\/span><\/td>\n<td style=\"height: 55px;\"><span style=\"font-family: 'courier new', courier, monospace;\">hxxps[:]\/\/graph.microsoft[.]com\/v1.0\/organization<\/span><\/td>\n<td style=\"height: 55px;\"><span style=\"font-family: 'courier new', courier, monospace;\">azurehound\/v2.6.0<\/span><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"height: 48px;\">Appel \u00e0 la Rest API\u00a0Azure pour \u00e9num\u00e9rer les donn\u00e9es des comptes de stockage.<\/td>\n<td style=\"height: 48px;\" colspan=\"3\"><em>L\u2019appel REST\u00a0API \u00e0 <span style=\"font-family: 'courier new', courier, monospace;\">management.azure[.]com\/[...]Microsoft.Storage\/storageAccounts\/list<\/span> n\u2019est pas enregistr\u00e9.<\/em><\/td>\n<\/tr>\n<tr style=\"height: 50px;\">\n<td style=\"height: 98px;\" rowspan=\"2\"><span style=\"font-family: 'courier new', courier, monospace;\">list groups<\/span><\/td>\n<td style=\"height: 50px;\">Appel de test AzureHound \u00e0 l\u2019API\u00a0Graph pour v\u00e9rifier la connectivit\u00e9<sup>[1]<\/sup><\/td>\n<td style=\"height: 50px;\"><span style=\"font-family: 'courier new', courier, monospace;\">01\/08\/2025, 11:25:45.561<\/span><\/td>\n<td style=\"height: 50px;\"><span style=\"font-family: 'courier new', courier, monospace;\">hxxps[:]\/\/graph.microsoft[.]com\/v1.0\/organization<\/span><\/td>\n<td style=\"height: 50px;\"><span style=\"font-family: 'courier new', courier, monospace;\">azurehound\/v2.6.0<\/span><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"height: 48px;\">Appel \u00e0 l\u2019API Microsoft\u00a0Graph pour \u00e9num\u00e9rer les donn\u00e9es des groupes.<\/td>\n<td style=\"height: 48px;\"><span style=\"font-family: 'courier new', courier, monospace;\">01\/08\/2025, 11:25:45.651<\/span><\/td>\n<td style=\"height: 48px;\"><span style=\"font-family: 'courier new', courier, monospace;\">hxxps[:]\/\/graph.microsoft[.]com\/v1.0\/groups?%24filter=securityEnabled+eq+true&amp;%24top=99<\/span><\/td>\n<td style=\"height: 48px;\"><span style=\"font-family: 'courier new', courier, monospace;\">azurehound\/v2.6.0<\/span><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"height: 24px;\" colspan=\"5\">Bien que seul l\u2019appel de test \u00e0 l\u2019API\u00a0Graph soit inclus dans le tableau, les trois appels de test mentionn\u00e9s pr\u00e9c\u00e9demment sont ex\u00e9cut\u00e9s \u00e0 chaque fois.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: 10pt;\">Tableau\u00a01. Journalisation des requ\u00eates\u00a0: API Microsoft\u00a0Graph vs Rest API\u00a0Azure.<\/span><\/p>\n<p>Les donn\u00e9es montrent que si la commande <span style=\"font-family: 'courier new', courier, monospace;\">list\u00a0groups<\/span> enregistre l\u2019op\u00e9ration de lecture pour l\u2019\u00e9num\u00e9ration des groupes (Graph\u00a0API\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">hxxps[ :]\/\/graph.microsoft[.]com\/v1.0\/groups ?[...]<\/span>), la demande <span style=\"font-family: 'courier new', courier, monospace;\">list\u00a0storage-accounts<\/span> n\u2019a pas de <span style=\"font-family: 'courier new', courier, monospace;\">RequestURI<\/span> associ\u00e9e et enregistr\u00e9e pour l\u2019op\u00e9ration de lecture des comptes de stockage (Azure REST\u00a0API\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">Microsoft.Storage\/storageAccounts\/list<\/span>). C\u2019est cette faiblesse dans la journalisation de la Rest\u00a0API que nous \u00e9voquions pr\u00e9c\u00e9demment. Cependant, il est possible de corr\u00e9ler ces appels de test \u00e0 des informations issues d\u2019autres journaux pour am\u00e9liorer la visibilit\u00e9 sur cette activit\u00e9.<\/p>\n<p>Pour les commandes list d\u2019AzureHound utilisant la Rest API\u00a0Azure, la requ\u00eate initiale <span style=\"font-family: 'courier new', courier, monospace;\">\/organization<\/span> adress\u00e9e \u00e0 l\u2019API\u00a0Graph pour tester la connexion est bien consign\u00e9e. Elle peut \u00eatre utilis\u00e9e pour corr\u00e9ler les \u00e9v\u00e9nements en recoupant des champs tels que l\u2019ID de session, l\u2019adresse IP, l\u2019ID utilisateur et l\u2019agent utilisateur avec d\u2019autres activit\u00e9s enregistr\u00e9es dans les journaux d\u2019activit\u00e9 Microsoft\u00a0Graph et les journaux de connexion Entra\u00a0ID.<\/p>\n<p>En compl\u00e9ment des journaux d\u2019activit\u00e9 et de ressources li\u00e9s aux API Microsoft\u00a0Graph et Azure\u00a0REST, les journaux de connexion et les journaux d\u2019audit Entra\u00a0ID peuvent fournir un contexte suppl\u00e9mentaire.<\/p>\n<p>Comme leur nom l\u2019indique, les <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/monitoring-health\/concept-sign-ins\" target=\"_blank\" rel=\"noopener\">journaux de connexion Entra\u00a0ID<\/a> consignent les connexions r\u00e9ussies et \u00e9chou\u00e9es. Ils enregistrent \u00e9galement les \u00e9l\u00e9ments suivants\u00a0:<\/p>\n<ul>\n<li>L\u2019\u00e9valuation des strat\u00e9gies d\u2019acc\u00e8s conditionnel\u00a0(CAP)<\/li>\n<li>L\u2019\u00e9mission de jetons pour les appels API<\/li>\n<li>L\u2019agent utilisateur et l\u2019appareil utilis\u00e9s<\/li>\n<li>Les d\u00e9tails li\u00e9s \u00e0 la MFA<\/li>\n<\/ul>\n<p>Les informations contenues dans ces journaux permettent d\u2019identifier des sch\u00e9mas de connexion suspects tels que\u00a0:<\/p>\n<ul>\n<li>Des connexions depuis des zones g\u00e9ographiques inhabituelles<\/li>\n<li>Des d\u00e9placements impossibles<\/li>\n<li>Des connexions successives aux API Microsoft\u00a0Graph et de gestion\u00a0Azure dans un court laps de temps<\/li>\n<li>Des comptes se connectant sans MFA.<\/li>\n<\/ul>\n<p>Les <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity\/monitoring-health\/concept-audit-logs\" target=\"_blank\" rel=\"noopener\">journaux d\u2019audit Entra ID<\/a> suivent les modifications de configuration au niveau de l\u2019annuaire Microsoft Entra\u00a0ID, notamment\u00a0:<\/p>\n<ul>\n<li>La cr\u00e9ation, la suppression ou la mise \u00e0 jour d\u2019utilisateurs et de groupes<\/li>\n<li>L\u2019attribution et la suppression de r\u00f4les<\/li>\n<li>L\u2019enregistrement ou la modification d\u2019applications et de comptes de service<\/li>\n<li>Les consentements d\u2019applications<\/li>\n<li>Les modifications de strat\u00e9gies d\u2019acc\u00e8s conditionnel<\/li>\n<li>L\u2019activation et la d\u00e9sactivation de r\u00f4les PIM<\/li>\n<\/ul>\n<p>Ces journaux d\u2019audit ne sont donc pas les plus adapt\u00e9s pour d\u00e9tecter directement une activit\u00e9 AzureHound. Toutefois, ils se r\u00e9v\u00e8lent pr\u00e9cieux pour identifier des activit\u00e9s cons\u00e9cutives \u00e0 une \u00e9l\u00e9vation de privil\u00e8ges\u00a0\u2013 par exemple, lorsqu\u2019un acteur malveillant cr\u00e9e un nouvel utilisateur pour \u00e9tablir la persistance et lui attribue des r\u00f4les privil\u00e9gi\u00e9s.<\/p>\n<p>Il convient \u00e9galement de noter qu\u2019en juillet\u00a02025, Defender\u00a0XDR a introduit en pr\u00e9version publique une nouvelle table de recherche avanc\u00e9e\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/learn.microsoft.com\/en-us\/defender-xdr\/advanced-hunting-graphapiauditevents-table\" target=\"_blank\" rel=\"noopener\">GraphApiAuditEvents<\/a><\/span>. Cette table all\u00e9g\u00e9e des journaux d\u2019activit\u00e9 Microsoft\u00a0Graph offre une visibilit\u00e9 sur les appels \u00e0 l\u2019API Graph d\u2019Entra\u00a0ID sans co\u00fbt suppl\u00e9mentaire d\u2019ingestion ni de stockage. Son sch\u00e9ma simplifi\u00e9 inclut des champs cl\u00e9s tels que <span style=\"font-family: 'courier new', courier, monospace;\">RequestURI<\/span> et les identifiants de jetons. Cependant, elle ne contient pas le champ <span style=\"font-family: 'courier new', courier, monospace;\">UserAgent<\/span> et sa <a href=\"https:\/\/learn.microsoft.com\/en-us\/defender-xdr\/data-privacy#data-retention\" target=\"_blank\" rel=\"noopener\">r\u00e9tention des donn\u00e9es<\/a> est limit\u00e9e par d\u00e9faut \u00e0 30\u00a0jours.<\/p>\n<p>Nous verrons dans la section suivante comment exploiter ces informations pour effectuer une recherche de traces d\u2019activit\u00e9 d\u2019acteurs de la menace dans Cortex\u00a0XDR ou XSIAM.<\/p>\n<h3><a id=\"post-163661-_heading=h.3fbyt2rimjmy\"><\/a>Chasse aux menaces<\/h3>\n<p>Bien que Cortex\u00a0Cloud int\u00e8gre d\u00e9j\u00e0 plusieurs d\u00e9tections sp\u00e9cifiques \u00e0 l\u2019activit\u00e9 de d\u00e9couverte dans Azure, un intervenant en r\u00e9ponse \u00e0 incident ou un analyste de la menace peut \u00e9galement utiliser des requ\u00eates XQL\u00a0Cortex pour examiner les donn\u00e9es plus en d\u00e9tail, \u00e9v\u00e9nement par \u00e9v\u00e9nement. Au niveau le plus \u00e9l\u00e9mentaire, il est possible d\u2019interroger le jeu de donn\u00e9es <span style=\"font-family: 'courier new', courier, monospace;\">cloud_audit_logs<\/span> afin d\u2019identifier les requ\u00eates dont l\u2019agent utilisateur contient un identifiant\u00a0AzureHound (par d\u00e9faut\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">azurehound\/&lt;version&gt;<\/span>).<\/p>\n<p>Les <a href=\"https:\/\/www.huntress.com\/blog\/threat-hunting-for-business-email-compromise-through-user-agents\" target=\"_blank\" rel=\"noopener\">observations du secteur<\/a> montrent que, dans de nombreux cas, les acteurs de la menace utilisent les outils avec leurs configurations par d\u00e9faut\u00a0\u2013 y compris la cha\u00eene user-agent\u00a0\u2013, ce qui en fait un param\u00e8tre facile \u00e0 exploiter pour une premi\u00e8re recherche.<\/p>\n<pre class=\"lang:default decode:true\">dataset = cloud_audit_logs\r\n\r\n| filter lowercase(user_agent) contains \"azurehound\"<\/pre>\n<p>Il est ensuite possible d\u2019ajouter un filtre sur l\u2019op\u00e9ration\u00a0API pour ne conserver que les r\u00e9sultats correspondant \u00e0 une action donn\u00e9e. L\u2019exemple suivant recherche une activit\u00e9 AzureHound (<span style=\"font-family: 'courier new', courier, monospace;\">azurehound list users<\/span>) interrogeant l\u2019API Microsoft\u00a0Graph pour obtenir la liste des utilisateurs Entra\u00a0ID.<\/p>\n<pre class=\"lang:default decode:true\">dataset = cloud_audit_logs\r\n\r\n| filter lowercase(user_agent) contains \"azurehound\"\r\n\r\n| filter operation_name_orig contains \"1.0\/users\" or operation_name_orig contains \"beta\/users\"<\/pre>\n<p>Cortex ing\u00e8re les journaux issus d\u2019Azure. L\u2019activit\u00e9 Azure remonte via le journal d\u2019activit\u00e9 Microsoft\u00a0Graph d\u2019Entra\u00a0ID. Elle est li\u00e9e aux capacit\u00e9s de suivi d\u2019audit et de connexion. Cela offre une visibilit\u00e9 sur les requ\u00eates\u00a0HTTP adress\u00e9es \u00e0 l\u2019API Microsoft\u00a0Graph au sein d\u2019un client.<\/p>\n<p>La Figure\u00a011 ci-dessous illustre un extrait d\u2019un journal d\u2019activit\u00e9 brut repr\u00e9sentant une requ\u00eate Azurehound <span style=\"font-family: 'courier new', courier, monospace;\">list users<\/span>, anonymis\u00e9e pour la publication. Les d\u00e9fenseurs peuvent exploiter nombre de champs pour construire des requ\u00eates compl\u00e9mentaires adapt\u00e9es au cas \u00e9tudi\u00e9, par exemple en filtrant sur un <span style=\"font-family: 'courier new', courier, monospace;\">signInActivityId<\/span> ou <span style=\"font-family: 'courier new', courier, monospace;\">callerIpAddress.<\/span><\/p>\n<figure id=\"attachment_162638\" aria-describedby=\"caption-attachment-162638\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-162638 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-271488-162472-16.png\" alt=\"Capture d\u2019\u00e9cran affichant un extrait de code\u00a0JSON relatif \u00e0 l\u2019API Microsoft\u00a0Graph, mettant en \u00e9vidence des \u00e9l\u00e9ments tels que l\u2019ID de requ\u00eate, le nom de l\u2019op\u00e9ration et les horodatages.\" width=\"1000\" height=\"865\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-271488-162472-16.png 1377w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-271488-162472-16-509x440.png 509w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-271488-162472-16-809x700.png 809w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/word-image-271488-162472-16-768x664.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-162638\" class=\"wp-caption-text\">Figure\u00a011. Extrait brut du journal d\u2019activit\u00e9 Azure pour la commande AzureHound \u00ab\u00a0list users\u00a0\u00bb.<\/figcaption><\/figure>\n<p>Parmi les \u00e9l\u00e9ments utiles pr\u00e9sents dans l\u2019extrait de journal\u00a0:<\/p>\n<ul>\n<li>La cha\u00eene <span style=\"font-family: 'courier new', courier, monospace;\">user-agent<\/span> indique qu\u2019AzureHound a tr\u00e8s probablement \u00e9t\u00e9 utilis\u00e9e pour effectuer la requ\u00eate.<\/li>\n<li>Le champ Request\u00a0URI montre qu\u2019AzureHound r\u00e9cup\u00e8re des donn\u00e9es utilisateur via un <span style=\"font-family: 'courier new', courier, monospace;\">GET \/users<\/span> avec un large jeu d\u2019attributs (<span style=\"font-family: 'courier new', courier, monospace;\">accountEnabled, createdDateTime, displayName, mail, userPrincipalName, etc.<\/span>), coh\u00e9rent avec des op\u00e9rations de d\u00e9couverte et de cartographie pour escalade de privil\u00e8ges.<\/li>\n<li>Dans le champ App\u00a0ID, la valeur<span style=\"font-family: 'courier new', courier, monospace;\"> 1950a258-227b-4e31-a9cf-717495945fc2<\/span> correspond \u00e0 l\u2019identifiant client Microsoft Azure\u00a0PowerShell. \u00c0 noter que PowerShell est souvent utilis\u00e9 par des outils offensifs et des acteurs malveillants.<\/li>\n<li>Enfin, le UserPrincipalObjectID (<span style=\"font-family: 'courier new', courier, monospace;\">454b1120-3507-4bbb-b559-87b7f64af7fa<\/span>) est l\u2019object\u00a0ID Entra\u00a0ID de l\u2019utilisateur dont les identifiants ont \u00e9t\u00e9 utilis\u00e9s. Pour approfondir l\u2019analyse, il est possible de corr\u00e9ler l\u2019ID d\u2019activit\u00e9 de connexion (<span style=\"font-family: 'courier new', courier, monospace;\">frZ7H7lx8kSlDW0b-4MfAA<\/span>) avec les journaux de connexion Entra\u00a0ID.<\/li>\n<\/ul>\n<p>L\u2019identification d\u2019une forte volum\u00e9trie d\u2019appels API \u00e9mis par une seule identit\u00e9 constitue \u00e9galement une strat\u00e9gie efficace pour rep\u00e9rer des activit\u00e9s de d\u00e9couverte suspectes. En effet, AzureHound peut g\u00e9n\u00e9rer des rafales de requ\u00eates\u00a0API dans un laps de temps tr\u00e8s court lorsqu\u2019il interroge les API Microsoft\u00a0Graph ou Azure\u00a0REST. Ce ph\u00e9nom\u00e8ne se produit notamment lors de requ\u00eates portant sur des ressources volumineuses (utilisateurs, r\u00f4les, machines virtuelles, applications, etc.), ou encore lorsqu\u2019un utilisateur ex\u00e9cute <span style=\"font-family: 'courier new', courier, monospace;\">azurehound\u00a0list<\/span> pour \u00e9num\u00e9rer l\u2019ensemble de l\u2019environnement Azure d\u2019un seul coup. Combin\u00e9e aux cha\u00eenes user-agent et \u00e0 l\u2019adresse\u00a0IP de l\u2019entit\u00e9 appelante, cette corr\u00e9lation peut servir d\u2019indicateur d\u2019une \u00e9num\u00e9ration \u00e0 grande \u00e9chelle d\u2019un environnement\u00a0Azure.<\/p>\n<p>La requ\u00eate\u00a0XQL suivante permet de mettre en \u00e9vidence ce type d\u2019activit\u00e9 d\u2019\u00e9num\u00e9ration. Les filtres <span style=\"font-family: 'courier new', courier, monospace;\">operation_name<\/span> et <span style=\"font-family: 'courier new', courier, monospace;\">operation_name_orig<\/span> restreignent les r\u00e9sultats aux requ\u00eates\u00a0GET de l\u2019API\u00a0Graph, utilis\u00e9es par AzureHound comme expliqu\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<p>Les \u00e9tapes <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Documentation\/bin\" target=\"_blank\" rel=\"noopener\">bin<\/a><\/span> et <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Documentation\/comp\" target=\"_blank\" rel=\"noopener\">comp<\/a><\/span>, associ\u00e9es \u00e0 la fonction <span style=\"font-family: 'courier new', courier, monospace;\"><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Documentation\/count\" target=\"_blank\" rel=\"noopener\">count()<\/a><\/span>, servent \u00e0 agr\u00e9ger les donn\u00e9es par tranches de 60\u00a0minutes pour comparaison avec le seuil\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">apiCallCount<\/span> (500\u00a0appels sur 60\u00a0minutes dans l\u2019exemple). Ce seuil doit \u00eatre adapt\u00e9 \u00e0 la taille de l\u2019environnement Azure analys\u00e9. Les grandes organisations observeront probablement un volume de requ\u00eates plus \u00e9lev\u00e9, puisque le nombre d\u2019utilisateurs, de r\u00f4les, de machines virtuelles et d\u2019applications y est g\u00e9n\u00e9ralement sup\u00e9rieur \u00e0 celui des structures plus petites.<\/p>\n<pre class=\"lang:default decode:true\">dataset = cloud_audit_logs\r\n\r\n| filter operation_name = \"GET\"\r\n\r\n| filter operation_name_orig contains \"graph.microsoft.com\"\r\n\r\n| bin _time span = 60m\r\n\r\n| comp count() as apiCallCount by identity_name, user_agent, caller_ip, _time\r\n\r\n| filter apiCallCount &gt; 500 \/\/ adjust to your environment\r\n\r\n| sort desc apiCallCount<\/pre>\n<p>Les <a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Documentation\/Cortex-XSIAM-XQL\" target=\"_blank\" rel=\"noopener\">requ\u00eates Cortex\u00a0XQL<\/a> permettent aux d\u00e9fenseurs d\u2019explorer la t\u00e9l\u00e9m\u00e9trie collect\u00e9e depuis des sources telles que les journaux d\u2019activit\u00e9 de l\u2019API Microsoft\u00a0Graph afin de mettre au jour des indicateurs pr\u00e9cis d\u2019activit\u00e9 AzureHound. Les requ\u00eates corr\u00e9lant le volume de requ\u00eates, l\u2019identit\u00e9 de l\u2019utilisateur, l\u2019adresse\u00a0IP de l\u2019appelant et l\u2019agent utilisateur sur des fen\u00eatres temporelles d\u00e9finies aident les d\u00e9fenseurs \u00e0 identifier des sch\u00e9mas d\u2019\u00e9num\u00e9ration inhabituels, caract\u00e9ristiques de l\u2019usage d\u2019AzureHound.<\/p>\n<h2><a id=\"post-163661-_heading=h.9ux9003lum88\"><\/a>Conclusion<\/h2>\n<p>Les acteurs de la menace exploitent les capacit\u00e9s d\u2019AzureHound pour effectuer une d\u00e9couverte cibl\u00e9e dans le cloud. Sa capacit\u00e9 \u00e0 \u00e9num\u00e9rer les utilisateurs, les groupes, les applications, les autorisations et les relations entre ressources s\u2019aligne directement sur les TTP du r\u00e9f\u00e9rentiel MITRE\u00a0ATT&amp;CK&amp;CK. Cela offre \u00e0 des acteurs tels que Curious\u00a0Serpens et Void\u00a0Blizzard une m\u00e9thode structur\u00e9e pour cartographier les environnements, identifier les comptes propices \u00e0 une escalade de privil\u00e8ges et localiser les \u00e9l\u00e9ments les plus critiques (les fameux \u00ab\u00a0crown jewels\u00a0\u00bb) des environnements\u00a0cloud.<\/p>\n<p>La d\u00e9tection de cette activit\u00e9 repose sur la visibilit\u00e9 t\u00e9l\u00e9m\u00e9trique. Les journaux d\u2019activit\u00e9 Microsoft\u00a0Graph constituent une source d\u2019informations riche sur les appels API, permettant aux d\u00e9fenseurs d\u2019identifier les sch\u00e9mas caract\u00e9ristiques de la d\u00e9couverte. Associ\u00e9s \u00e0 d\u2019autres journaux Azure et Entra ID, ces \u00e9l\u00e9ments forment une couche de surveillance compl\u00e8te, renfor\u00e7ant la d\u00e9tection des menaces et les capacit\u00e9s de r\u00e9ponse \u00e0 incident.<\/p>\n<p>Pour un guide d\u00e9taill\u00e9 sur la configuration de la journalisation de l\u2019API\u00a0Graph, son int\u00e9gration \u00e0 Cortex\u00a0XDR et l\u2019exploitation de Cortex pour analyser l\u2019activit\u00e9 Microsoft\u00a0Graph, reportez-vous \u00e0 notre publication <a href=\"https:\/\/www.paloaltonetworks.com\/blog\/security-operations\/detecting-threats-with-microsoft-graph-activity-logs\/\" target=\"_blank\" rel=\"noopener\">D\u00e9tection des menaces \u00e0 l\u2019aide des journaux d\u2019activit\u00e9 Microsoft Graph<\/a>.<\/p>\n<p>En alignant les d\u00e9tections sur le r\u00e9f\u00e9rentiel MITRE\u00a0ATT&amp;CK et en exploitant ces sources de journalisation, les d\u00e9fenseurs peuvent allier visibilit\u00e9 et contr\u00f4le proactif pour contrer efficacement l\u2019utilisation malveillante d\u2019AzureHound. Les actions suivantes sont essentielles pour renforcer la capacit\u00e9 d\u2019une organisation \u00e0 emp\u00eacher les cyberattaquants d\u2019atteindre leurs objectifs\u00a0:<\/p>\n<ul>\n<li>Cartographier les outils de d\u00e9couverte l\u00e9gitimes en fonction de sc\u00e9narios de menace.<\/li>\n<li>Corr\u00e9ler les donn\u00e9es entre diff\u00e9rents syst\u00e8mes.<\/li>\n<li>Appliquer des strat\u00e9gies d\u2019acc\u00e8s conditionnel\u00a0(CAP).<\/li>\n<li>Suivre le principe du moindre privil\u00e8ge.<\/li>\n<li>Surveiller attentivement les \u00e9carts par rapport aux comportements habituels.<\/li>\n<\/ul>\n<h3><a id=\"post-163661-_heading=h.unhx9wtguhsm\"><\/a>Protection et att\u00e9nuation des risques par Palo\u00a0Alto\u00a0Networks<\/h3>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s contre les menaces mentionn\u00e9es ci-dessus gr\u00e2ce aux produits suivants\u00a0:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Premium-Documentation\/What-is-Cortex-Cloud-Identity-Security\" target=\"_blank\" rel=\"noopener\">Cortex\u00a0Cloud Identity\u00a0Security, qui regroupe <\/a>les fonctions de gestion des droits sur l\u2019infrastructure cloud\u00a0(CIEM), de gestion de la posture de s\u00e9curit\u00e9 des identit\u00e9s\u00a0(ISPM), de gouvernance des acc\u00e8s aux donn\u00e9es\u00a0(DAG) ainsi que la d\u00e9tection et r\u00e9ponse aux menaces sur les identit\u00e9s\u00a0(ITDR). Cette solution offre aux organisations les capacit\u00e9s n\u00e9cessaires pour renforcer la s\u00e9curit\u00e9 li\u00e9e aux identit\u00e9s\u00a0: visibilit\u00e9 compl\u00e8te sur les identit\u00e9s et leurs permissions dans les environnements cloud, d\u00e9tection pr\u00e9cise des configurations erron\u00e9es, identification des acc\u00e8s ind\u00e9sirables aux donn\u00e9es sensibles et analyse en temps r\u00e9el des usages et des sch\u00e9mas d\u2019acc\u00e8s.<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/apps\/pan\/public\/downloadResource?pagePath=\/content\/pan\/en_US\/resources\/datasheets\/prisma-access-browser\" target=\"_blank\" rel=\"noopener\">Prisma\u00a0Browser<\/a>, qui int\u00e8gre des fonctionnalit\u00e9s de protection des jetons et contribue \u00e0 s\u00e9curiser l\u2019acc\u00e8s aux applications priv\u00e9es ou privil\u00e9gi\u00e9es en garantissant que les jetons \u00e9mis ne sont valides qu\u2019\u00e0 partir du navigateur s\u00e9curis\u00e9.<\/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> 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<h2><a id=\"post-163661-_heading=h.lhqgj9me7r5k\"><\/a>Indicateurs de compromission<\/h2>\n<p>Cha\u00eenes d\u2019agents utilisateurs\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">azurehound\/&lt;version&gt;<\/span><\/li>\n<\/ul>\n<h2><a id=\"post-163661-_heading=h.nnqk7jxigyx2\"><\/a>Pour aller plus loin<\/h2>\n<ul>\n<li><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/iranian-cyberattacks-2025\/\" target=\"_blank\" rel=\"noopener\">Briefing s\u00e9curit\u00e9\u00a0: Hausse du cyber-risque li\u00e9 \u00e0 l\u2019Iran (mis \u00e0 jour le 30\u00a0juin)<\/a>\u00a0\u2013 Palo Alto Networks<\/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 Unit\u00a042 sur la r\u00e9ponse \u00e0 incident 2025\u00a0: Social Engineering Edition<\/a>, Palo\u00a0Alto Networks<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cyberpedia\/anatomy-ci-cd-pipeline-attack\" target=\"_blank\" rel=\"noopener\">Anatomie d\u2019une attaque sur le pipeline de supply chain cloud<\/a>\u00a0\u2013 Palo\u00a0Alto Networks<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/blog\/security-operations\/detecting-threats-with-microsoft-graph-activity-logs\/\" target=\"_blank\" rel=\"noopener\">D\u00e9tection des menaces avec les journaux d\u2019activit\u00e9 Microsoft\u00a0Graph<\/a>\u00a0\u2013 Palo\u00a0Alto Networks<\/li>\n<li><a href=\"https:\/\/docs-cortex.paloaltonetworks.com\/r\/Cortex-XSIAM\/Cortex-XSIAM-Documentation\/Cortex-XSIAM-XQL\" target=\"_blank\" rel=\"noopener\">Cortex XSIAM XQL<\/a>\u00a0\u2013 Palo\u00a0Alto Networks<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2023\/09\/14\/peach-sandstorm-password-spray-campaigns-enable-intelligence-collection-at-high-value-targets\/\" target=\"_blank\" rel=\"noopener\">Peach Sandstorm password spray campaigns enable intelligence collection at high-value targets<\/a>\u00a0\u2013 Microsoft<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2025\/05\/27\/new-russia-affiliated-actor-void-blizzard-targets-critical-sectors-for-espionage\/\" target=\"_blank\" rel=\"noopener\">New Russia-affiliated actor Void Blizzard targets critical sectors for espionage<\/a>\u00a0\u2013 Microsoft<\/li>\n<li><a href=\"https:\/\/thehackernews.com\/2025\/05\/from-infection-to-access-24-hour.html\" target=\"_blank\" rel=\"noopener\">From Infection to Access: A 24-Hour Timeline of a Modern Stealer Campaign<\/a>\u00a0\u2013 The Hacker News<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/security\/blog\/2025\/08\/27\/storm-0501s-evolving-techniques-lead-to-cloud-based-ransomware\/\" target=\"_blank\" rel=\"noopener\">Storm-0501\u2019s evolving techniques lead to cloud-based ransomware<\/a>\u00a0\u2013 Microsoft<\/li>\n<li><a href=\"https:\/\/github.com\/SpecterOps\/AzureHound\" target=\"_blank\" rel=\"noopener\">SpecterOps\/AzureHound<\/a>\u00a0\u2013 GitHub<\/li>\n<li><a href=\"https:\/\/github.com\/SpecterOps\/BloodHound\" target=\"_blank\" rel=\"noopener\">SpecterOps\/BloodHound<\/a>\u00a0\u2013 GitHub<\/li>\n<li><a href=\"https:\/\/bloodhound.specterops.io\/collect-data\/ce-collection\" target=\"_blank\" rel=\"noopener\">Collection BloodHound CE<\/a>\u00a0\u2013 Specter Ops, Inc.<\/li>\n<li><a href=\"https:\/\/attack.mitre.org\/matrices\/enterprise\/\" target=\"_blank\" rel=\"noopener\">ATT&amp;CK\u00ae Matrix for Enterprise<\/a>\u00a0\u2013 MITRE<\/li>\n<li><a href=\"https:\/\/attack.mitre.org\/matrices\/enterprise\/cloud\/\" target=\"_blank\" rel=\"noopener\">ATT&amp;CK\u00ae Cloud Matrix<\/a>\u00a0\u2013 MITRE<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/use-the-api\" target=\"_blank\" rel=\"noopener\">Use the Microsoft Graph API<\/a>\u00a0\u2013 Microsoft<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-resource-manager\/management\/overview\" target=\"_blank\" rel=\"noopener\">What is Azure Resource Manager?<\/a>\u00a0\u2013 Microsoft<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.<\/p>\n","protected":false},"author":366,"featured_media":162652,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8724,8832],"tags":[9737,9299,9738,9739,9342,9523,9740],"product_categories":[9041,9046,9064,9139,9122,9151],"coauthors":[4054,8920,9524],"class_list":["post-163661","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-cybersecurity-research-fr","category-threat-research-fr","tag-control-plane-fr","tag-curious-serpens-fr","tag-data-plane-fr","tag-logging-fr","tag-microsoft-azure-fr","tag-pentest-tool-fr","tag-security-logging-fr","product_categories-cortex-fr","product_categories-cortex-cloud-fr","product_categories-cortex-xsiam-fr","product_categories-prisma-sase-fr","product_categories-secure-access-service-edge-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>Cartographie des environnements\u00a0cloud avec AzureHound<\/title>\n<meta name=\"description\" content=\"Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.\" \/>\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\/threat-actor-misuse-of-azurehound\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cartographie des environnements\u00a0cloud avec AzureHound\" \/>\n<meta property=\"og:description\" content=\"Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit 42\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-24T19:08:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-31T19:13:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_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=\"Margaret Kelley, Bill Batchelor, Eyal Rafian\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cartographie des environnements\u00a0cloud avec AzureHound","description":"Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.","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\/threat-actor-misuse-of-azurehound\/","og_locale":"fr_FR","og_type":"article","og_title":"Cartographie des environnements\u00a0cloud avec AzureHound","og_description":"Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.","og_url":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/","og_site_name":"Unit 42","article_published_time":"2025-10-24T19:08:07+00:00","article_modified_time":"2025-10-31T19:13:27+00:00","og_image":[{"width":1920,"height":900,"url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_1920x900.jpg","type":"image\/jpeg"}],"author":"Margaret Kelley, Bill Batchelor, Eyal Rafian","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#article","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/"},"author":{"name":"Sheida Azimi","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"headline":"Cartographie des environnements\u00a0cloud avec AzureHound","datePublished":"2025-10-24T19:08:07+00:00","dateModified":"2025-10-31T19:13:27+00:00","mainEntityOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/"},"wordCount":8026,"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_1920x900.jpg","keywords":["control plane","Curious Serpens","data plane","logging","Microsoft Azure","pentest tool","security logging"],"articleSection":["\u00c9tudes sur la cybers\u00e9curit\u00e9 du cloud","Recherche sur les menaces"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/","url":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/","name":"Cartographie des environnements\u00a0cloud avec AzureHound","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#primaryimage"},"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_1920x900.jpg","datePublished":"2025-10-24T19:08:07+00:00","dateModified":"2025-10-31T19:13:27+00:00","author":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"description":"Unit 42 analyse la mani\u00e8re dont des acteurs de la menace d\u00e9tournent AzureHound, un outil de pentesting, pour effectuer cartographier les environnements cloud. D\u00e9couvrez comment d\u00e9tecter cette activit\u00e9 gr\u00e2ce \u00e0 la t\u00e9l\u00e9m\u00e9trie.","breadcrumb":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#primaryimage","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_1920x900.jpg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/10\/08_Cloud_cybersecurity_research_Overview_1920x900.jpg","width":1920,"height":900,"caption":"Pictorial representation of cloud discovery with AzureHound. A digital representation of a cloud composed of blue light particles, superimposed over a blurred background of server racks in a data center."},{"@type":"BreadcrumbList","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/threat-actor-misuse-of-azurehound\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unit42.paloaltonetworks.com\/"},{"@type":"ListItem","position":2,"name":"Cartographie des environnements\u00a0cloud avec AzureHound"}]},{"@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\/163661","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=163661"}],"version-history":[{"count":2,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/163661\/revisions"}],"predecessor-version":[{"id":164168,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/163661\/revisions\/164168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media\/162652"}],"wp:attachment":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media?parent=163661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/categories?post=163661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/tags?post=163661"},{"taxonomy":"product_categories","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/product_categories?post=163661"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/coauthors?post=163661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}