Darren Mar-Elia | Leitender Sicherheitsstratege

Blick aus 10.000 Fuß Höhe:

Viele von uns sind mit der Vielzahl von Tools, Angriffen und Angreifern vertraut, die sich auf das Eindringen in Active Directory konzentrieren. Mit der Veröffentlichung von DCShadow im Jahr 2018 wurde ein weiterer hocheffektiver Vektor zu dieser immer länger werdenden Liste hinzugefügt. Dem Forschungsteam ist es zu verdanken, dass neben dem Exploit auch erörtert wurde, wie der Angriff durch eine verstärkte Überwachung und Verwaltung des Active Directory verstanden und möglicherweise entschärft werden kann. Wie bei vielen Angriffen geht es jedoch nicht nur darum, zu verstehen, WIE man getroffen wurde... sondern auch woher. Hierauf hat sich das Semperis-Forschungsteam in den letzten Jahren konzentriert. Wir sind jetzt in der Lage, ein viel genaueres Bild der Unternehmenslandschaft zu zeichnen und eindeutig und genau die Client-Rechner zu identifizieren, die das Angriffstool gegen das Active Directory Ihres Unternehmens verwendet haben oder verwenden.

Hintergrund:

Mimikatz, das Tool zur Ausnutzung von Anmeldedaten, bietet eine Funktion namens„DCShadow“. Man kann sich DCShadow als das Gegenteil des Befehls DCSync vorstellen. Während DCSync Active Directory (AD) dazu zwingen kann, Benutzerkonten und deren Passwort-Hashes mit einem Angreifer zu synchronisieren, ermöglicht DCShadow einem Angreifer, Änderungen in AD einzuschleusen. Dies geschieht durch die Simulation des Verhaltens eines domain controller, bei dem es sich im Wesentlichen um jeden kompromittierten Rechner innerhalb einer Active-Directory-Domäne handelt. Es ist anzumerken, dass DCShadow ein Tool zur Domänenpersistenz ist. Es setzt voraus, dass der Angreifer bereits über Domain-Admin-Rechte oder gleichwertigen Zugriff auf eine AD-Domäne verfügt, bevor es eingesetzt werden kann. Sobald diese Zugriffsebene jedoch erreicht ist, handelt es sich um ein leistungsstarkes und unauffälliges Tool zum Erstellen und Aktualisieren von Objekten in AD, um Hintertüren zu schaffen, die Zugriffsrechte auf regulären Konten zu erweitern und auf andere Weise einen Fuß in die Zielumgebung zu setzen sowie dort die Kontrolle zu übernehmen.

Erkennbarkeit

Das Schwierige an DCShadow ist, dass es die normalen Mechanismen umgeht, mit denen Änderungen an AD überprüft werden (d.h. normalerweise über das Windows-Sicherheitsereignisprotokoll auf Domänencontrollern), so dass Sie nicht ohne weiteres feststellen können, wann es verwendet wird. Und wenn der Angreifer heimlich Änderungen vornimmt, nach denen Sie nicht suchen (z.B. wenn er die Enterprise Admins SID in das sidHistory-Attribut eines ansonsten unprivilegierten Benutzers einfügt), kann es sehr schwierig sein, diese Hintertüren zu entdecken. Wenn DCShadow ausgeführt wird, wird beispielsweise ein Objekt der Klasse Server vorübergehend dem Konfigurationsbenennungskontext in einem bestimmten Forest hinzugefügt, um andere Domänencontroller glauben zu lassen, dass der gefälschte Server ein echter DC ist. Dieses Objekt wird jedoch schnell wieder entfernt, wenn DCShadow seinen Lauf beendet hat. Zum Glück für den Verteidiger stellt sich heraus, dass DCShadow einige Fingerabdrücke hinterlässt, wenn es auf einem Host ausgeführt wird.

Entdeckung der DCShadow-Verwendung

Zunächst einige Hintergrundinformationen. Ein „normaler“ domain controller eine Reihe von Kerberos-Service-Principal-Names (SPNs), wenn er zum Domänencontroller (DC) befördert wird. Einer davon ist ein GUID-basierter SPN, wie hier dargestellt:

