Gil Kirkpatrick

Wie so oft bei Active Directory werden einige der schlimmsten Sicherheitslücken durch Fehlkonfigurationen verursacht, die Cyberangreifern Tür und Tor öffnen. Eine häufige Einstellung, die Cyberkriminelle gerne ausnutzen, ist die uneingeschränkte Delegation.

Was ist uneingeschränkte Delegation und warum ist uneingeschränkte Delegation ein Sicherheitsrisiko? Bei der Delegierung wird einem Computer gestattet, die Kerberos-Authentifizierungstickets eines Benutzers zu speichern und dann diese Tickets zu verwenden, um sich als der Benutzer auszugeben und im Namen des Benutzers zu handeln. Unbeschränkte Delegation ist eine Konfigurationseinstellung, die viele mehrstufige Webanwendungen benötigen, um zu funktionieren. Diese Einstellung hat jedoch Auswirkungen auf die Sicherheit, da ein Computer, auf dem die Tickets für eine Reihe von Benutzern gespeichert sind, ein offensichtliches Ziel für Angreifer darstellt. Wenn die Angreifer diese Tickets abgreifen können, können sie mit der Identität und den Rechten dieser Benutzer agieren.

Wenn diese Einstellung so riskant ist, warum konfigurieren Administratoren dann Server mit uneingeschränkter Delegation? Wahrscheinlich, weil dies in frühen Versionen von AD die einzige Form der Delegation war, die unterstützt wurde, und weil sie auch am einfachsten zu konfigurieren ist und nur ein einziges Kontrollkästchen erfordert. Und wenn die Konfiguration der uneingeschränkten Delegation die Anwendung zum Laufen bringt, ist doch alles gut, oder? Aber es gibt in der Tat einen guten Grund, diese Einstellung zu überdenken. Durch das Entfernen der uneingeschränkten Delegation wird ein schwaches Glied in der Kette der vertrauenswürdigen Authentifizierung beseitigt, das bei Missbrauch erheblichen Schaden anrichten kann.

Verwandte Lektüre

Wurzeln der uneingeschränkten Delegation

Die Wurzeln dieses potenziellen Sicherheitsrisikos lassen sich 20 Jahre zurückverfolgen. Microsoft führte die uneingeschränkte Kerberos-Delegierung in Windows Server 2000 ein, um es Diensten zu ermöglichen, im Namen eines authentifizierten Benutzers auf andere Dienste zuzugreifen, ohne dass dieser sich erneut authentifizieren muss. Wenn sich ein Benutzer beispielsweise bei einem Webserver authentifiziert hat, kann dieser Webserver den Benutzer verkörpern und auf Backend-Datenbanken zugreifen, ohne dass der Benutzer seine Anmeldedaten erneut eingeben muss. Wenn die uneingeschränkte Delegation für ein Konto aktiviert ist, kann es den Benutzer für jeden Dienst in derselben Domäne ausgeben.

Diese Funktion erleichterte zwar das Leben der Benutzer (und Administratoren), stellte aber auch ein offensichtliches Risiko dar. Wenn ein Server, auf dem die uneingeschränkte Delegation aktiviert ist, unter der Kontrolle von Bedrohungsakteuren steht, könnten diese dieses Vertrauen missbrauchen, um sich in der gesamten Umgebung Zugang zu verschaffen. Microsoft versuchte, dieses Risiko durch die Einführung der eingeschränkten Delegation in Windows Server 2003 zu mindern, mit der Domänenadministratoren einschränken konnten, auf welche Dienste ein bestimmter Server zugreifen konnte.

Mit der Veröffentlichung von Windows Server 2012 gab Microsoft den Dienstadministratoren die Möglichkeit zu entscheiden, ob Front-End-Dienste auf Back-End-Ressourcen zugreifen können. Vor dieser Änderung konnten nur Domänenadministratoren die Delegation kontrollieren, so dass Dienstadministratoren keine einfache Möglichkeit hatten, herauszufinden, welche Front-End-Dienste auf die ihnen gehörende Ressource zugreifen konnten und welche potenziellen Angriffswege sich dadurch eröffneten. Dieser als ressourcenbasierte eingeschränkte Delegation (Resource-based Constrained Delegation, RBCD) bekannte Ansatz der Delegation ist am schwersten zu missbrauchen.

