Credential Guard: Windows vor Pass-the-Hash- und Pass-the-Ticket-Angriffen schützen


    Tags: , ,

    Pass-the-Hash-AngriffCredential Guard ist ein Feature von Microsofts Virtualization based Scurity (VBS). Es schirmt die im RAM zwischen­ge­speicherten Hashes der An­melde­daten mit Hilfe des Hyper­visors gegen An­greifer ab. Es lässt sich recht ein­fach mittels Gruppen­richt­linien akti­vieren, bringt aber Ein­schränkungen für einige Proto­kolle mit sich.

    Nach der erfolgreichen Anmeldung am Active Directory hält Windows den Hash der Credentials im Memory der Local Security Authority (LSA) vor. Greift der Benutzer auf eine Ressource im Netzwerk zu, dann wird er damit automatisch authentifiziert, eine erneute Eingabe des Pass­worts kann entfallen.

    Dieses Mechanismus können sich aber auch Angreifer mit Tools wie Mimikatz zunutze machen, indem sie den Hash aus dem Speicher auslesen und sich damit Zugang zu Systemen im Netzwerk verschaffen.

    Aktiviert man Credential Guard, dann hält nicht mehr die LSA des Betriebs­systems die Secrets vor. Vielmehr übernimmt diese Aufgabe die LSA in einem zusätzlichen schlanken Windows-Kernel.

    Credential Guard nutzt eine isolierte LSA in einem separaten Kernel, auf deren Speicher nicht von außen zugegriffen werden kann.

    Dieser läuft auf einem höheren Trust-Level in einer virtuellen Maschine, so dass ein direkter Zugriff auf dessen Speicher aus dem eigentlichen OS nicht möglich ist. Daher muss die lokale LSA mit dem sicheren Gegenstück über Remote Procedure Calls (RPCs) kommunizieren.

    Kein SSO mit unsicheren Protokollen

    Sobald Credential Guard aktiviert wurde, ist ein Single-sign-on mit NTLMv1, MS-CHAPv2, Digest und CredSSP nicht mehr möglich. Anwendungen, die eine Authentifizierung über diese Protokolle erfordern, werden die Benutzer dann mit einem Anmelde­dialog zur erneuten Eingabe ihrer Kennung konfrontieren.

    Eine weitere Einschränkung besteht darin, dass Credential Guard die Verwendung von Unconstrained Kerberos Delegation oder DES-Verschlüsselung nicht erlaubt. Daher sollte man vor der großflächigen Nutzung dieses Features prüfen, ob die damit einhergehenden Einschränkungen zu Problemen mit vorhandenen Anwendungen führen.

    Systemvoraussetzungen

    Bevor man Credential Guard aktiviert, sollte man sicherstellen, dass die jeweiligen Rechner die nötigen Voraus­setzungen dafür erfüllen. Diese sind:

    • 64-bit-Version von Windows 10 bzw. 11 oder Windows Server ab 2016
    • UEFI-Firmware mit aktiviertem Secure Boot.
    • CPU mit Virtuali­sierungs­erwei­terungen Intel VT-x oder AMD-V mit SLAT-Support
    • TPM v 1.2 oder 2.0

    Microsoft stellt ein Hardware Readiness Tool in Form eines PowerShell-Scripts zur Verfügung, das diese Bedingungen prüft.

    Credential Guard aktivieren

    Das Feature lässt sich über mehrere Wege aktivieren. Das gängigste Verfahren dürften nach wie vor die Gruppen­richtlinien sein. In Frage kommen auch Intune oder das direkte Setzen eines Registry-Schlüssels.

    Entscheidet man sich für ein GPO, dann findet man die zuständige Einstellung unter Computer­konfiguration => Richtlinien => Administrative Vorlagen => System => Device Guard. Sie heißt Virtualisierungs­basierte Sicherheit aktivieren und steuert gleich mehrere VBS-Funktionen.

    Credential Guard über Gruppenrichtlinien konfigurieren

    Für die Konfiguration von Credential Guard stehen vier Optionen zur Auswahl:

    • Deaktiviert
    • Mit UEFI-Sperre aktiviert
    • Nicht konfiguriert
    • Ohne Sperre aktiviert

    Mit UEFI-Sperre aktiviert speichert die Einstellung dauerhaft in der Firmware. Sie lässt sich daher nicht durch Zurück­setzen der Gruppen­richtlinie entfernen. Vielmehr muss man sie physisch an jedem PC deaktivieren. Ohne Sperre aktiviert hingegen erlaubt das Ändern der Ein­stellung via GPO.

    Sobald die Gruppen­richtlinie auf den Zielrechnern greift, kann man mittels msinfo32.exe prüfen, ob das Feature tatsächlich aktiviert wurde.

    Die Systeminformationen geben auch Auskunft über den Status von Credential Guard.

    Alternativ kann man nachsehen, ob ein Prozess namens LsaIso läuft. Allerdings ist dieser immer vorhanden, sobald auch nur ein VBS-Feature aktiv ist.

    Die Existenz des Prozesses LsaIso belegt, dass VBS aktiviert ist.

    Credential Guard in VMs

    Mit Credential Guard lässt sich auch das Gast-OS in einer virtuellen Maschine schützen. Diese muss mit ihrer virtuellen Hardware die gleichen Voraussetzungen erfüllen wie ein physischer Rechner. Daher kommen nur VMs der Generation 2 in Frage. Für diese muss man Secure Boot sowie ein virtuelles TPM aktivieren.

    Zusätzlich muss man sich überzeugen, dass für VMSecurity die Eigenschaft Virtualization­Based­Security­Opt­Out nicht auf $true gesetzt wurde. Abfragen kann man dies mit

    Get-VMSecurity -VMName <Name-der-VM>

    Ändern kann man diese Einstellung bei Bedarf mit

    Get-VMSecurity -VMName <Name-der-VM> -VirtualizationBasedSecurityOptOut $false

    Die Aktivierung von Credential Guard für eine VM erfolgt über die gleichen Methoden wie für einen physischen Rechner, also etwa über die oben erwähnte Gruppen­richtlinie.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    4 Kommentare

    Hallo Wolfgang,
    ich habe mich mit dem Thema auch beschäftigt und es auch im Einsatz.
    Windows 11 Enterprise mit reinem AAD Join und soweit keine Einschränkungen im Usecase.

    Es gibt wohl auch weitere Voraussetzungen hierfür.
    Zum einen sollte man über mindestens 8 GB RAM verfügen, zum anderen funktioniert es nur mit Windows 10 Enterprise, nicht mit Pro oder Home. Kannst du das bestätigen?

    Bild von Wolfgang Sommergut

    Hallo Karl, laut Microsoft Doc ist Credential Guard auch in der Pro verfügbar. 8GB RAM sind m.W. generell die Anforderung an Windows 11, vermutlich wegen der Virtualisierungsfunktionen (u.a. Sandbox).

    Hallo Wolfgang,

    ich habe soeben das Powershell Script von Microsoft laufen lassen und es sagt auf meiner Windows 10 Pro Maschine:
    This PC edition is Unsupported for Device Guard
    Machine is not Device Guard / Credential Guard compatible because of the following:
    OS SKU unsupported

    In deinem Link "laut Microsoft Doc" steht dann auch eindeutig bei:
    Software: Qualifiziertes Windows-Betriebssystem
    Anforderung: Mindestens Windows 10 Enterprise oder Windows Server 2016.

    Dummerweise wird das ganz zu Beginn dieser Seite unter "Betrifft" nicht explizit erwähnt.

    Herzliche Grüße, JS

    Bild von Wolfgang Sommergut

    Hallo Johann,

    danke für die Klärung dieser Frage! Ich glaube, in der ursprünglichen Version dieses Dokuments stand noch explizit die Pro Edition drin.