
Sign up to save your podcasts
Or


Mathieu Saulnier, connu sous le pseudonyme “Scooby” dans la communauté de cybersécurité, possède une vingtaine d’années d’expérience dans le domaine. Son parcours l’a mené d’un grand fournisseur internet et de télécommunications vers la gestion d’un SOC (Security Operations Center), puis vers des rôles de recherche sur les menaces pour des vendeurs de SIEM et d’EDR. Aujourd’hui, il occupe le poste de product manager pour BloodHound Community Edition chez SpecterOps, une position qu’il a obtenue grâce à ses nombreuses présentations sur BloodHound au fil des années.
La version 8 de BloodHound représente une évolution majeure de l’outil. La fonctionnalité phare est OpenGraph, qui permet d’ingérer n’importe quel type de données dans le graphe et de créer ses propres chemins d’attaque pour différentes technologies. Historiquement, BloodHound se concentrait exclusivement sur Active Directory et Azure/Entra ID, mais cette limitation appartient désormais au passé.
Avec le lancement d’OpenGraph, SpecterOps a publié plusieurs nouveaux collecteurs pour diverses technologies : One Password, Snowflake, et Jamf (pour la gestion des postes de travail Mac). La communauté a réagi avec enthousiasme, puisqu’en seulement 48 heures après l’annonce, un contributeur externe a créé un collecteur pour Ansible. Plus récemment, un collecteur pour VMware vCenter et ESXi a également vu le jour, démontrant l’adoption rapide de cette nouvelle capacité.
Mathieu utilise une analogie éclairante avec Google Maps pour expliquer la différence entre un chemin d’accès et un chemin d’attaque. Google Maps montre les chemins autorisés selon différents modes de transport (voiture, vélo, transport en commun), chacun ayant ses propres règles et restrictions. C’est l’équivalent d’un graphe d’accès qui indique où on a le droit d’aller.
Un chemin d’attaque, en revanche, représente la perspective d’un adversaire qui ne se préoccupe pas des règlements. L’exemple donné est celui d’une voiture roulant sur une piste cyclable à Montréal : c’est interdit, on sait qu’on risque une contravention, mais c’est techniquement possible. Dans le monde numérique, les conséquences sont souvent moins immédiates et moins visibles, ce qui explique pourquoi les attaquants exploitent régulièrement ces chemins non conventionnels.
BloodHound a commencé modestement avec seulement trois types d’objets (utilisateurs, groupes et ordinateurs) et trois types de relations (member of, admin et session). Depuis, le modèle s’est considérablement enrichi grâce aux recherches menées par SpecterOps et d’autres organisations. Des propriétés comme le Kerberoasting ont été ajoutées, permettant d’identifier les objets vulnérables à ce type d’attaque et d’élever ses privilèges.
La vraie puissance d’OpenGraph réside dans la capacité de relier différents systèmes entre eux. Par exemple, si un attaquant compromet le poste d’un utilisateur ayant accès à un dépôt GitHub, il peut voler les tokens et sessions pour effectuer des commits au nom de cet utilisateur, potentiellement dans une bibliothèque largement utilisée, ouvrant ainsi la voie à une attaque de la chaîne d’approvisionnement (supply chain attack). Cette interconnexion multi-dimensionnelle des systèmes était difficile à visualiser mentalement, mais le graphe la rend évidente.
Pour qu’un collecteur soit accepté dans la liste officielle des projets communautaires, certains standards doivent être respectés. Il faut créer le connecteur avec une documentation détaillant les permissions minimales nécessaires (principe du moindre privilège), expliquer son fonctionnement, les systèmes d’exploitation supportés, et les dépendances requises.
La documentation devrait également inclure des références sur comment exploiter ou défendre contre les vulnérabilités identifiées. Bien que non obligatoires, des éléments visuels personnalisés (icônes et couleurs) sont fortement recommandés pour assurer une cohérence visuelle dans la communauté. Le projet étant open source, les utilisateurs peuvent toujours modifier ces éléments selon leurs préférences.
Un aspect crucial est la fourniture de requêtes Cypher pré-construites. Sans ces requêtes, un utilisateur qui ne connaît pas Cypher pourrait importer toutes les données mais se retrouver bloqué pour les exploiter efficacement.
BloodHound fonctionne sur une base de données graphique, historiquement Neo4j, mais maintenant également PostgreSQL grâce à un module de conversion. Le langage de requête utilisé est Cypher, qui possède une syntaxe particulière. Pour rendre l’outil plus accessible, SpecterOps maintient une bibliothèque Cypher contenant de nombreuses requêtes créées par l’équipe et la communauté. Ces requêtes peuvent être exécutées directement depuis le portail BloodHound.
L’entreprise explore également l’utilisation de LLM (Large Language Models) pour générer des requêtes Cypher automatiquement, bien que le corpus public de données spécifiques à BloodHound soit encore limité. Les pistes futures incluent l’utilisation de MCP (Model Context Protocol) et d’approches agentiques pour améliorer la génération de requêtes.
Mathieu souligne que les mêmes requêtes Cypher peuvent servir tant aux équipes bleues (défensives) qu’aux équipes rouges (offensives). La différence réside dans l’intention et l’utilisation des résultats, pas dans les outils eux-mêmes. C’est l’équivalent du marteau qui peut construire ou détruire selon l’utilisateur.
Pour l’usage défensif, BloodHound Enterprise offre des fonctionnalités avancées comme le scan quasi-continu, l’identification automatique des points de contrôle critiques (choke points), et des outils de remédiation. Même la version communautaire gratuite permet de découvrir des vulnérabilités majeures lors de la première exécution.
Mathieu partage des exemples frappants de découvertes faites avec BloodHound. Dans une entreprise de plus de 60 000 employés, il a identifié un serveur où tous les utilisateurs du domaine (domain users) avaient été accidentellement configurés comme administrateurs locaux. Comme un compte administrateur de domaine se connectait régulièrement à ce serveur, n’importe quel utilisateur pouvait devenir administrateur du domaine en seulement trois étapes : RDP vers le serveur, dump de la mémoire pour récupérer le token, puis attaque pass-the-hash.
Un autre cas récent impliquait le script de login d’un administrateur de domaine stocké dans un répertoire accessible en écriture à tous. En y plaçant un simple script affichant un popup, l’équipe de sécurité a rapidement reçu une notification prouvant la vulnérabilité.
Bien que moins spectaculaire qu’OpenGraph, la fonctionnalité “table view” répond à un besoin important. La célèbre citation de John Lambert de Microsoft (2015) dit : “Les attaquants pensent en graphe, les défenseurs pensent en liste. Tant que ce sera vrai, les attaquants gagneront.” Bien que la visualisation graphique soit le paradigme central de BloodHound, certaines analyses nécessitent une vue tabulaire.
Par exemple, une requête identifiant tous les comptes Kerberoastables retourne de nombreux points à l’écran, mais sans informations détaillées sur les privilèges ou l’appartenance aux groupes. La vue tableau permet de choisir les colonnes à afficher et d’exporter les données en JSON (et bientôt en CSV), facilitant l’analyse et le partage d’informations.
En complément à son travail sur BloodHound, Mathieu est le site leader de Montréal pour Deathcon (Detection Engineering and Threat Hunting Conference). Cette conférence unique, entièrement axée sur les ateliers pratiques (hands-on), se déroule sur deux jours en novembre. Contrairement aux conférences traditionnelles, tous les ateliers sont pré-enregistrés, permettant aux participants de travailler à leur rythme.
L’événement se limite volontairement à 50 personnes maximum pour maintenir une atmosphère humaine et favoriser les interactions. Les participants ont accès à un laboratoire massif incluant Splunk, Elastic, Sentinel et Security Onion, et conservent cet accès pendant au moins un mois après l’événement. Sans sponsors, la conférence est entièrement financée par les billets, et l’édition 2024 a déjà vendu plus de 30 places, avec de nombreux participants de l’année précédente qui reviennent.
BloodHound avec OpenGraph représente une évolution majeure dans la visualisation et l’analyse des chemins d’attaque en cybersécurité. En permettant l’intégration de multiples technologies au-delà d’Active Directory, l’outil offre désormais une vision holistique des vulnérabilités organisationnelles. Que ce soit pour la défense ou les tests d’intrusion, BloodHound continue de démontrer que penser en graphe plutôt qu’en liste constitue un avantage stratégique décisif en matière de sécurité.
By Nicolas-Loïc Fortin et tous les collaborateursMathieu Saulnier, connu sous le pseudonyme “Scooby” dans la communauté de cybersécurité, possède une vingtaine d’années d’expérience dans le domaine. Son parcours l’a mené d’un grand fournisseur internet et de télécommunications vers la gestion d’un SOC (Security Operations Center), puis vers des rôles de recherche sur les menaces pour des vendeurs de SIEM et d’EDR. Aujourd’hui, il occupe le poste de product manager pour BloodHound Community Edition chez SpecterOps, une position qu’il a obtenue grâce à ses nombreuses présentations sur BloodHound au fil des années.
La version 8 de BloodHound représente une évolution majeure de l’outil. La fonctionnalité phare est OpenGraph, qui permet d’ingérer n’importe quel type de données dans le graphe et de créer ses propres chemins d’attaque pour différentes technologies. Historiquement, BloodHound se concentrait exclusivement sur Active Directory et Azure/Entra ID, mais cette limitation appartient désormais au passé.
Avec le lancement d’OpenGraph, SpecterOps a publié plusieurs nouveaux collecteurs pour diverses technologies : One Password, Snowflake, et Jamf (pour la gestion des postes de travail Mac). La communauté a réagi avec enthousiasme, puisqu’en seulement 48 heures après l’annonce, un contributeur externe a créé un collecteur pour Ansible. Plus récemment, un collecteur pour VMware vCenter et ESXi a également vu le jour, démontrant l’adoption rapide de cette nouvelle capacité.
Mathieu utilise une analogie éclairante avec Google Maps pour expliquer la différence entre un chemin d’accès et un chemin d’attaque. Google Maps montre les chemins autorisés selon différents modes de transport (voiture, vélo, transport en commun), chacun ayant ses propres règles et restrictions. C’est l’équivalent d’un graphe d’accès qui indique où on a le droit d’aller.
Un chemin d’attaque, en revanche, représente la perspective d’un adversaire qui ne se préoccupe pas des règlements. L’exemple donné est celui d’une voiture roulant sur une piste cyclable à Montréal : c’est interdit, on sait qu’on risque une contravention, mais c’est techniquement possible. Dans le monde numérique, les conséquences sont souvent moins immédiates et moins visibles, ce qui explique pourquoi les attaquants exploitent régulièrement ces chemins non conventionnels.
BloodHound a commencé modestement avec seulement trois types d’objets (utilisateurs, groupes et ordinateurs) et trois types de relations (member of, admin et session). Depuis, le modèle s’est considérablement enrichi grâce aux recherches menées par SpecterOps et d’autres organisations. Des propriétés comme le Kerberoasting ont été ajoutées, permettant d’identifier les objets vulnérables à ce type d’attaque et d’élever ses privilèges.
La vraie puissance d’OpenGraph réside dans la capacité de relier différents systèmes entre eux. Par exemple, si un attaquant compromet le poste d’un utilisateur ayant accès à un dépôt GitHub, il peut voler les tokens et sessions pour effectuer des commits au nom de cet utilisateur, potentiellement dans une bibliothèque largement utilisée, ouvrant ainsi la voie à une attaque de la chaîne d’approvisionnement (supply chain attack). Cette interconnexion multi-dimensionnelle des systèmes était difficile à visualiser mentalement, mais le graphe la rend évidente.
Pour qu’un collecteur soit accepté dans la liste officielle des projets communautaires, certains standards doivent être respectés. Il faut créer le connecteur avec une documentation détaillant les permissions minimales nécessaires (principe du moindre privilège), expliquer son fonctionnement, les systèmes d’exploitation supportés, et les dépendances requises.
La documentation devrait également inclure des références sur comment exploiter ou défendre contre les vulnérabilités identifiées. Bien que non obligatoires, des éléments visuels personnalisés (icônes et couleurs) sont fortement recommandés pour assurer une cohérence visuelle dans la communauté. Le projet étant open source, les utilisateurs peuvent toujours modifier ces éléments selon leurs préférences.
Un aspect crucial est la fourniture de requêtes Cypher pré-construites. Sans ces requêtes, un utilisateur qui ne connaît pas Cypher pourrait importer toutes les données mais se retrouver bloqué pour les exploiter efficacement.
BloodHound fonctionne sur une base de données graphique, historiquement Neo4j, mais maintenant également PostgreSQL grâce à un module de conversion. Le langage de requête utilisé est Cypher, qui possède une syntaxe particulière. Pour rendre l’outil plus accessible, SpecterOps maintient une bibliothèque Cypher contenant de nombreuses requêtes créées par l’équipe et la communauté. Ces requêtes peuvent être exécutées directement depuis le portail BloodHound.
L’entreprise explore également l’utilisation de LLM (Large Language Models) pour générer des requêtes Cypher automatiquement, bien que le corpus public de données spécifiques à BloodHound soit encore limité. Les pistes futures incluent l’utilisation de MCP (Model Context Protocol) et d’approches agentiques pour améliorer la génération de requêtes.
Mathieu souligne que les mêmes requêtes Cypher peuvent servir tant aux équipes bleues (défensives) qu’aux équipes rouges (offensives). La différence réside dans l’intention et l’utilisation des résultats, pas dans les outils eux-mêmes. C’est l’équivalent du marteau qui peut construire ou détruire selon l’utilisateur.
Pour l’usage défensif, BloodHound Enterprise offre des fonctionnalités avancées comme le scan quasi-continu, l’identification automatique des points de contrôle critiques (choke points), et des outils de remédiation. Même la version communautaire gratuite permet de découvrir des vulnérabilités majeures lors de la première exécution.
Mathieu partage des exemples frappants de découvertes faites avec BloodHound. Dans une entreprise de plus de 60 000 employés, il a identifié un serveur où tous les utilisateurs du domaine (domain users) avaient été accidentellement configurés comme administrateurs locaux. Comme un compte administrateur de domaine se connectait régulièrement à ce serveur, n’importe quel utilisateur pouvait devenir administrateur du domaine en seulement trois étapes : RDP vers le serveur, dump de la mémoire pour récupérer le token, puis attaque pass-the-hash.
Un autre cas récent impliquait le script de login d’un administrateur de domaine stocké dans un répertoire accessible en écriture à tous. En y plaçant un simple script affichant un popup, l’équipe de sécurité a rapidement reçu une notification prouvant la vulnérabilité.
Bien que moins spectaculaire qu’OpenGraph, la fonctionnalité “table view” répond à un besoin important. La célèbre citation de John Lambert de Microsoft (2015) dit : “Les attaquants pensent en graphe, les défenseurs pensent en liste. Tant que ce sera vrai, les attaquants gagneront.” Bien que la visualisation graphique soit le paradigme central de BloodHound, certaines analyses nécessitent une vue tabulaire.
Par exemple, une requête identifiant tous les comptes Kerberoastables retourne de nombreux points à l’écran, mais sans informations détaillées sur les privilèges ou l’appartenance aux groupes. La vue tableau permet de choisir les colonnes à afficher et d’exporter les données en JSON (et bientôt en CSV), facilitant l’analyse et le partage d’informations.
En complément à son travail sur BloodHound, Mathieu est le site leader de Montréal pour Deathcon (Detection Engineering and Threat Hunting Conference). Cette conférence unique, entièrement axée sur les ateliers pratiques (hands-on), se déroule sur deux jours en novembre. Contrairement aux conférences traditionnelles, tous les ateliers sont pré-enregistrés, permettant aux participants de travailler à leur rythme.
L’événement se limite volontairement à 50 personnes maximum pour maintenir une atmosphère humaine et favoriser les interactions. Les participants ont accès à un laboratoire massif incluant Splunk, Elastic, Sentinel et Security Onion, et conservent cet accès pendant au moins un mois après l’événement. Sans sponsors, la conférence est entièrement financée par les billets, et l’édition 2024 a déjà vendu plus de 30 places, avec de nombreux participants de l’année précédente qui reviennent.
BloodHound avec OpenGraph représente une évolution majeure dans la visualisation et l’analyse des chemins d’attaque en cybersécurité. En permettant l’intégration de multiples technologies au-delà d’Active Directory, l’outil offre désormais une vision holistique des vulnérabilités organisationnelles. Que ce soit pour la défense ou les tests d’intrusion, BloodHound continue de démontrer que penser en graphe plutôt qu’en liste constitue un avantage stratégique décisif en matière de sécurité.

637 Listeners

13 Listeners

2 Listeners

8,010 Listeners

60 Listeners

2 Listeners

16 Listeners

73 Listeners

21 Listeners

0 Listeners

5 Listeners

21 Listeners

0 Listeners

0 Listeners

10 Listeners