Les administrateurs fantômes sont des utilisateurs non administratifs qui détiennent des privilèges sensibles qui leur accordent effectivement des droits de niveau administrateur. Ces privilèges peuvent inclure un accès direct aux ressources ou la possibilité de modifier les paramètres d'autres utilisateurs (par exemple, réinitialiser les mots de passe, obtenir les autorisations « Écrire toutes les propriétés », etc.). Dans cet article de blog, nous nous concentrerons sur le deuxième type.
Il existe plusieurs raisons pour lesquelles des comptes d'administrateurs fantômes sont créés : une erreur humaine, une mauvaise gestion, un besoin temporaire ou un attaquant qui a réussi à y accéder et qui souhaite masquer sa présence.
Les administrateurs fantômes sont un risque connu pour presque tous les fournisseurs d'identité (IdP), y compris Microsoft Active Directory (AD), Microsoft Entra ID (anciennement Azure AD) et Okta, entre autres. Ici, nous discuterons des administrateurs fantômes au sein d’AD.
Les équipes d'identité recherchent en permanence des comptes d'administrateur fantôme afin de révoquer leurs privilèges d'administrateur. Mais ce processus est souvent long et fastidieux, surtout si une organisation compte un grand nombre d'administrateurs fantômes. Mon équipe et moi étions curieux de connaître les configurations d'autorisation courantes qui pourraient amener un utilisateur à devenir un administrateur fantôme, ainsi que les meilleurs moyens de les identifier et de les atténuer.
Dans cet article de blog, nous utiliserons des outils algorithmiques et la théorie des graphes pour présenter une nouvelle méthode permettant de révéler les administrateurs fantômes au sein d'une organisation, de les analyser et de les résoudre.
Comprendre la menace des administrateurs fantômes
A compte d'utilisateur devient un administrateur fantôme s'il dispose de privilèges élevés sur un compte administrateur existant. De même, tout autre compte disposant de privilèges élevés sur ceux de l’administrateur fantôme devient également un administrateur fantôme.
Par exemple, si Alice avait un compte régulier avec des autorisations d'administrateur, elle serait un administrateur fantôme. Si Bob obtenait des autorisations fortes sur celles d'Alice, il deviendrait également un administrateur fantôme.

Cette chaîne d'autorisations entraîne de nombreuses complications et la réalité montre que de nombreux administrateurs fantômes ont en fait plus d'une façon de devenir administrateurs. Ce qui rend les comptes d'administrateurs fantômes à la fois difficiles et risqués, c'est qu'ils ne sont ni surveillés ni supervisés, et que leur activité peut potentiellement ne pas être détectée.
Vous souhaitez en savoir plus sur les administrateurs fantômes et sur la manière dont ils menacent votre organisation ? Lisez cet article de blog : https://www.silverfort.com/blog/the-hidden-dangers-of-shadow-admins/
Ainsi, pour résoudre le risque d'administrateurs fantômes, nous devons révoquer certaines de leurs autorisations excessives, ce qui prend du temps et des efforts. Par conséquent, il est logique que toute organisation avec de nombreux administrateurs fantômes vise à résoudre le nombre maximum d'administrateurs fantômes avec le moins d'efforts (c'est-à-dire, les modifications des autorisations organisationnelles).
Pour ce faire efficacement, nous pouvons récupérer des informations concernant les autorisations des utilisateurs et des groupes dans un ensemble sélectionné d'autorisations de modification et les surveiller. À l'aide de journaux, nous sommes alors en mesure de construire des chaînes d'autorisations et d'obtenir des détails sur les administrateurs fantômes de l'organisation.
Dans toute organisation avec des administrateurs fantômes, il existe plusieurs chaînes d'autorisation qui créent un chemin de connexion entre les utilisateurs et les comptes administratifs qu'ils pourraient potentiellement prendre en charge.
L'objectif que nous avons fixé pour l'organisation est d'apporter le moins de modifications possible aux autorisations, tout en résolvant une grande partie de ses administrateurs fantômes. La question est donc : de quelles autorisations s'agit-il ?
Alors, reformulons le problème : identifiez l'ensemble optimal d'autorisations K qui, si elles sont révoquées, réduiraient le nombre maximal d'administrateurs fantômes.
Maintenant que nous avons cette définition, nous pouvons convertir le problème en un problème visuel en utilisant la théorie des graphes. Pour ce faire, nous représentons chaque compte ou groupe comme un nœud dans un graphique et chaque autorisation comme un bord dirigé entre ces nœuds. Cela permet à toutes nos chaînes d'autorisation d'être affichées et connectées sur un seul graphique avec leurs privilèges et attributs respectifs.
À l'aide des informations contenues dans les chaînes d'autorisation, nous pouvons identifier les administrateurs et les groupes administratifs des organisations et les marquer dans notre graphique, car ils constituent l'objectif final d'un administrateur fantôme.
A ce stade, un tel graphique ressemblerait à ceci :

