Schattenadministratoren sind nicht-administrative Benutzer, die über vertrauliche Berechtigungen verfügen, die ihnen effektiv Rechte auf Administratorebene gewähren. Zu diesen Berechtigungen kann der direkte Zugriff auf Ressourcen oder die Möglichkeit gehören, die Einstellungen anderer Benutzer zu ändern (z. B. das Zurücksetzen von Kennwörtern, das Erhalten der Berechtigung „Alle Eigenschaften schreiben“ usw.). In diesem Blogbeitrag konzentrieren wir uns auf den zweiten Typ.
Es gibt mehrere Gründe, warum Schattenadministratorkonten erstellt werden: menschliches Versagen, Missmanagement, ein vorübergehender Bedarf oder ein Angreifer, der sich Zugang verschafft hat und seine Anwesenheit verbergen möchte.
Schattenadministratoren stellen für fast jeden Identitätsanbieter (IdP), einschließlich Microsoft, ein bekanntes Risiko dar Active Directory (AD), Microsoft Entra ID (ehemals Azure AD) und Okta, unter anderem. Hier besprechen wir Schattenadministratoren innerhalb von AD.
Identitätsteams suchen ständig nach Schattenadministratorkonten, um ihnen Administratorrechte zu entziehen. Dieser Prozess ist jedoch oft langwierig und mühsam, insbesondere wenn eine Organisation über eine große Anzahl von Schattenadministratoren verfügt. Mein Team und ich waren neugierig auf die allgemeinen Berechtigungskonfigurationen, die dazu führen können, dass ein Benutzer zum Schattenadministrator wird, sowie auf die besten Möglichkeiten, diese zu identifizieren und zu entschärfen.
In diesem Blogbeitrag stellen wir mithilfe algorithmischer Tools und der Graphentheorie eine neuartige Methode vor, mit der Schattenadministratoren innerhalb einer Organisation aufgedeckt, analysiert und behoben werden können.
Die Bedrohung durch Schattenadministratoren verstehen
A Benutzerkonto wird zum Schattenadministrator, wenn er über starke Berechtigungen gegenüber einem vorhandenen Administratorkonto verfügt. Ebenso wird jedes andere Konto mit starken Berechtigungen gegenüber dem Schattenadministrator ebenfalls zu einem Schattenadministrator.
Wenn Alice beispielsweise ein reguläres Konto mit Administratorrechten hätte, wäre sie eine Schattenadministratorin. Wenn Bob stärkere Berechtigungen als Alice erhalten würde, würde er auch ein Schattenadministrator werden.

