Eintauchen in AD: Wir analysieren erweiterte Angriffe auf Microsoft Active Directory und wie sie erkannt werden



Bild: Pexels

In den letzten vier Jahren hat kein einziger Black Hat oder DEF CON Berichte über Angriffe auf Microsoft Active Directory veröffentlicht. Die Teilnehmer sprechen über neue Vektoren und ihre Erfindungen, vergessen jedoch nicht, wie sie erkannt und verhindert werden können. In diesem Artikel werden beliebte Methoden zum Angriff auf AD vorgestellt und Empfehlungen zum Schutz vor AD gegeben.

Sechs AD-Angriffe, die Sie nicht übersehen können


Viele Hersteller von Sicherheitsüberwachungssoftware unterstützen bereits eine Vielzahl von Angriffstechniken in ihren Produkten. Betrachten wir einige davon.

Pass-the-Hash


Diese Technik ist aufgrund der architektonischen Merkmale des NTLM-Authentifizierungsprotokolls möglich, das Microsoft in den neunziger Jahren des letzten Jahrhunderts entwickelt hat. Um sich bei einem Remote-Host anzumelden, wird ein Kennwort-Hash verwendet, der im Speicher des Computers gespeichert wird, von dem aus die Authentifizierung erfolgt. Dementsprechend kann es von dort extrahiert werden.

Mimikatz


Für den bequemen Betrieb von Pass-the-Hash entwickelte der französische Forscher Benjamin Delpy (Benjamin Delpy) 2014 das Mimikatz-Dienstprogramm. Es ermöglicht das Speichern von Klartextkennwörtern und NTLM-Hashes aus dem Speicher.

Brute Force


Wenn der Angreifer nicht über genügend Anmeldeinformationen verfügt, die er von einem Host extrahiert hat, kann er auf eine grobe, aber effektive Methode zum Erraten von Passwörtern zurückgreifen.

Netzbenutzer / Domain


Woher bekomme ich ein Wörterbuch mit Benutzernamen, um Brute Force durchzuführen? Jedes Mitglied der Domäne kann den Befehl net user / domain verwenden, der eine vollständige Liste der Benutzernamen von AD zurückgibt.

Kerberoasting


Wenn die Domäne Kerberos als Authentifizierungsprotokoll verwendet, kann der Angreifer auf einen Kerberoasting-Angriff zurückgreifen. Jeder in der Domäne authentifizierte Benutzer kann ein Kerberos-Ticket anfordern, um auf den Ticket Granting Service zuzugreifen. TGS wird mit dem Kennwort-Hash des Kontos verschlüsselt, von dem aus der Zieldienst ausgeführt wird. Ein Angreifer, der auf diese Weise TGS erhalten hat, kann es jetzt entschlüsseln, ein Kennwort abrufen und hat keine Angst vor dem Blockieren, da es offline ausgeführt wird. Nach einem erfolgreichen Ergebnis erhält es ein Kennwort von dem Konto, das dem Dienst zugeordnet ist, das häufig privilegiert ist.

Psexec


Nachdem der Angreifer die erforderlichen Anmeldeinformationen erhalten hat, steht er vor der Aufgabe, Befehle aus der Ferne auszuführen. Das PsExec-Dienstprogramm aus der Sysinternals-Suite ist dafür gut geeignet. Es hat sich sowohl bei IT-Administratoren als auch bei Angreifern bewährt.

Sieben Angriffszauber, um Active Directory zu erfassen


Wir gehen nun zu sieben Zaubersprüchen über, mit denen Angreifer die vollständige Kontrolle über Active Directory übernehmen können. Wir werden sie in vier Stufen unterteilen:

  1. Intelligenz.
  2. Promotion auf AD.
  3. Bedienung.
  4. Domain-Erfassung.

Im Diagramm sehen Sie alle vier sowie die Techniken, die auf ihnen verwendet werden. Lassen Sie uns jedes im Detail betrachten.



Stufe 1. Erkundung


Beginnen wir mit der Intelligenzphase.

Powerview


Dieses Tool ist Teil des beliebten PowerShell-Frameworks für Penetrationstests - PowerSploit . Es basiert auch auf dem BloodHound- Tool, das ein Diagramm der Objektbeziehungen in AD erstellt.



Grafische Darstellung von Active Directory-Objektbeziehungen