Im Vergleich dazu ist die uneingeschränkte Delegation am unsichersten. Wenn Angreifer eine unsichere Kerberos-Delegation missbrauchen können, können sie alle möglichen bösartigen Aktivitäten verschleiern, indem sie einen legitimen Benutzer imitieren. Ein Angreifer, der Zugriff auf einen Webserver mit dieser Konfiguration hat, könnte das Ticket Granting Ticket (TGT) des Benutzers stehlen, das im Speicher des Servers gespeichert ist, und es dazu verwenden, sich als dieser Benutzer auszugeben und seine Zugriffsprivilegien zu nutzen. Diese Tatsache macht die uneingeschränkte Delegation zu einem idealen Mechanismus, um sich seitlich in der Umgebung zu bewegen. Ein TGT, das beispielsweise einem Domänenadministrator gehört, könnte dem Angreifer Zugang zu einem beliebigen Dienst seiner Wahl verschaffen - oder möglicherweise auf ein KRBTGT-Konto zugreifen und einen Golden-Ticket-Angriff starten.

Ein Angreifer kann das Active Directory PowerShell-Modul-Cmdlet Get-ADComputer verwenden, um Computer zu finden, bei denen diese Einstellung aktiviert ist, und sich dann an die Arbeit machen. Er kann zum Beispiel Mimikatz verwenden, um alle Tickets im Speicher des Systems zu extrahieren. Die negativen Auswirkungen dieser Einstellung sind klar.

Verbessern Sie die AD-Sicherheit durch Deaktivieren der uneingeschränkten Delegation

Die gute Nachricht ist, dass Sie die Sicherheitslücke, die durch uneingeschränkte Delegation entsteht, schließen können, indem Sie diese Einstellung einfach deaktivieren. Damit die uneingeschränkte Delegation wirksam wird, müssen Domänenadministratoren sie für Konten aktivieren, indem sie auf der Registerkarte Delegation in der ADUC-Verwaltungskonsole das Kontrollkästchen "Diesem Computer für die Delegation an jeden Dienst vertrauen (nur Kerberos)" aktivieren.

Angesichts der hohen Risiken, die mit der Aktivierung dieser Einstellung verbunden sind, können Unternehmen ihre Sicherheitslage verbessern, indem sie alle Server mit aktivierter uneingeschränkter Delegation identifizieren, die Einstellung deaktivieren und sie durch eingeschränkte Delegation für Server ersetzen, die dies erfordern. Administratorkonten sollten auf "Konto ist sensibel und kann nicht delegiert werden" gesetzt werden, und Konten mit hohen Rechten sollten in die Sicherheitsgruppe "Geschützte Benutzer" aufgenommen werden. Administratoren können mit den PowerShell-Skripten nach Forests mit eingehenden Vertrauensstellungen, die eine TGT-Delegation zulassen, und nach Sicherheitsprinzipien, die eine uneingeschränkte Delegation erlauben, suchen. Sie können eine uneingeschränkte Delegation auch durch die Untersuchung von Windows-Ereignissen erkennen. Wenn ein Kerberos-Ticket ausgestellt wird, protokolliert ein Active Directory-Domänencontroller Sicherheitsereignisse, die Informationen über die Zieldomäne enthalten. Sie können diese Ereignisse untersuchen, um festzustellen, ob eine uneingeschränkte Delegation bei eingehenden Vertrauensstellungen verwendet wird. Sie können auch Folgendes herunterladen und ausführen Purple Knightherunterladen und ausführen, ein kostenloses Sicherheitsbewertungstool, das von den AD-Experten von Semperis entwickelt wurde und Ihre AD-Umgebung auf mehr als 80 Sicherheitsindikatoren, einschließlich uneingeschränkter Delegation, überprüft.

Die Deaktivierung der uneingeschränkten Delegation kann zu Kompatibilitätsproblemen bei einigen Anwendungen führen, die auf diese Funktion angewiesen sind. Das bedeutet, dass Sie diese Anwendungen neu konfigurieren müssen, um die eingeschränkte Delegation oder RBCD zu verwenden. Wie immer müssen Unternehmen bedenken, dass AD-Sicherheit mehr umfasst als nur das Patchen von Code-Schwachstellen. Die Verhinderung von Angriffen bedeutet auch, dass Sie Maßnahmen ergreifen müssen, um die Angriffsfläche zu verringern und Probleme proaktiv zu verhindern, bevor sie entstehen.