Diese Berechtigungskette verursacht viele Komplikationen, und die Realität zeigt, dass viele Schattenadministratoren tatsächlich mehr als eine Möglichkeit haben, sich selbst zu Administratoren zu machen. Was Schattenadministratorkonten sowohl herausfordernd als auch riskant macht, ist, dass sie nicht überwacht oder überwacht werden und ihre Aktivitäten möglicherweise unentdeckt bleiben können.
Möchten Sie mehr über Schattenadministratoren und deren Bedrohung für Ihr Unternehmen erfahren? Lesen Sie diesen Blogbeitrag: https://www.silverfort.com/blog/the-hidden-dangers-of-shadow-admins/
Um das Risiko von Schattenadministratoren zu beseitigen, müssen wir einige ihrer übermäßigen Berechtigungen widerrufen, was Zeit und Mühe kostet. Daher ist es sinnvoll, dass jede Organisation mit vielen Schattenadministratoren darauf abzielt, die maximale Anzahl von Schattenadministratoren mit dem geringsten Aufwand (z. B. Änderungen der Organisationsberechtigungen) aufzulösen.
Um dies effizient zu tun, können wir Informationen zu den Berechtigungen von Benutzern und Gruppen in einem ausgewählten Satz von Änderungsberechtigungen abrufen und diese überwachen. Mithilfe von Protokollen können wir dann Berechtigungsketten erstellen und Details zu den Schattenadministratoren in der Organisation abrufen.
In jeder Organisation mit Schattenadministratoren gibt es mehrere Berechtigungsketten, die einen Verbindungspfad zwischen Benutzern und den Administratorkonten erstellen, die sie möglicherweise übernehmen könnten.
Das Ziel, das wir uns für die Organisation gesetzt haben, besteht darin, so wenige Änderungen an den Berechtigungen wie möglich vorzunehmen und gleichzeitig einen großen Teil ihrer Schattenadministratoren zu befreien. Die Frage ist daher: Welche Berechtigungen sind das?
Formulieren wir das Problem also anders: Identifizieren Sie den optimalen Satz von K-Berechtigungen, der bei Widerruf die maximale Anzahl an Schattenadministratoren verringern würde.
Nachdem wir nun diese Definition haben, können wir das Problem mithilfe der Graphentheorie in ein visuelles Problem umwandeln. Dies erreichen wir, indem wir jedes Konto oder jede Gruppe als Knoten in einem Diagramm darstellen und jede Berechtigung als gerichtete Kante zwischen diesen Knoten. Dadurch können alle unsere Berechtigungsketten zusammen mit ihren jeweiligen Berechtigungen und Attributen in einem einzigen Diagramm angezeigt und verbunden werden.
Anhand der in den Berechtigungsketten enthaltenen Informationen können wir identifizieren, wer die Administratoren und Verwaltungsgruppen der Organisationen sind, und diese in unserem Diagramm markieren, da sie das Endziel eines Schattenadministrators sind.
Zu diesem Zeitpunkt würde ein solches Diagramm wie folgt aussehen:

Als nächstes werden wir die Problemstellung noch einmal umschreiben: Finden Sie die Menge von K Kanten, die bei Entfernung so viele Schattenadministratoren wie möglich vom Rest des Diagramms trennen (dh entschärfen) würden.
Den Ansatz auseinanderbrechen
Auf den ersten Blick sehen wir einen gerichteten azyklischen Graphen (DAG), der ein Netzwerk darstellt, das unsere verschiedenen Berechtigungsketten verbindet. Aber denken wir über die Darstellung des Diagramms und der Verbindungen nach und darüber, wie jede Entität Berechtigungen über eine andere haben kann. In gewisser Weise können wir uns einen Schattenadministrator vorstellen, der sich in unserem Diagramm an seinen Rändern von einem Knoten zum anderen „bewegt“. Vielleicht könnten sogar mehr als ein einzelner Schattenadministrator zu einer solchen Bewegung fähig sein.
Stellen wir uns nun vor, dass alle Schattenadministratoren in der Organisation beginnen, sich auf unsere roten Knoten (die Administratoren) zuzubewegen, und dann „fließen“ auf jedem Pfad eine bestimmte Anzahl von Schattenadministratoren ihrem Endziel entgegen.