Bloodhound bietet sofort folgende Funktionen:

  • Suchen Sie nach Konten aller Domänenadministratoren.
  • Suchen Sie nach Hosts, auf denen Domänenadministratoren angemeldet sind.
  • Erstellen Sie mit der Domänenadministrationssitzung den kürzesten Pfad vom Host des Angreifers zum Host.

Der letzte Absatz gibt eine Antwort auf die Frage, welche Hosts von einem Angreifer gehackt werden müssen, um zum Domänenadministratorkonto zu gelangen. Dieser Ansatz verkürzt die Zeit, um die vollständige Kontrolle über die Domäne zu erlangen, erheblich.

PowerView unterscheidet sich von den integrierten Dienstprogrammen zum Abrufen von Daten zu AD-Objekten (z. B. net.exe) darin, dass es auf dem LDAP-Protokoll und nicht auf SAMR ausgeführt wird. Das Ereignis 1644 von einem Domänencontroller ist zum Erkennen dieser Aktivität geeignet. Die Protokollierung dieses Ereignisses wird durch Hinzufügen des entsprechenden Werts in der Registrierung aktiviert:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostic\\15 Field Engineering = 5



Aktivieren der LDAP-Ereignisprotokollierung 1644



Ereignis 1644 mit LDAP-Anforderungsparametern

Es ist zu beachten, dass es viele solcher Ereignisse geben kann, und eine gute Alternative zur Ereigniserkennung ist die Verkehrserkennung, da LDAP ein Klartextprotokoll ist. Dementsprechend sind alle Anforderungen im Verkehr perfekt sichtbar.



LDAP SearchRequest (Klicken, um das Bild in voller Größe zu öffnen)

Ein weiteres wichtiges Merkmal dieses Frameworks ist, dass es in reiner PowerShell geschrieben ist und keine Abhängigkeiten aufweist. Zur Erkennung hilft uns hier die erweiterte Überwachungsfunktion, die in PowerShell Version 5 eingeführt wurde. Ereignis 4104 zeigt den Hauptteil eines Skripts, in dem nach PowerView-spezifischen Funktionsnamen gesucht werden kann.



SPN-Scan


Es kann die Angreifer-Start-nmap ersetzen. Nachdem der Angreifer herausgefunden hat, welche Benutzer und Gruppen sich in AD befinden, benötigt er Informationen über die verfügbaren Dienste, um das Bild zu vervollständigen.



Dies wird normalerweise durch Scannen der Ports mit nmap gelöst. Jetzt können diese Informationen aber auch von AD bezogen werden - sie sind dort bereits gespeichert. Sie können sich das Ergebnis einer solchen Anfrage ansehen: Geben Sie den sogenannten SPN (Service Principal Names) zurück. Der SPN besteht aus einer Serviceklasse, ist für jeden Servicetyp eindeutig, dann kommt der Hostname in Form eines vollqualifizierten Domänennamens und für einige Services - Port.



Spn Beispiele Vollständige Liste der Dienstprinzipalnamen

Um SPN Scan zu erkennen, hilft auch die LDAP-Ereignisüberwachung.
Es ist wichtig zu beachten, dass der SPN-Scan einen deutlichen Vorteil gegenüber dem nmap-Scan hat: Er ist weniger verrauscht. Wenn Sie nmap verwenden, müssen Sie eine Verbindung zu jedem Knoten herstellen und Pakete an den von Ihnen angegebenen Portbereich senden. Und um die Liste der SPN zu erhalten, müssen Sie nur eine Anfrage senden.

Aufzählung der Remote-Sitzungen


Eine wichtige Aufgabe für einen Angreifer in der seitlichen Bewegungsphase besteht darin, festzustellen, welcher Benutzer an welcher Maschine angemeldet ist. Oder er verfügt bereits über Benutzeranmeldeinformationen (Hash- oder Kerberos-Ticket) und sucht nach Hosts, auf denen Sie sich ungehindert anmelden können. Oder er ist auf der Suche nach einem Host, auf dem eine Live-Domain-Administratorsitzung stattfindet.

Dann funktioniert das Szenario: Jagd -> Kompromittierung eines Wirts -> Golf von Mimikatz -> Gewinn.

