Darren Mar-Elia | Leitender Sicherheitsstratege

Anmerkung: Aktualisiert am 30. März 2022

Bei einer vergangenen Hybrid Identity Protection Conferencehaben einige von uns über die anhaltende Nutzung von Active Directory als Ziel bei Malware-Angriffen gesprochen. Ob es nun darum geht, AD nach Informationen über privilegierten Zugriff zu durchsuchen, Benutzerkonten zu kompromittieren, was zu einer Ausweitung der Berechtigungen in AD führt, oder AD-Domänencontroller gezielt mit Ransomware anzugreifen – Active Directory steht derzeit stark im Fokus. Infolgedessen gab es zahlreiche Sicherheitsuntersuchungen und Diskussionen über die verschiedenen Wege, um innerhalb von AD Kompromittierungen zu erzielen. Eine Vielzahl ausgeklügelter Methoden nutzt unsachgemäß delegierte AD-Berechtigungen aus, um die Kontrolle über privilegierte AD-Sicherheitsprinzipale zu erlangen. Eine dieser Methoden zielt darauf ab, eine Situation zu schaffen, in der sich der Angreifer unbemerkt in der Umgebung halten kann. Eine Möglichkeit hierfür besteht darin, ein privilegiertes Benutzerkonto in AD anzulegen oder die Kontrolle darüber zu erlangen und dieses Konto anschließend vor den neugierigen Blicken der Administratoren zu verbergen.

Verwandte Lektüre

Wenn ein Angreifer beispielsweise über ausreichende Berechtigungen für ein Benutzerobjekt verfügt, kann er die Rechte des Benutzers übernehmen, einen Leseverweigerungs-ACE für alle Benutzer auf diesem Objekt setzen und das Objekt ist im Wesentlichen versteckt, wie hier gezeigt:

Abbildung 1: Ein Benutzer mit Leseverweigerung auf ihm

Sie können den Benutzer auch daran hindern, für andere Administratoren sichtbar zu sein, indem Sie die Berechtigung "Inhalte auflisten" für die versteckte OU "Jeder" im obigen Screenshot verweigern. Dies würde verhindern, dass ein normaler Administrator die Existenz dieses Benutzers überhaupt bemerkt und ein Angreifer könnte das Konto möglicherweise nutzen, ohne entdeckt (oder zumindest gefunden) zu werden.

Michael Dubinsky(@MichaelDubinsky), ein Freund von Semperis, hat einen großartigen Blog-Beitrag über dieses Phänomen des Versteckens geschrieben, zusammen mit einem PowerShell-Skript, mit dem Sie versteckte Benutzerobjekte aufspüren können, indem Sie die im AD RID-Pool verbliebenen relativen Identifikatoren (RIDs) aufzählen und dann versuchen, die SID jedes Objekts zu erreichen. Wenn eine nachgeschlagene SID mit einem Standard-LDAP-Aufruf nicht gefunden werden kann, zeigt das Skript an, dass Sie keinen Zugriff auf dieses Objekt haben, was auf ein verstecktes Objekt hindeuten könnte.

Unser CTO Guy Teverovsky hat einen alternativen Ansatz und ein Dienstprogramm entwickelt, AD Hidden Object Detectorentwickelt, das das Ziel, versteckte Active Directory-Objekte zu finden, mit einem neuartigen Ansatz erreicht. Er verwendet im Wesentlichen die gleichen API-Aufrufe wie unser Directory Services Protector Produkt verwendet, um AD auf der Ebene der Verzeichnisreplikation abzufragen. Dieser Aufruf auf unterer Ebene ermöglicht es uns, die Anzahl der Objekte zu ermitteln, die AD kennt, unabhängig von den für das Objekt geltenden ACLs, und diese mit der Anzahl der Objekte zu vergleichen, auf die wir Zugriffsrechte haben. Das Tool gibt dann alle Objekte zurück, die es über unseren Replikationsaufruf gefunden hat und die wir nicht über normale LDAP-Aufrufe gefunden haben. Das Dienstprogramm muss als privilegierter Benutzer in AD ausgeführt werden, findet aber problemlos mein Objekt "Hidden User", wie die folgende Ausgabe des Dienstprogramms zeigt.

Dienstprogramm für versteckte Active Directory-Objekte
Abbildung 2: Ausführen des AD Hidden Object Detector, um versteckte Objekte zu finden

Das Schöne an diesem Tool ist, dass es jede Art von versteckten Objekten finden kann - nicht nur Benutzerobjekte. Sie können das Dienstprogramm hier AD Hidden Object Detector herunterladen und es ausprobieren. Lassen Sie uns wissen, was Sie davon halten. Wenn Sie versteckte Active Directory-Objekte finden, ist es vielleicht an der Zeit, tiefer zu graben und zu sehen, wer sich dort versteckt!