Beachten Sie auch, dass es keine Rolle spielt, ob mehrere Schattenadministratoren auf ihrem Pfad zu einem einzelnen Knoten fließen oder dass es sich bei dem Knoten um ein einzelnes Konto handelt. Dies liegt daran, dass, sobald alle Schattenadministratoren diesen Punkt erreicht haben, nur noch ein einziges Konto den Pfad fortsetzen kann.
Dies erinnert übrigens an das berühmte „Strömungsproblem“, ein Szenario in der Fluiddynamik, bei dem wir ein System haben, in dem Flüssigkeit durch Rohre von einigen Quellknoten zu einigen Zielknoten fließt.
Wenden wir uns nun dem Satz „Minimaler Schnitt – Maximaler Durchfluss“ zu. Dies besagt, dass die maximale Flussmenge in einem System, die von den Quellknoten zu den Zielknoten verläuft, dem Gesamtgewicht der Kanten in einem minimalen Schnitt entspricht.
Wir definieren Folgendes:
- Durchflusskapazität einer Kante – für jede Kante gibt es eine Obergrenze für den durch sie fließenden Durchfluss.
- Erhaltung des Flusses – der eingehende Fluss zu einem Knoten muss gleich dem ausgehenden Fluss sein.
- Cut – die Aufteilung der Knoten, sodass das Netzwerk in zwei Teile geteilt wird:
- Ein Schnitt kann nicht sowohl den Quell- als auch den Senkenknoten enthalten.
- Das Gewicht eines Schnitts entspricht der Summe der Kapazität der ausgehenden Kanten.
Das Ziel des Algorithmus besteht darin, den maximalen Fluss in einem Netzwerk von einem Quellknoten zu einem Senkenknoten zu finden und gleichzeitig die Kapazität des Schnitts, der sie trennt, zu minimieren. Der Algorithmus erweitert den Fluss entlang der Pfade von der Quelle zur Senke iterativ, bis keine weiteren Pfade zur Erweiterung gefunden werden können.
Die Lösung des Flussproblems mithilfe dieses Theorems liefert uns eine Lösung mit minimalem Schnitt, die gleichbedeutend mit der Identifizierung der zu entfernenden Menge von K Kanten ist – da das Dualitätsproblem der maximal mögliche Fluss durch das System ist, was bedeutet, dass wir einen Schnitt finden, der den minimiert Gewicht des Schnittguts bei gleichzeitiger Maximierung der Trennwand. Das resultierende Diagramm, in dem der Algorithmus angewendet wird, sieht etwa so aus:

Ergebnisse und Schlussfolgerungen
Als wir unsere Methode auf eine Gruppe von mehr als 30 Organisationen anwendeten, stellten wir fest, dass der Median bei etwa 30 aktiven Konten pro Organisation lag, die als Schattenadministratoren identifiziert wurden, wobei einige Organisationen bis zu 1,000 solcher Konten hatten.
Die Anwendung des Algorithmus führte zu einer minimalen Beschneidung einer Reihe von Kanten, die, wenn sie entfernt würden, die meisten Schattenadministratoren mit minimalen Änderungen an den Berechtigungen der Organisation abschwächen würden.
Die Ergebnisse sehen folgendermaßen aus:

Im Durchschnitt ist es uns gelungen, etwa 70 % der Schattenadministratoren einer Organisation mit einer einzigen Iteration des Algorithmus aufzulösen. Darüber hinaus mussten dazu lediglich durchschnittlich drei Genehmigungen entzogen werden!
Das bedeutet, dass wir genau den Satz an Kanten (d. h. Berechtigungen) bereitstellen können, den die Organisation widerrufen sollte, um die Schattenadministratoren mit minimalem Aufwand bestmöglich zu entschärfen.
Abschließende Gedanken
Schattenadministratoren stellen eine ernsthafte Bedrohung dar, die oft übersehen wird und mit herkömmlichen Methoden nicht leicht einzudämmen ist. Eine Kette von Berechtigungen, die zu einem Domänenadministrator führt, ist nicht immer gut dokumentiert.
Eines der häufigsten Muster, das uns aufgefallen ist, war, dass es in Wirklichkeit mehrere Möglichkeiten für einen Benutzer gibt, ein Schattenadministrator zu werden. Ein anderer Ansatz war viel einfacher zu implementieren, konnte solche Muster jedoch nicht bewältigen und lieferte suboptimale Ergebnisse.
Unsere Lösung überwacht die in einer IdP-Umgebung erteilten Berechtigungen und kann dynamisch die besten aufzulösenden Berechtigungen erstellen, um die Anzahl der Schattenadministratoren mit minimalem Aufwand zu reduzieren.
Eine Methode wie diese kann dabei helfen, den Satz optimaler Berechtigungen zu ermitteln, die mit minimalem Aufwand gelöst werden müssen, indem ein echtes Problem aus dem Bereich der Cybersicherheit mithilfe eines bekannten Algorithmus visualisiert wird, um eine Lösung zu finden.