20/09/2024

Search : Recherches sur un nœud

Dans ce chapitre, nous allons apprendre à manipuler les nœuds, ou nodes, dans BloodHound.

I. Rechercher un node dans le menu Explore

Nous avons à présent les données de notre Active Directory importées dans BloodHound, il est temps de se familiariser avec son interface web. Comme indiqué précédemment dans ce cours, l'onglet "Explore" est celui dans lequel nous allons passer la plus grande partie de notre temps :

Menu "Explore" de l'interface web BloodHound.
Menu "Explore" de l'interface web BloodHound.

Le premier élément auquel nous allons nous intéresser est le menu "Search", nous pouvons ici saisir le nom d'un node sur lequel nous souhaitons investiguer, par exemple :

Recherche et sélection d'un node via le menu "Explore".
Recherche et sélection d'un node via le menu "Explore".

Ici, la recherche "mma" permet d'afficher plusieurs nodes utilisateurs et un node groupe.

II. Lister les attributs et relations d'un node

En cliquant sur l'un des résultats, celui-ci apparait au centre de l'interface. Sélectionnez l'un des nodes actuellement affiché permet d'obtenir, à droite de l'interface, un grand nombre d'informations à son sujet :

Attributs, informations et relations d'un node sélectionné.
Attributs, informations et relations d'un node sélectionné.

Nous pouvons dérouler chaque section pour avoir des détails importants, par exemple, pour la section "Object Information" :

Section "Object Information" d'un node sélectionné.

Nous avons ici un grand nombre d'attributs concernant le node sélectionné (ici, un utilisateur) : son SID, date de dernière authentification, dernier changement de mot de passe, de création, Admin Count, etc.

Autre élément intéressant pour un node utilisateur, la section "Member Of" :

Section et affiche des "Member Of" d'un node utilisateur dans BloodHound.
Section et affiche des "Member Of" d'un node utilisateur dans BloodHound.

Ici, on aperçoit tous les groupes dont l'utilisateur sélectionné est membre. Cela de façon directe (les groupes dans lesquels "MMARTIN" a été directement ajouté), et indirecte (groupes auxquels les groupes directs sont membres). Cette vue rappelle notamment l'exemple de l'obtention des droits "ADMINS DU DOMAINE" par transitivité (attention : ce terme est aussi utilisé dans les relations inter-domaine dans une forêt).

De la même manière, nous pouvons lister les droits d'administration locale de l'utilisateur ou les sessions ouvertes sur les systèmes du domaine au moment de la collecte des données. Également, les "Outbound Object Control" représentent les droits/actions possibles sur d'autres objets, et ce à nouveau de manière directe ou indirecte (via ses appartenances à des groupes par exemple). À l'inverse, les "Inbound Object Control" permettent de lister tous les nodes qui ont des droits particuliers ou actions sur le nôtre (celui que l'on a sélectionné).

Cette prise d'information et première recherche autour d'un node peuvent être effectuées sur tout type de node : Utilisateur, Groupe, GPO, Ordinateur, etc. Bien sûr, chaque node affichera des informations détaillées et sections de recherche différentes. Un node "Group" aura une section "Members" en plus de "Member Of" par exemple :

Sélection et affichage des "Members" d'un node "Group".
Sélection et affichage des "Members" d'un node "Group".

Si la disposition des relations ne vous plait pas, n'hésitez pas à la modifier. L'interface web BloodHound permet de facilement changer la disposition des nodes via un glisser/déposer, ou en utilisant des modèles à l'aide de la sélection suivante :

Gestion des modèles de visualisation d'un graphe dans BloodHound.
Gestion des modèles de visualisation d'un graphe dans BloodHound.

III. Les principaux nodes d'un Active Directory

En date d'écriture de ce cours, il existe 25 types de node dans BloodHound. Vous trouverez la liste exhaustive de ces nodes sur le site officiel : BloodHound - Data Analysis - Nodes. Voici les principaux nodes auxquels vous aurez affaire dans un Active Directory classique :

Icônes des principaux nodes dans BloodHound.
Icônes des principaux nodes dans BloodHound.
  • Computer : node ordinateur
  • Domain : node domaine, il peut en exister plusieurs (dans le cas d'une forêt !).
  • GPO : node GPO, souvent modifiables par certains groupes ou utilisateurs.
  • Group : node Groupe, le plus commun avec les utilisateurs.
  • OU : node Unité Organisationnelle, qui peut contenir des groupes, ordinateurs et utilisateurs et peut-être la cible des GPO.
  • User : aucun mystère, un node utilisateur. Généralement situé au début d'un chemin d'attaque, puisque l'attaquant partira du principe que cet utilisateur est compromis, ou qu'il s'agit de sa première cible.

Pour vous familiariser avec l'ensemble des nodes et des informations propres à chacun, le mieux est de pratiquer ! Avant de lire la suite du cours, n'hésitez pas à effectuer ce type de recherche sur de multiples nodes pour constater leurs différences.

Enfin, si vous faites un clic droit sur un node, vous verrez les mentions "Set as starting node" ou "Set as ending node", ce qui nous amène tout droit vers le prochain chapitre de ce cours.

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.