Ensuite, nous allons réécrire l'énoncé du problème une fois de plus : trouver l'ensemble des K arêtes qui, une fois supprimées, déconnecteraient autant d'administrateurs fantômes que possible du reste du graphe (c'est-à-dire les atténuer).
Rompre l'approche
À première vue, nous voyons un graphe acyclique dirigé (DAG) qui représente un réseau reliant nos différentes chaînes d'autorisation. Mais réfléchissons à la représentation du graphique et des connexions, ainsi qu'à la manière dont chaque entité peut détenir une autorisation sur une autre. D'une certaine manière, nous pouvons imaginer un administrateur fantôme "se déplaçant" dans notre graphique d'un nœud à un autre sur ses bords. Peut-être même que plus d'un seul administrateur fantôme pourrait être capable d'un tel mouvement.
Imaginons maintenant que tous les administrateurs fantômes de l'organisation commencent à se déplacer vers nos nœuds rouges (les administrateurs), puis sur chaque chemin, un certain nombre d'administrateurs fantômes « coulent » vers leur objectif final.

Notons également que peu importe si plusieurs administrateurs fantômes circulent vers un seul nœud sur leur chemin ou que le nœud est un compte unique. En effet, une fois que tous les administrateurs fantômes ont atteint ce point, un seul compte peut continuer le chemin.
Ceci, soit dit en passant, rappelle le fameux "Flow Problem", un scénario en dynamique des fluides où nous avons un système dans lequel le liquide traverse des tuyaux de quelques nœuds sources à quelques nœuds de destination.
Alors, tournons maintenant nos yeux vers un théorème appelé « Coupe minimale – Débit maximal ». Cela indique que la quantité maximale de flux dans un système passant des nœuds source aux nœuds de destination est égale au poids total des arêtes dans une coupe minimale.
Nous définirons les éléments suivants :
- Capacité de débit d'un bord - pour chaque bord, il existe une limite supérieure au débit qui le traverse.
- Conservation du flux — le flux entrant vers un nœud doit être égal au flux sortant.
- Couper - la partition des nœuds telle qu'elle divise le réseau en deux parties :
- une coupe ne peut pas contenir à la fois les nœuds source et récepteur.
- le poids d'une coupure est égal à la somme des capacités des arêtes sortantes.
Le but de l'algorithme est de trouver le débit maximum dans un réseau d'un nœud source vers un nœud puits tout en minimisant la capacité de la coupure qui les sépare. L'algorithme augmente de manière itérative le flux le long des chemins de la source au puits jusqu'à ce qu'il ne puisse plus trouver de chemins d'augmentation.
Résoudre le problème de flux à l'aide de ce théorème nous donne une solution de coupe minimale qui équivaut à identifier l'ensemble des K arêtes à supprimer - puisque le problème de dualité est le flux maximal possible à travers le système, ce qui signifie que nous trouvons une coupe qui minimise le poids de la coupe tout en maximisant la partition. Le graphique résultant où l'algorithme sera appliqué ressemblera à ceci :

Résultats et conclusions
En appliquant notre méthode à un groupe de plus de 30 organisations, nous avons découvert que la médiane était d'environ 30 comptes actifs par organisation identifiés comme administrateurs fantômes, quelques organisations ayant jusqu'à 1,000 XNUMX comptes de ce type.
L'application de l'algorithme a entraîné une réduction minimale d'un ensemble d'arêtes qui, si elles étaient supprimées, atténueraient la plupart des administrateurs fantômes avec des modifications minimes des autorisations de l'organisation.
Les résultats ressemblent à ceci:

En moyenne, nous avons réussi à résoudre environ 70 % des administrateurs fantômes d'une organisation avec une seule itération de l'algorithme. De plus, il suffisait pour y parvenir de retirer trois autorisations en moyenne !
Cela signifie que nous pouvons fournir l'ensemble exact d'avantages (c'est-à-dire les autorisations) que l'organisation devrait envisager de révoquer, ce qui permettrait d'atténuer au mieux les administrateurs fantômes avec un minimum d'effort.
Réflexions de clôture
Les administrateurs fantômes sont une menace sérieuse qui est souvent négligée et qui n'est pas facilement atténuée par les méthodes traditionnelles. Avoir une chaîne de privilèges qui mène à un administrateur de domaine n'est pas toujours bien documenté.
L'un des modèles courants que nous avons remarqués était qu'en réalité, il existe plusieurs façons pour un utilisateur de devenir un administrateur fantôme. Une approche différente était beaucoup plus simple à mettre en œuvre, mais elle ne pouvait pas s'attaquer à de tels modèles et renvoyait des résultats sous-optimaux.
Notre solution surveille les autorisations accordées dans un environnement IdP et peut créer dynamiquement le meilleur ensemble de privilèges à résoudre afin de réduire le nombre d'administrateurs fantômes avec un minimum d'action.
Une méthode comme celle-ci peut aider à identifier l'ensemble des autorisations optimales à résoudre avec un minimum d'effort, en prenant un problème réel du domaine de la cybersécurité et en le visualisant en utilisant un algorithme connu pour trouver une solution.