Kurzfassung: Active Directory ist das häufigste Angriffsziel in Windows-Umgebungen, weil ein kompromittierter Domain-Admin alles erreicht. Die Härtung ruht auf vier Säulen: Tiered Administration (das Enterprise Access Model) trennt die Verwaltung in Ebenen und verhindert, dass privilegierte Anmeldeinformationen auf normalen Rechnern landen; LAPS eliminiert identische lokale Adminpasswörter; die Gruppe Protected Users und Credential Guard schützen vor dem Auslesen von Anmeldeinformationen; und die Angriffspfad-Analyse mit BloodHound findet die unbeabsichtigten Wege zum Domain-Admin, bevor ein Angreifer sie findet. Härtung ohne Überwachung ist ein Schloss ohne Alarm.
Active Directory härten ist das präventive Gegenstück zur Serie Angriff erkennen: Dort geht es darum, die Angriffe auf AD zu erkennen, hier darum, ihnen den Boden zu entziehen. Der Grund, warum AD das beliebteste Ziel ist, steht in einem Satz: Ein kompromittierter Domain-Admin hat Zugriff auf alle Systeme und alle Daten, und fast jeder Angriff auf ein Windows-Netz läuft am Ende darauf hinaus, genau dieses eine Konto zu übernehmen. Die Härtung dreht die Aufgabe um: Sie macht den Weg zum Domain-Admin so lang und so überwacht, dass der Angreifer scheitert oder auffällt. Dieser Beitrag beschreibt die vier tragenden Säulen, den zentralen Gedanken dahinter und warum die Härtung ohne Erkennung nur die halbe Miete ist.
Der zentrale Gedanke
Die ganze AD-Härtung ruht auf einer einzigen Einsicht: Ein Anmeldeinformation, das je auf einer kompromittierten Maschine war, ist selbst kompromittiert. Wenn sich ein Domain-Admin an einem normalen Arbeitsplatzrechner anmeldet und dieser Rechner übernommen wird, liegt sein Anmeldeinformation im Speicher, und der Angreifer holt es sich, wie im Beitrag zu Pass-the-Hash beschrieben. Von da an ist die ganze Domäne verloren. Die gesamte Härtung dreht sich darum, diese Berührung zu verhindern: privilegierte Anmeldeinformationen dürfen nie auf weniger vertrauenswürdigen Systemen verwendet werden, lokale Passwörter dürfen nicht geteilt sein, und die Anmeldeinformationen dürfen gar nicht erst im lesbaren Speicher liegen. Wer diesen Satz verstanden hat, versteht, warum jede der folgenden Maßnahmen genau das erzwingt.
Säule 1: Tiered Administration
Das Fundament ist Microsofts Enterprise Access Model, früher Tiered-Administration-Modell genannt. Es teilt die Verwaltung in drei Ebenen, zwischen denen harte Grenzen gezogen werden. Tier 0 ist die Kontrollebene: Domain Controller, die AD-Verwaltungswerkzeuge, die Zertifikatsinfrastruktur und die Konten, die sie verwalten. Das ist das Kronjuwel und bekommt die strengsten Kontrollen. Tier 1 sind die Server und Anwendungen. Tier 2 sind die Arbeitsplatzrechner der Benutzer. Die Regel ist einfach und unerbittlich: Ein Konto einer höheren Ebene darf sich nie an einem System einer niedrigeren Ebene anmelden. Ein Domain-Admin (Tier 0) meldet sich nie an einem Server (Tier 1) oder einem Arbeitsplatz (Tier 2) an, weil er dort sein Anmeldeinformation hinterlassen würde. Umgesetzt wird das über getrennte Adminkonten pro Ebene, über Anmelderestriktionen per Gruppenrichtlinie und über dedizierte Admin-Arbeitsplätze (Privileged Access Workstations), von denen aus die Verwaltung ausschließlich läuft. Das ist kein schnelles Projekt; für ein mittleres Unternehmen ohne bestehende Trennung sind sechs bis achtzehn Monate realistisch. Aber es ist die Maßnahme mit dem größten Effekt, weil sie den Weg von einem kompromittierten Arbeitsplatz zum Domain-Admin an der Wurzel kappt.
Säule 2: LAPS gegen geteilte Passwörter
Wenn jeder Arbeitsplatzrechner dasselbe lokale Adminpasswort hat, genügt ein einziger kompromittierter Rechner, um lokaler Admin auf allen zu sein: Der Angreifer holt sich den Hash und meldet sich per Pass-the-Hash an jedem anderen an. LAPS (die Local Administrator Password Solution, inzwischen als Windows LAPS in das Betriebssystem integriert) löst das, indem es jedem Rechner ein eigenes, langes, zufälliges lokales Adminpasswort gibt, das automatisch rotiert und verschlüsselt in AD gespeichert wird, lesbar nur für berechtigte Konten. Damit funktioniert die seitliche Bewegung über ein geteiltes lokales Passwort nicht mehr, und ein gestohlener lokaler Hash gilt nur noch auf genau einem Rechner. LAPS ist schnell ausgerollt und hat einen sofortigen Effekt auf die seitliche Bewegung.
Säule 3: Anmeldeinformationen schützen
Die dritte Säule verhindert, dass Anmeldeinformationen überhaupt aus dem Speicher gelesen werden können. Mehrere Bausteine greifen ineinander:
- Die Gruppe Protected Users. Mitglieder dieser Gruppe unterliegen schärferen Regeln: Ihre Anmeldeinformationen werden nicht zwischengespeichert, sie können kein NTLM und kein RC4 nutzen, und ihre Kerberos-Tickets haben eine kürzere Lebensdauer. Das macht sie deutlich schwerer angreifbar. Privilegierte Konten gehören hinein.
- Credential Guard. Isoliert die Anmeldeinformationen mit virtualisierungsbasierter Sicherheit, sodass selbst ein Angreifer mit lokalen Adminrechten sie nicht aus dem Speicher des LSASS-Prozesses lesen kann. Das ist die Antwort auf genau die Technik aus dem Pass-the-Hash-Beitrag.
- Phishing-resistente MFA für Tier 0 und Tier 1. Die privilegierten Konten bekommen FIDO2-Schlüssel, Smartcards oder Windows Hello for Business, sodass ein gestohlenes Passwort oder ein gephishtes Anmeldeinformation allein nicht reicht.
- Verwaltete Dienstkonten. Gruppenverwaltete Dienstkonten (gMSA) bekommen automatisch rotierte, sehr lange Passwörter, die niemand kennt und die sich nicht per Kerberoasting knacken lassen. Sie sind die Lösung für die schwachen Dienstkonten-Passwörter, die den häufigsten AD-Angriff erst möglich machen.
- Vorauthentifizierung erzwingen. Die Kontooption „Keine Vorauthentifizierung“ gehört überall entfernt, weil sie AS-REP-Roasting erst ermöglicht. Eine LDAP-Abfrage findet alle betroffenen Konten in Sekunden, und die Zahl sollte null sein.
Säule 4: Angriffspfade mit BloodHound finden
Die vierte Säule ist die, die am meisten übersehen wird. Ein Angreifer beginnt seinen AD-Angriff mit Aufklärung: Jedes gültige Domänenkonto kann per LDAP fast das gesamte Verzeichnis auslesen, also alle Benutzer, Gruppen, Mitgliedschaften, Computer und Berechtigungen. Das Werkzeug BloodHound stellt diese Beziehungen als Graph dar, in dem Konten, Gruppen und Rechte Knoten sind und die Beziehungen dazwischen Kanten. Aus diesem Graph wird die Rechteausweitung zu einem einfachen Wegfindungsproblem: der kürzeste Pfad von einem kompromittierten Konto zu den Domain-Admins wird sichtbar, auch wenn er über ein Dutzend Zwischenschritte und verschachtelte Gruppenmitgliedschaften führt. Das Problem: Der Angreifer kennt die Angriffsfläche oft besser als das interne Team. Die Gegenmaßnahme ist, dasselbe Werkzeug defensiv einzusetzen. Ein regelmäßiger BloodHound-Lauf gegen die eigene Umgebung zeigt die unbeabsichtigten Pfade zum Domain-Admin: Dienstkonten, deren Berechtigungen zu weit reichen, verschachtelte Gruppen, die unerwartet Tier 0 erreichen, oder Kerberos-Delegierungen, die eine Eskalation erlauben. Jeder dieser Pfade, den man vor dem Angreifer findet und schließt, verkleinert die Angriffsfläche. Ergänzend fängt ein Canary-Konto den Angreifer, der nach privilegierten Zielen sucht, siehe Honeypots und Deception.. Werkzeuge wie PingCastle liefern zusätzlich einen schnellen Reifegrad-Überblick über die AD-Sicherheit. Der Grundsatz: Man muss die eigene Umgebung mit den Augen des Angreifers sehen, und BloodHound ist genau diese Brille.
Härtung ohne Überwachung ist ein Schloss ohne Alarm
So wichtig die Härtung ist, sie ersetzt die Erkennung nicht. Ein Schloss ohne Alarmanlage hält den Gelegenheitstäter ab, aber es meldet nicht, wenn jemand es doch aufbricht. Deshalb gehören die Härtungsmaßnahmen mit der Überwachung der kritischen Ereignisse zusammen: 4672 für die Nutzung besonderer Rechte, 4728 und 4756 für Änderungen an privilegierten Gruppen, 4769 für Kerberoasting, 4662 für DCSync, und die weiteren Ereignisse aus der Event-ID-Referenz. Jede geschlossene Lücke reduziert die Zahl der möglichen Angriffe, und jede Überwachungsregel fängt die, die trotzdem versucht werden. Erst zusammen ergeben sie eine verteidigte Domäne. Die Grundlage für das Verständnis, warum welche Maßnahme welche Technik trifft, liefert der Beitrag Kerberos verstehen.
Fazit
Active Directory zu härten heißt, den Weg zum Domain-Admin so lang und so überwacht zu machen, dass er sich nicht mehr lohnt. Die vier Säulen greifen ineinander: Tiered Administration verhindert, dass privilegierte Anmeldeinformationen auf angreifbare Systeme gelangen, LAPS entzieht der seitlichen Bewegung das geteilte Passwort, Protected Users und Credential Guard schützen die Anmeldeinformationen im Speicher, und die Angriffspfad-Analyse mit BloodHound findet die Wege, die trotzdem übrig bleiben. Der Kerngedanke bleibt dabei immer derselbe: Ein Anmeldeinformation, das eine kompromittierte Maschine berührt hat, ist verloren, und die ganze Härtung dient dazu, diese Berührung zu verhindern. Für ein Blue Team ist die AD-Härtung das große präventive Projekt, das die tägliche Erkennungsarbeit erst wirksam macht, weil sie dem Angreifer die einfachen Wege nimmt.