Sie können 2 Ereignisse verwenden, um diese Technik zu erkennen. 4624 ist eine erfolgreiche Anmeldung auf einem Remote-System mit einer Anmeldung vom Typ 3 sowie IPC $ -Netzwerkzugriffsereignissen. Die Nuance ist der Name der Pipe - srvsvc. Warum eine Pipe so genannt wird, lässt sich am Verkehr ablesen.



Klicken Sie hier, um das Bild in voller Größe zu öffnen.

Auf der linken Seite, in den roten Rahmen, Zugriff auf SMB und dann Zugriff auf Pipe - srvsvc. Mit dieser Pipe können Sie über das spezielle Server Service Remote Protocol interagieren. Es ermöglicht Endhosts, verschiedene Verwaltungsinformationen von ihm zu erhalten, einschließlich Unter den Abfragen befindet sich eine mit dem Namen NetSessEnum. Als Ergebnis dieser Anforderung wird eine vollständige Liste der am Remote-System angemeldeten Benutzer mit IP-Adresse und Benutzernamen zurückgegeben.



In MaxPatrol SIEM haben wir eine Erkennung basierend auf einer Kombination dieser beiden Ereignisse unter Berücksichtigung von srvsvc durchgeführt. Und eine ähnliche Verkehrserkennung in PT Network Attack Discovery.

Stufe 2. AD-Promotion


Overpass-the-Hash


Die Reinkarnation von Pass-the-Hash. Fortsetzung des Themas der seitlichen Bewegung. Was kann ein Angreifer tun, wenn er einen NTLM-Hash hat? Er kann einen Pass-the-Hash-Angriff ausführen - aber es gibt bereits Entdeckungen bei ihr. Daher wurde ein neuer Vektor gefunden - der Overpass-the-Hash-Angriff.

Das Kerberos-Protokoll wurde speziell entwickelt, damit Benutzerkennwörter in der einen oder anderen Form nicht über das Netzwerk übertragen werden. Zu diesem Zweck verschlüsselt der Benutzer auf seinem Computer mit seinem Kennwort die Authentifizierungsanforderung. Als Antwort stellt ihm das Key Distribution Center (ein spezieller Dienst, der auf dem Domänencontroller gehostet wird) ein Ticket aus, um andere Tickets zu erhalten. Das sogenannte Ticket-Granting Ticket (TGT). Jetzt gilt der Kunde als authentifiziert und kann innerhalb von 10 Stunden Tickets für den Zugriff auf andere Dienste beantragen. Dementsprechend kann der Angreifer, wenn ein angreifender Dumping-Hash eines Benutzers, der Mitglied einer vertrauenswürdigen Gruppe eines für ihn interessanten Dienstes ist, beispielsweise eines ERP-Systems oder einer Datenbank, einen Pass für sich selbst ausstellen und sich erfolgreich bei dem für ihn interessanten Dienst anmelden.



Wie zu erkennen


Wenn der Angreifer für diesen Angriff die PowerShell-Version von mimikatz verwendet, hilft die Protokollierung des Skriptkörpers. Denn Invoke-Mimikatz ist eine sehr charakteristische Linie.





Oder 4688 ist ein Prozessstartereignis mit erweiterter Befehlszeilenüberwachung. Selbst wenn das Binar umbenannt wird, finden wir in der Befehlszeile einen Befehl, der für Mimikatz sehr charakteristisch ist.



Overpass-the-Hash-Verkehr kann anhand einer Anomalie erkannt werden, die sich aus der Tatsache ergibt, dass Microsoft die Verwendung der Authentifizierungsanforderung AES256 für die Verschlüsselung aktueller Domänen empfiehlt. Und mimikatz verschlüsselt beim Senden von Authentifizierungsanforderungsdaten die Daten mit dem veralteten ARCFOUR.



Im Verkehr wird aufgrund der Merkmale von Mimikatz ein weiterer Unterschied beobachtet. Es basiert auf dem Unterschied in der Chiffresuite in der legitimen Domäne und dem, was Mimikatz sendet.

Goldenes Ticket