Dieser GUID-basierte SPN hat eine interessante Eigenschaft. Wenn wir sie genau betrachten, sehen wir, dass es tatsächlich zwei GUIDs in der SPN gibt. Die erste, nämlich E3514235-4B06-11D1-AB

04-00C04FC2DCD2 ist eine sogenannte „Well-Known GUID“ (WKGUID) und wird von jedem domain controller jeder AD-Gesamtstruktur auf dieselbe Weise registriert. Die zweite GUID in unserem Beispiel hier: 8b699bb0-d35e-4199-8dd4-6a296c5fc7db, ist für einen bestimmten Domänencontroller einzigartig.

[semperis-mid-scroll-cta]

Wie hilft uns das nun bei der DCShadow-Erkennung? Nun, es stellt sich heraus, dass DCShadow, wenn es auf einem bestimmten Host läuft, diesem Rechner einige SPNs hinzufügt, damit andere DCs ihn für einen DC halten. Einer dieser SPNs ist der WKGUID-basierte SPN. Leider räumt es nicht hinter sich auf, wenn es nicht mehr läuft (Gott sei Dank, ein unordentlicher DCShadow). Das Ergebnis ist, dass jeder Host, der DCShadow ausgeführt hat, weiterhin den WKGUID SPN im Attribut servicePrincipalName seines Computerkontos speichert.

Ein Beispiel dafür sehen Sie im zweiten Screenshot unten. In diesem Beispiel haben wir DCShadow wiederholt von diesem Host aus ausgeführt - beachten Sie, wie viele der WKGUID SPNs in der Liste erscheinen:

Die gute Nachricht ist, dass wir diese Informationen nutzen können, um Hosts im AD zu unterscheiden, die DCShadow ausgeführt haben. Erstens wissen wir, dass nur *legitime* DCs diesen WKGUID SPN in ihrem Rechnerkonto haben sollten. Das ist einfach genug, um danach zu suchen, aber wir können unsere Suche weiter eingrenzen, indem wir auch nach einem anderen SPN suchen, von dem wir wissen, dass er NICHT auf einem anderen Rechner als einem legitimen DC sein SOLLTE. Das Ergebnis unserer Suche ist die folgende LDAP-Abfrage:

"(&(objectClass=computer)(servicePrincipalName=E3514235-4B06-11D1-AB04-00C04FC2DCD2*)(!(servicePrincipalName=ldap*)))"

Diese Abfrage sucht nach allen Computerobjekten, deren SPN-Attribut die WKGUID SPN enthält (wir verwenden hier einen Platzhalter, um den eindeutigen GUID-Teil dieser SPN auszuschließen) UND enthält nicht die LDAP SPN, die jeder legitime DC enthält.

Im Einklang mit der heimlichen Natur von DCShadow wird das Hinzufügen dieses WKGUID SPN zum Maschinenkonto des gefälschten DCs nicht im Sicherheitsereignisprotokoll des echten DCs protokolliert, der die Replikationsanfrage vom gefälschten DC entgegennimmt.

Zusammenfassung

In der Annahme, dass DCShadow nicht so bald "aufräumt", ermöglicht uns diese Erkennung, schnell alle Rechner zu finden, die als Host für DCShadow-Injektionen genutzt werden, sie angemessen unter Quarantäne zu stellen und vollständige forensische Untersuchungen und IR-Prozesse durchzuführen, BEVOR sie weiteren Schaden anrichten können.

Demonstration eines DCShadow-Angriffs

DCShadow nutzt einen Schalter im Dienstprogramm Mimikatz aus, der es privilegierten Benutzern ermöglicht, unbemerkt bösartige Änderungen in Active Directory vorzunehmen. Sehen Sie sich diese Videopräsentation an, um zu erfahren, wie Sie bösartige Domänencontroller aufspüren, unerwünschte Änderungen schnell rückgängig machen und die Sicht auf Ihr SIEM wiederherstellen können. Wenn Sie Fragen haben, zögern Sie nicht, die Mitarbeiter von Semperis zu kontaktieren.