Was kann ein Angreifer tun, wenn er einen Passwort-Hash eines speziellen Kontos namens krbtgt hat? Zuvor haben wir den Fall betrachtet, in dem der Benutzer nicht privilegiert sein könnte. Jetzt betrachten wir einen Benutzer mit einem Passwort-Hash, von dem absolut alle Tickets für andere Tickets (TGT) signiert sind. Dementsprechend spricht der Angreifer das Key Distribution Center nicht mehr an, er generiert dieses Ticket selbst, da das Golden Ticket im Wesentlichen TGT ist. Anschließend können Authentifizierungsanforderungen unbegrenzt an jeden Dienst in AD gesendet werden. Infolgedessen wendet er sich frei dieser Ressource zu - das Goldene Ticket wird nicht ohne Grund als golden bezeichnet.



So erkennen Sie anhand von Ereignissen


Es gibt das Ereignis 4768, das besagt, dass TGT ausgestellt wurde, und das Ereignis 4769, das besagt, dass ein Serviceticket ausgestellt wurde, das für die Authentifizierung bei einem Dienst in AD erforderlich ist.



Hier können wir auf den Unterschied spielen: Während eines Angriffs fordert Golden Ticket kein TGT von einem Domänencontroller an (es generiert es selbst), und es muss ein TGS anfordern. Wenn wir einen Unterschied zwischen empfangenem TGT und TGS feststellen, können wir davon ausgehen, dass ein Golden Ticket-Angriff stattfindet.

In MaxPatrol SIEM ist es uns gelungen, mithilfe von Tabellenlisten, in denen wir alle ausgegebenen TGT und TGS protokollieren, eine solche Erkennung zu implementieren.

WMI Remote Execution


Nachdem die Authentifizierungs- und Autorisierungsaufgabe auf den gewünschten Hosts gelöst wurde, kann der Angreifer damit beginnen, Aufgaben remote auszuführen. WMI als eingebauter und dafür entwickelter Mechanismus passt perfekt. In den letzten Jahren bedeutet „vom Land leben“, die eingebauten Windows-Mechanismen in einem Trend zu nutzen. Zuallererst, weil es Ihnen erlaubt, sich als legitime Aktivität zu tarnen.



Im Screenshot die Verwendung des integrierten Dienstprogramms wmic. Es gibt die Adresse des Hosts an, zu dem Sie eine Verbindung herstellen möchten, Anmeldeinformationen, die Anweisung zum Erstellen eines Prozessaufrufs und den Befehl, der auf dem Remote-Host ausgeführt werden muss.

Wie zu erkennen


Bei einer Reihe von Ereignissen einer Remote-Anmeldung 4624 (beachten Sie
Mania on Logon ID) und Ereignis 4688, in denen über das Starten eines Prozesses mit der Befehlszeile gesprochen wird. 4688 - Sie können sehen, dass das übergeordnete Element des gestarteten Prozesses WmiPrvSE.exe ist, ein spezieller WMI-Dienstprozess, der für die Remoteverwaltung verwendet wird. Der Befehl, den wir net user / add gesendet haben, ist sichtbar und die Anmelde-ID stimmt mit dem Ereignis 4624 überein. Dementsprechend können wir genau sagen, von welchem ​​Host dieser Befehl ausgeführt wird.



Verkehrserkennung


Hier sehen wir deutlich die charakteristischen Wörter des Win32-Prozesses create sowie die Befehlszeile, die zum Starten gesendet wird. Im Screenshot haben wir kürzlich eine Malware kennengelernt, die nach einem ähnlichen Prinzip wie WannaCry in virtuellen Netzwerken verbreitet wurde, aber anstelle der Verschlüsselung einen Miner installiert hat. Malvar hatte Mimikatz und EthernalBlue bei sich, sie hat die Konten gelöscht und sich mit ihrer Hilfe bei all den Hosts angemeldet, die sie im Netzwerk erreichen konnte. Mit WMI startete sie PowerShell auf ihnen und lud PowerShell-Nutzdaten herunter, die wiederum Mimikatz, EthernalBlue und den Miner enthielten. Somit wurde eine Kettenreaktion erhalten.



Empfehlungen für die Stufen 1-3


1. Lange und komplexe Passwörter (> 25 Zeichen) für Dienstkonten. Dies lässt einem Angreifer keine Chance, einen Kerberoasting-Angriff auszuführen Es wird sehr lange dauern, bis es brutal ist.

2. PowerShell protokollieren . Hilft bei der Entdeckung der Verwendung vieler fortschrittlicher Tools zum Angriff auf AD

3. Wechseln zu Windows 10, Windows Server 2016. Microsoft hat Credential Guard erstellt: Es ist nicht mehr möglich, NTLM-Hashes und Kerberos-Tickets aus dem Speicher zu sichern

4. Strikte Abgrenzung der Rollen . Es ist gefährlich, den Administrator von AD, DC, allen Servern und Arbeitsmaschinen in einer Rolle zu kombinieren

5. Doppelte Passwortänderung krbtgt (dies ist das gleiche Konto, mit dem sich TGT-Tickets anmelden) . Jährlich. Und nachdem der AD-Administrator AD verlassen hat:
  • müssen zweimal gewechselt werden, weil das aktuelle und das vorherige Passwort werden gespeichert,
  • jedes Jahr ändern, inkl. nach dem Verlassen des Domänenadministrators. Selbst wenn das Netzwerk bereits kompromittiert ist und die Angreifer das Goldene Ticket ausgestellt haben, macht das Ändern des Passworts dieses Ticket unbrauchbar. Und wieder müssen sie von vorne anfangen.

6. Abhilfemaßnahmen mit einer ständig aktualisierten Expertenwissensbasis . Es ist notwendig, echte tatsächliche Angriffe zu erkennen.

Stufe 4. Domain-Erfassung


DCShadow


Am 24. Januar 2018 stellten Benjamin Delpy und Vincent Le Toux auf der Microsoft BlueHat-Konferenz in Israel das neue Mimikatz-Modul vor, das den DCShadow-Angriff implementiert. Der Kern des Angriffs besteht darin, dass ein gefälschter Domänencontroller erstellt wird, um durch Replikation neue Objekte in AD zu ändern und zu erstellen. Den Forschern gelang es, den Mindestsatz an Kerberos-SPNs zu isolieren, der für den Replikationsprozess erforderlich ist - sie benötigen nur 2. Darüber hinaus präsentierten sie eine spezielle Funktion, die die Replikation von Controllern erzwingen kann. Die Autoren des Angriffs positionieren ihn als Angriff, der Ihr SIEM blind macht. Weil Ein gefälschter Domänencontroller sendet keine Ereignisse an SIEM. Dies bedeutet, dass Angreifer mit AD verschiedene dunkle Dinge tun können und SIEM nichts davon weiß.



Angriffsmuster


Auf dem System, mit dem der Angriff ausgeführt wird, müssen 2 SPNs hinzugefügt werden, die erforderlich sind, damit sich andere Domänencontroller mithilfe von Kerberos für die Replikation authentifizieren können. Weil Gemäß der Spezifikation wird der Domänencontroller in der AD-Datenbank durch ein Objekt der nTDSDSA-Klasse dargestellt. Es ist erforderlich, ein solches Objekt zu erstellen. Rufen Sie abschließend die Replikation mit der Funktion DRSReplicaAdd auf.

Wie zu erkennen


Wie DCShadow im Verkehr aussieht. Durch den Datenverkehr sehen wir deutlich das Hinzufügen eines neuen Objekts zum Konfigurationsschema des Domänencontrollertyps und dann den erzwungenen Start der Replikation



Aufgrund der Tatsache, dass unsere Korrelation die Liste der legitimen Domänencontroller kennt, wird sie ausgelöst, wenn die Replikation von einem Domänencontroller erfolgt, der nicht in dieser weißen Liste enthalten ist. Dementsprechend kann die Abteilung für Informationssicherheit eine Untersuchung durchführen und bereits verstehen, dass dies ein legitimer Domänencontroller ist, der vom IT-Dienst hinzugefügt wurde, oder ein DCShadow-Angriff.

Fazit


Das DCShadow-Beispiel zeigt, dass es neue Angriffsmethoden für Unternehmen gibt. In diesem Ozean von Informationssicherheitsereignissen ist es sehr wichtig, auf dem Wellenkamm zu bleiben: Schauen Sie weiter und bewegen Sie sich schnell. Jeden Tag erforschen wir im PT Expert Security Center neue Bedrohungen und entwickeln Erkennungsmethoden und -werkzeuge für diese. Und wir sind bereit, diese Informationen weiter zu teilen.

Gepostet von Anton Tyurin, Leiter des Angriffserkennungsteams, Positive Technologies

Source: https://habr.com/ru/post/de423903/


All Articles