NTLM und Kerberos anhand von Diagrammen erklärt — Warum die Authentifizierung auf NTLM zurückfällt
· Go Komura · NTLM, Kerberos, Windows, Active Directory, Sicherheit, Authentifizierung, Informationssysteme
Auch in einem Unternehmensnetzwerk, das als „Kerberos-Umgebung“ beschrieben wird, taucht bei einem Audit immer wieder NTLM auf. Und was auftaucht, ist meist eine Anwendung, die eigentlich Kerberos unterstützen sollte.
Warum das passiert, wird sofort klar, sobald man die beiden Protokolle nebeneinanderlegt und fragt, was jedes von ihnen eigentlich beweisen will. Dieser Artikel behandelt, wie sich NTLM und Kerberos anhand von Diagrammen verhalten, dann unter welchen Bedingungen die Authentifizierung auf NTLM zurückfällt und warum Microsoft versucht, NTLM loszuwerden — alles gestützt auf die offizielle Dokumentation.
Das Vorgehen zur Bestandsaufnahme der eigenen Umgebung (Konfiguration der Audit-Richtlinien, das Verfolgen der Ereignisse, die Reihenfolge der Behebung) ist im begleitenden Artikel „Bringt die NTLM-Abschaffung Ihre Fachanwendungen zum Stillstand? — Wie Sie Audit-Protokolle erfassen und in welcher Reihenfolge Sie Abhängigkeiten beseitigen“ dargelegt.
1. Das Wichtigste zuerst
- NTLM beweist nur, dass Sie den Passwort-Hash besitzen. Die Anmeldeinformationen sind ein Einweg-Hash von Domänenname, Benutzername und Passwort,1 und bei NTLMv2 — das heutiges Windows verwendet — wird ein aus diesem Hash abgeleiteter Schlüssel verwendet, um einen HMAC über „die Server-Challenge + einen Zeitstempel + eine clientseitige Challenge + Zielinformationen“ zu berechnen (Abschnitt 2.2).2
- Kerberos beweist, „wer sich gegenüber welchem Dienst“ authentifiziert. Tickets werden gebunden an den Namen des Zieldienstes (den SPN) ausgestellt, sodass ein Ticket für ein anderes Ziel nicht verwendet werden kann.3
- Es gibt drei entscheidende Unterschiede: ob eine gegenseitige Authentifizierung stattfindet, ob der Server (bei der Authentifizierung von Domänenkonten) einen Domänencontroller befragt, und ob Delegation möglich ist. Microsoft nennt alle drei ausdrücklich (Abschnitt 5).4
- Der größte Grund für den Rückfall auf NTLM sind „Namen“. Kerberos kann nicht beginnen, wenn sich aus dem Zielnamen kein SPN auflösen lässt. Fest codierte IP-Adressen, nicht registrierte SPNs, Arbeitsgruppen und Wege ohne DC-Erreichbarkeit sind die vier Hauptfaktoren (Abschnitt 6).56
- Relay-Angriffe funktionieren, weil NTLM keinen Mechanismus besitzt, der bindet, „mit wem Sie sich authentifizieren“. Pass-the-Hash funktioniert, weil für die Authentifizierung der Hash selbst benötigt wird (Abschnitt 7).71
- NTLMv1 wurde bereits entfernt. Windows 11 Version 24H2 und Windows Server 2025 sind die betroffenen Versionen. NTLMv2 ist deprecated, funktioniert aber noch (Abschnitt 8).8
- Was Anwendungen schreiben sollten, ist Negotiate. Negotiate wählt zwischen Kerberos und NTLM und entscheidet sich für Kerberos, sofern nicht eines der an der Authentifizierung beteiligten Systeme Kerberos nicht nutzen kann.1
2. Was NTLM tatsächlich tut
NTLM (Windows Challenge/Response) ist, wie der Name sagt, ein Challenge/Response-Authentifizierungsprotokoll. Zusammengefasst nach Microsofts Beschreibung: Die Anmeldeinformationen bestehen aus einem bei der interaktiven Anmeldung erhaltenen Einweg-Hash von Domänenname, Benutzername und Passwort, und um zu authentifizieren, ohne das Passwort über die Leitung zu senden, führt die Partei, die die Authentifizierung anfordert, eine Berechnung durch, die beweist, dass sie „auf die sicher gespeicherten NTLM-Anmeldeinformationen zugreifen kann“.1
Wichtig ist hier, dass das Material für die Authentifizierung nicht das Passwort selbst, sondern der Hash des Passworts ist. Genau diese eine Tatsache macht, wie wir später sehen werden, Pass-the-Hash möglich.
2.1. Bei einem Domänenkonto sind drei Parteien beteiligt
Greift ein bereits angemeldeter Benutzer mit einem Domänenkonto (nicht-interaktive Authentifizierung) auf eine Ressource eines Servers zu, sind drei Parteien beteiligt: der Client, der Server und der Domänencontroller. Das Besondere daran ist, dass der Server selbst die Authentifizierungsberechnung nicht durchführt — er lässt sie stellvertretend vom Domänencontroller ausführen.1
sequenceDiagram
autonumber
participant C as Client
participant S as Server
participant DC as Domänencontroller
Note over C: Hasht bei der Anmeldung das Passwort<br/>und verwirft das Passwort selbst
C->>S: Benutzername (Klartext)
S->>C: 8-Byte-Zufallszahl (Challenge)
Note over C: Verschlüsselt die Challenge<br/>mit dem Passwort-Hash
C->>S: Antwort
S->>DC: Benutzername / Challenge / Antwort
Note over DC: Ruft den Hash aus der SAM ab<br/>und führt dieselbe Berechnung durch
DC-->>S: Bei Übereinstimmung ist die Authentifizierung erfolgreich
S-->>C: Zugriff gewährt
Abbildung 1: Nicht-interaktive NTLM-Authentifizierung (mit einem Domänenkonto)
Das von Microsoft konzeptionell dargestellte Vorgehen sieht wie folgt aus (die tatsächliche Berechnung ändert sich bei NTLMv2, wie unten beschrieben, aber die beteiligten Parteien und die Aufgabenverteilung entsprechen genau dem Diagramm).1
- (Nur bei interaktiver Authentifizierung) Der Benutzer gibt Domänenname, Benutzername und Passwort ein. Der Client berechnet einen kryptografischen Hash des Passworts und verwirft das eigentliche Passwort.
- Der Client sendet den Benutzernamen im Klartext an den Server.
- Der Server erzeugt eine 8-Byte-Zufallszahl (die Challenge, eine Nonce) und sendet sie an den Client.
- Der Client verschlüsselt diese Challenge mit dem Hash des Benutzerpassworts und sendet das Ergebnis (die Antwort) zurück.
- Der Server sendet drei Dinge an den Domänencontroller: den Benutzernamen, die an den Client gesendete Challenge und die empfangene Antwort.
- Der Domänencontroller sucht in der SAM-Datenbank den Passwort-Hash für diesen Benutzernamen und verschlüsselt die Challenge damit.
- Er vergleicht sein eigenes Ergebnis mit der Antwort des Clients; sind sie identisch, ist die Authentifizierung erfolgreich.
2.2. Die tatsächliche Berechnung — NTLMv2 ist etwas aufwendiger
Die sieben Schritte oben sind die auf Microsofts Übersichtsseite beschriebene Grundform. NTLMv2, das heutiges Windows tatsächlich verwendet, ist einen Schritt komplexer als „die Challenge mit dem Passwort-Hash verschlüsseln“. Die Spezifikation ([MS-NLMP]) definiert es wie folgt.2
- Der Antwortschlüssel ist
NTOWFv2 = HMAC_MD5( MD4(UNICODE(Passwort)), Benutzername in Großbuchstaben + Domänenname ) - Der Client baut
tempdurch Verkettung der Antwortversion, eines Zeitstempels, einer auf der Clientseite erzeugten 8-Byte-Challenge und Zielinformationen (AV-Paare) - Der Kern der Antwort ist
NTProofStr = HMAC_MD5( Antwortschlüssel, Server-Challenge + temp )
Mit anderen Worten: Tatsächlich berechnet wird ein HMAC, der nicht nur die Server-Challenge, sondern auch einen clientseitigen Zufallswert, einen Zeitstempel und Zielinformationen einmischt. Die prüfende Seite reproduziert dieselbe Berechnung. Liegt das Konto in Active Directory, wird das Challenge/Response-Paar zur Prüfung an einen Domänencontroller gesendet; ist das Konto lokal auf dem Server, berechnet der Server den erwarteten Wert anhand des selbst gespeicherten OWF.2
Für die Diskussion in diesem Artikel ist wichtig, dass sich trotz dieser zusätzlichen Komplexität zwei Dinge nicht ändern.
- Das Schlüsselmaterial bleibt der Passwort-Hash. Ausgangspunkt von
NTOWFv2istMD4(UNICODE(Passwort))— der NT-Hash selbst.2 Deshalb funktioniert Pass-the-Hash (Abschnitt 7.2). - Der Client überprüft nicht, ob der Server echt ist. Microsofts Aussage, dass NTLM keine gegenseitige Authentifizierung besitzt, gilt auch für NTLMv2.4
Alles, was folgt, beruht auf diesen beiden Punkten.
2.3. Bei einem lokalen Konto genügen zwei Parteien
Bei einem lokalen Konto verschwindet die rechte Seite des Diagramms. Ein Ressourcenserver fragt bei einem Domänenkonto den Authentifizierungsdienst eines Domänencontrollers der Domäne des Kontos ab, konsultiert aber bei einem lokalen Konto seine lokale Kontendatenbank.9 Auf einem Arbeitsgruppenrechner oder bei der Verbindung zu einer Freigabe mit einem lokalen Konto auf einem Dateiserver taucht daher kein Domänencontroller auf: Es ist ein Austausch zwischen zwei Parteien, bei dem der Server anhand seiner eigenen SAM selbst entscheidet.
Diese Unterscheidung fließt direkt in die in Abschnitt 6.3 behandelte Bestandsaufnahme der Abhängigkeiten „Kerberos ist nicht verfügbar, weil es ein lokales Konto ist“ ein. NTLM taucht auf diesem Weg in den Audit-Protokollen der Domänencontroller überhaupt nicht auf.
2.4. Drei Konsequenzen dieses Designs
Betrachten Sie Abbildung 1, und Sie können daraus die Eigenschaften ablesen, die später zum Problem werden.
- Der Server beweist dem Client nichts. Der Austausch verläuft einseitig; nirgendwo gibt es einen Schritt, in dem der Server zeigt, dass „ich echt bin“.
- Der Server kann nur entscheiden, wenn er selbst den Hash besitzt. Bei jedem Bedarf an einem neuen Zugriffstoken muss ein Ressourcenserver bei einem Domänenkonto den Authentifizierungsdienst eines Domänencontrollers abfragen oder bei einem lokalen Konto seine lokale Kontendatenbank konsultieren.9 Deshalb hängt die Authentifizierung mit Domänenkonten von einem Domänencontroller ab.
- Die Antwort gilt „nur für diese Challenge“, bindet aber nicht das Ziel. Da sich die Challenge jedes Mal ändert, kann dieselbe Antwort nicht wiederverwendet werden. Es gibt jedoch kein Element, das beweist, „für welchen Server diese Antwort bestimmt ist“, sodass sie unbemerkt an einen anderen Server weitergegeben werden kann.
3. Warum der Server einen Domänencontroller fragt
Bei der Authentifizierung eines Domänenkontos besitzt nur die Kontendatenbank auf der Seite des Domänencontrollers den Passwort-Hash. Der Ressourcenserver kennt den Hash dieses Benutzers nicht und kann daher nicht selbst prüfen. Er muss deshalb bei jeder Authentifizierung einen Domänencontroller abfragen (Pass-Through-Authentifizierung).91 (Bei einem lokalen Konto konsultiert der Server seine eigene SAM und entscheidet selbst. Alles Folgende zur Abhängigkeit von einem Domänencontroller gilt für Domänenkonten.)
Das kostet sowohl sicherheitstechnisch als auch betrieblich. Microsoft erklärt, dass bei Vor-Kerberos-NTLM-Authentifizierung ein Anwendungsserver bei jeder Authentifizierung eines Clients oder Dienstes eine Verbindung zu einem Domänencontroller herstellen musste, während bei Kerberos erneuerbare Sitzungstickets diese Pass-Through-Authentifizierung ersetzen und der Server einen Domänencontroller nur kontaktieren muss, wenn eine PAC-Prüfung (Privilege Attribute Certificate) erforderlich ist.4
Die Migration zu Kerberos ist also gleichzeitig eine Sicherheitsfrage und eine Frage der Reduzierung der Abhängigkeit von Domänencontrollern.
4. Was Kerberos tatsächlich tut
Kerberos geht von einem grundlegend anderen Ansatz aus. Statt die Identitätsprüfung bei jeder Authentifizierung erneut durchzuführen, wird die Identität einmal zu Beginn geprüft, ein „Ticket“ empfangen, und dieses Ticket wird anschließend vorgezeigt.
Der KDC (Key Distribution Center) läuft auf einem Domänencontroller und verwendet die Datenbank der Active Directory Domain Services als Sicherheitskontendatenbank.4
sequenceDiagram
autonumber
participant C as Client
participant KDC as KDC (Domänencontroller)
participant S as Dienst (identifiziert durch SPN)
Note over C,KDC: AS-Austausch — Identität beweisen und ein TGT erhalten
C->>KDC: KRB_AS_REQ<br/>(Benutzername + mit Langzeitschlüssel verschlüsselter Zeitstempel)
Note over KDC: Lässt es sich mit dem Langzeitschlüssel entschlüsseln, ist die Person echt
KDC-->>C: KRB_AS_REP<br/>TGT (mit dem Schlüssel von krbtgt verschlüsselt) + Sitzungsschlüssel
Note over C,KDC: TGS-Austausch — ein Dienstticket erhalten
C->>KDC: KRB_TGS_REQ<br/>(TGT + Ziel-SPN + Authenticator)
Note over KDC: Sucht das Dienstkonto anhand des SPN<br/>und verschlüsselt das Ticket mit dessen Langzeitschlüssel
KDC-->>C: KRB_TGS_REP<br/>Dienstticket + Sitzungsschlüssel
Note over C,S: AP-Austausch — dem Dienst vorlegen
C->>S: KRB_AP_REQ<br/>(Dienstticket + Authenticator)
Note over S: Entschlüsselt mit dem eigenen Langzeitschlüssel<br/>= das Ticket ist an ihn adressiert
S-->>C: KRB_AP_REP (bei angeforderter gegenseitiger Authentifizierung)
Abbildung 2: Die drei Kerberos-Austausche (AS / TGS / AP)
4.1. Der AS-Austausch — Identität einmalig beweisen
Der Client sendet dem KDC seinen Benutzernamen und Domänennamen sowie einen mit seinem eigenen Langzeitschlüssel (dem aus dem Passwort abgeleiteten Schlüssel) verschlüsselten Zeitstempel. Das ist die Vorauthentifizierung. Kann der KDC ihn mit diesem Langzeitschlüssel entschlüsseln und ist der Zeitstempel gültig, schließt er daraus: „Das ist die Person.“3
Der KDC liefert ein TGT (Ticket-Granting Ticket) zurück. Das TGT ist mit dem eigenen Langzeitschlüssel des KDC (dem Schlüssel des krbtgt-Kontos) verschlüsselt, sodass der Client seinen Inhalt nicht lesen kann. Zusammen damit wird ein Sitzungsschlüssel für die Verwendung zwischen Client und KDC übergeben, verschlüsselt mit dem Langzeitschlüssel des Clients.3
Wichtig ist hier, dass der Zeitstempel Teil der Authentifizierung ist. Deshalb ist Kerberos streng bei der Zeitsynchronisierung; die standardmäßig tolerierte Abweichung beträgt fünf Minuten.10 Wird sie überschritten, scheitert die Vorauthentifizierung, sodass die Kerberos-Authentifizierung selbst mit einem Fehler fehlschlägt (die Windows-Zeitsynchronisierung wird in „Anleitung zur Windows-Zeitsynchronisierung (w32time)“ behandelt). „Kerberos schlägt fehl“ und „es fällt auf NTLM zurück“ sind zwei unterschiedliche Dinge. Die Unterscheidung wird in Abschnitt 6.5 behandelt.
4.2. Der TGS-Austausch — Erklären, mit welchem Dienst Sie sich verbinden
Das ist der entscheidende Unterschied zu NTLM. Der Client teilt dem KDC den Namen des Dienstes, mit dem er sich verbinden möchte (den SPN), mit und fordert unter Beifügung des TGT und eines Authenticators ein Dienstticket an.3
Der KDC ermittelt das zu diesem SPN gehörende Dienstkonto und liefert ein mit dem Langzeitschlüssel dieses Kontos verschlüsseltes Dienstticket zurück.3 Daraus folgt:
- Lässt sich der SPN nicht auflösen, wird kein Ticket ausgestellt. Ist am Dienstkonto kein SPN registriert, kann der KDC die Gegenstelle nicht identifizieren. Dasselbe gilt, wenn das Ziel als IP-Adresse angegeben wird — standardmäßig wird Kerberos dann nicht einmal versucht (Abschnitt 6.1).
- Ein Ticket gilt „nur für dieses Ziel“. Es lässt sich nicht mit dem Langzeitschlüssel eines anderen Dienstes entschlüsseln und kann daher nicht gegen ein anderes Ziel wiederverwendet werden.
4.3. Der AP-Austausch — Vorlage beim Dienst und gegenseitige Authentifizierung
Der Client legt dem Dienst das Dienstticket und einen Authenticator vor. Der Dienst entschlüsselt das Ticket mit seinem eigenen Langzeitschlüssel und extrahiert daraus den Sitzungsschlüssel und die Autorisierungsinformationen. Allein die Tatsache, dass die Entschlüsselung gelingt, ist der Beweis, dass „dieses Ticket an mich adressiert ist“.3
Hat der Client eine gegenseitige Authentifizierung angefordert, verschlüsselt der Dienst den empfangenen Zeitstempel mit dem Sitzungsschlüssel und sendet ihn zurück. Durch dessen Überprüfung kann der Client bestätigen, dass die Gegenstelle der echte Dienst ist.3 Bei NTLM gibt es keinen solchen Schritt.
5. Die entscheidenden Unterschiede
| Aspekt | NTLM | Kerberos |
|---|---|---|
| Überprüfung der Gegenstelle | Ein Client kann einen Server nicht überprüfen, noch ein Server einen anderen Server. Entworfen unter der Annahme, dass Server echt sind4 | Beide Enden einer Verbindung können überprüfen, dass die Gegenstelle ist, wer sie vorgibt zu sein4 |
| DC-Abfrage bei jeder Authentifizierung | Erforderlich bei Domänenkonten. Der Ressourcenserver fragt bei jedem neuen Zugriffstoken einen DC ab (bei einem lokalen Konto konsultiert er seine eigene Kontendatenbank)9 | Nicht erforderlich (außer bei PAC-Prüfung). Erneuerbare Sitzungstickets ersetzen dies4 |
| Bindung an ein Ziel | Keine. Die Antwort beweist nicht, „für wen“ | Ja. Ein Dienstticket ist mit dem Langzeitschlüssel des Zieldienstes verschlüsselt3 |
| Delegation | Liefert nur die für die lokale Identitätsübernahme benötigten Autorisierungsinformationen4 | Unterstützt Delegation, bei der ein Dienst im Namen des Clients eine Verbindung zu einem anderen Dienst herstellt4 |
| Zeitsynchronisierung | Nicht abhängig | Abhängig (standardmäßige Toleranz fünf Minuten)10 |
| Namensauflösung | Unabhängig vom Namen der Gegenstelle (funktioniert mit einer IP-Adresse) | Erfordert, dass sich ein SPN auflösen lässt3 |
| Nutzung außerhalb einer Domäne | Weiterhin erforderlich in Arbeitsgruppenkonfigurationen und bei lokaler Anmeldung9 | Setzt Active Directory voraus4 |
Die beiden unteren Zeilen dieser Tabelle sind unmittelbar „die Gründe, warum die Authentifizierung auf NTLM zurückfällt“. Die Stärken von Kerberos (Bindung des Ziels, Überprüfung der Gegenstelle) beruhen darauf, dass sich Namen korrekt auflösen lassen.
6. Warum die Authentifizierung „zurückfällt“ auf NTLM
Auch wenn eine Anwendung NTLM nicht direkt angibt, wird NTLM verwendet — weil sich Negotiate so verhält. Wie Microsoft erklärt, wählt Negotiate zwischen Kerberos und NTLM und wählt Kerberos, sofern nicht eines der an der Authentifizierung beteiligten Systeme Kerberos nicht nutzen kann.1
Mit anderen Worten: „Es wurde NTLM“ ist in den meisten Fällen nur eine andere Formulierung für „Kerberos konnte nicht verwendet werden“.
flowchart TD
START["Authentifizierung beginnt mit Negotiate"]
Q1{"Ein<br/>Domänenkonto?"}
Q2{"Lässt sich aus dem Zielnamen<br/>ein SPN bilden?"}
Q3{"Ist dieser SPN<br/>registriert?"}
Q4{"Ist der KDC<br/>erreichbar?"}
KRB["Mit Kerberos authentifizieren"]
NTLM["Auf NTLM zurückfallen"]
START --> Q1
Q1 -->|"Nein<br/>(Arbeitsgruppe / lokales Konto)"| NTLM
Q1 -->|Ja| Q2
Q2 -->|"Nein<br/>(fest codierte IP-Adresse)"| NTLM
Q2 -->|Ja| Q3
Q3 -->|"Nein<br/>(SPN nicht registriert / Zugriff über Alias)"| NTLM
Q3 -->|Ja| Q4
Q4 -->|"Nein<br/>(Standort / VPN / Firewall)"| NTLM
Q4 -->|Ja| KRB
Abbildung 3: Die Verzweigungen, über die Negotiate auf NTLM zurückfällt
6.1. Sie verbinden sich per IP-Adresse
Das ist die häufigste Ursache. Microsoft schreibt ausdrücklich, dass Windows standardmäßig keine Kerberos-Authentifizierung gegen einen Host versucht, dessen Hostname eine IP-Adresse ist, und auf ein anderes gültiges Authentifizierungsprotokoll wie NTLM zurückfällt.11 Auch die Audit-Anleitung sagt von ihrer Seite dasselbe: Kerberos wird nicht verwendet, wenn der „Zielserver“ in Ereignis 8001 weder im NetBIOS- noch im FQDN-Format vorliegt.5
Und die Gründe dafür werden ebenfalls genannt: Anwendungen, die aufgrund einer Fehlkonfiguration oder der Herstellerdokumentation IP-Adressen statt DNS-Namen verwenden.5 In der Praxis sehen wir sehr häufig Einstellungen, die früher „weil die Namensauflösung instabil war“ auf eine IP-Adresse umgeschrieben und nie zurückgesetzt wurden.
Das ist allerdings das Standardverhalten, keine absolute Einschränkung. Ab Windows 10 Version 1507 und Windows Server 2016 gibt es einen Mechanismus, um IP-Adressen als SPN-Hostnamen zu verwenden. Setzen Sie den clientseitigen Registrierungswert TryIPSPN auf 1 und registrieren Sie manuell einen SPN für die IP-Adresse in der Form Setspn -s <Dienstklasse>/<IP-Adresse> <Konto>, funktioniert Kerberos auch gegen eine IP-Adresse. Registriert wird dabei die Dienstklasse, die der Client tatsächlich anfragt: Dinge, die auf HOST abgebildet werden, etwa Freigabeordner, sind mit host/192.168.1.1 abgedeckt, aber Web benötigt HTTP/192.168.1.1 und SQL Server einen anderen SPN einschließlich Port, etwa MSSQLSvc/192.168.1.1:1433. Die alleinige Registrierung von host/ passt nicht zum angefragten SPN, und Kerberos funktioniert nicht. Microsoft positioniert diese Funktion genau als Mittel, um die Auswirkung der Deaktivierung von NTLM zu verringern.11
Trotzdem ist es nicht die erste Wahl. Microsoft selbst sagt, dass IP-Adressen vergänglich sind und beim Ablaufen und Erneuern von Leases Konflikte und Authentifizierungsfehler verursachen können, weshalb sie normalerweise nicht anstelle von Hostnamen verwendet werden sollten, und dass die IP-adressbasierte SPN-Registrierung manuelle Arbeit ist, die nur zum Einsatz kommen sollte, wenn ein Wechsel auf einen DNS-basierten Hostnamen unmöglich ist.11 Denken Sie bei fest codierten IP-Adressen, die Sie bei einem Audit finden, zunächst daran, sie in FQDNs zu ändern. TryIPSPN ist der letzte Ausweg für Gegenstellen, bei denen das wirklich unmöglich ist.
6.2. Es ist kein SPN registriert
Das ist die zweithäufigste Ursache. Microsoft nennt Anwendungen, deren SPN nicht korrekt konfiguriert ist, als eine Kategorie von Anwendungen, die NTLM verwenden, obwohl sie Kerberos unterstützen.5
Wie wir beim TGS-Austausch in Abbildung 2 gesehen haben, sucht der KDC das Dienstkonto anhand des SPN und verschlüsselt das Ticket damit. Ohne SPN kann der KDC „den Schlüssel dieses Dienstes“ nicht identifizieren. Dasselbe passiert, wenn der Zugriff über einen DNS-Alias (CNAME) oder einen eigenen Hostnamen erfolgt und für diesen Namen kein SPN registriert ist. Die Anwendung funktioniert einwandfrei; nur der Name fehlt im Register.
6.3. Sie befinden sich von vornherein außerhalb von Active Directory
Rechner in einer Arbeitsgruppenkonfiguration und der Freigabezugriff mit lokalen Konten liegen von vornherein überhaupt nicht im Anwendungsbereich von Kerberos. Microsoft schreibt, dass NTLM für die Windows-Authentifizierung auf Systemen, die als Mitglieder einer Arbeitsgruppe konfiguriert sind, sowie für die lokale Anmeldeauthentifizierung auf Nicht-Domänencontrollern verwendet wird und verwendet werden muss.9
Deshalb lässt sich NTLM nicht einfach verbieten. Der für Phase 2 geplante lokale KDC ist genau die Funktion, die diese Lücke schließen soll.6 Gehen Sie aber davon aus, dass er diese Lücke nur zwischen unterstützenden Windows-Systemen schließt. Die Authentifizierung mit lokalen Konten, bei der die Gegenstelle ein älteres Windows oder ein Fremdherstellergerät wie ein NAS oder ein Multifunktionsgerät ist, wird nicht automatisch zu Kerberos, sobald der lokale KDC verfügbar ist. Diese Einordnung wird in den Abschnitten 5 und 6 des begleitenden praxisorientierten Artikels behandelt.
6.4. Sie erreichen den KDC nicht
Der Rückfall passiert auch aus Gründen der Wegeführung — eine Zweigstelle oder VPN-Verbindung, die keinen Domänencontroller erreicht, oder eine Firewall, die die von Kerberos benötigten Ports blockiert.6 Ohne Möglichkeit, mit dem KDC zu sprechen, lässt sich kein Ticket beschaffen, sodass Negotiate die verbleibende Option, NTLM, wählt.
6.5. Verwechseln Sie nicht „Kerberos ist fehlgeschlagen“ mit „es fiel auf NTLM zurück“
Trennen wir zum Schluss etwas ab, das verwirrend ähnlich, aber ziemlich verschieden ist. Die Abschnitte 6.1 bis 6.4 sind allesamt Fälle, in denen Kerberos nicht gestartet werden konnte. Weil es nicht gestartet werden konnte, wählt Negotiate NTLM.
Der Fall, in dem Kerberos gewählt wurde und dann fehlschlug, ist eine andere Geschichte. Das klassische Beispiel ist eine Zeitabweichung der Uhr. Lässt sich der SPN auflösen und ist der KDC erreichbar, wählt Negotiate zunächst Kerberos. Weicht die Uhr dann um mehr als die Toleranz (standardmäßig fünf Minuten) ab, besteht die Vorauthentifizierung nicht, und es schlägt als Kerberos-Fehler fehl.10 Dass das gewählte Protokoll fehlschlägt, bedeutet nicht, dass Negotiate automatisch auf NTLM umschaltet und es erneut versucht (außer wenn die Anwendung ausdrücklich mit einer anderen Methode erneut versucht).
Die praktische Bedeutung ist einfach. Eine durch Zeitabweichung verursachte Fehlfunktion finden Sie nicht, indem Sie nach Ereignis 8001 suchen. Auch die Symptome unterscheiden sich.
| Symptom | Was zu vermuten ist | Wo nachzusehen ist |
|---|---|---|
| Es funktioniert, aber die Authentifizierung erfolgt mit NTLM | Abschnitte 6.1–6.4 (Kerberos wurde nie gestartet) | Ereignis 8001 in NTLM/Operational |
| Die Authentifizierung selbst schlägt mit einem Fehler fehl | Zeitabweichung, doppelte SPN-Registrierung, nicht übereinstimmender Verschlüsselungstyp und Ähnliches | Kerberos-Ereignisse im Systemprotokoll, klist, w32tm /query /status |
Entscheiden Sie zuerst, ob „es auf NTLM zurückgefallen ist“ oder „Kerberos ist kaputt“, und untersuchen Sie dementsprechend.
7. Der Unterschied aus Angreifersicht — Relay und Pass-the-Hash
Microsoft schreibt in der Dokumentation zu den Richtlinieneinstellungen ausdrücklich, dass NTLM- und NTLMv2-Authentifizierung für verschiedene böswillige Angriffe anfällig ist, darunter SMB-Relay, Man-in-the-Middle-Angriffe und Brute-Force-Angriffe.7 Warum das so ist, lässt sich anhand von Abbildung 1 erklären.
7.1. Relay-Angriffe — Die Folge der fehlenden Zielbindung
sequenceDiagram
autonumber
participant V as PC des Opfers
participant A as Server des Angreifers
participant T as Echter Server
Note over V,A: Das Opfer wird auf den Server des Angreifers gelockt
V->>A: Startet die Authentifizierung (Benutzername)
A->>T: Startet die Authentifizierung als derselbe Benutzer
T-->>A: Challenge
A-->>V: Leitet diese Challenge unverändert weiter
Note over V: Kann nicht erkennen, ob sie<br/>vom echten Server stammt
V->>A: Antwort (berechnet mit dem aus dem Hash abgeleiteten Schlüssel)
A->>T: Leitet diese Antwort unverändert weiter
Note over T: Sofern weder Signierung<br/>noch Channel Binding verlangt wird
T-->>A: Authentifizierung erfolgreich → Sitzung als das Opfer aufgebaut
Abbildung 4: Wie ein NTLM-Relay gelingt (gegen eine Gegenstelle ohne Signierung oder Channel Binding)
Der Angreifer muss weder das Passwort noch den Hash kennen. Er gibt lediglich Challenge und Antwort von einer Seite zur anderen weiter. Das funktioniert, weil der Client nicht prüfen kann, ob die Antwort tatsächlich zur beabsichtigten Gegenstelle geht.
Allerdings gelingt die Weiterleitung nicht bei jeder Gegenstelle. Ob aus einem weitergeleiteten Austausch eine nutzbare Sitzung wird, hängt von den Schutzmaßnahmen des Ziels ab.
- Bei einer Gegenstelle, die SMB-Signierung verlangt, gelingt es nicht. Microsoft schreibt ausdrücklich, dass die jeder SMB-Nachricht beigefügte Signatur einen Hash der gesamten Nachricht enthält und die Identität von Absender und Empfänger bestätigt, wodurch Relay-Angriffe verhindert werden.12 Beachten Sie, dass Domänencontroller von sich verbindenden Clients standardmäßig SMB-Signierung verlangen.12
- Ebenso wenig gelingt es gegen einen Dienst, der Extended Protection for Authentication (Channel Binding) erzwingt. Weil die Authentifizierung an den zugrunde liegenden TLS-Kanal gebunden ist, dringt eine auf einen anderen Kanal weitergeleitete Authentifizierung nicht durch.
Was Abbildung 4 zeigt, ist also der Erfolgsweg unter der Bedingung einer Gegenstelle, die NTLM ohne Signierung und ohne Channel Binding akzeptiert. Umgekehrt bedeutet das: Es gibt etwas, das Sie schon jetzt in der Praxis tun können. Es lohnt sich, den Status der SMB-Signierungsanforderungen parallel zur NTLM-Bestandsaufnahme zu prüfen.
Bei Kerberos ist ein Relay dieser Art von vornherein nicht möglich. Ein Dienstticket ist mit dem Langzeitschlüssel des Zieldienstes verschlüsselt, sodass es nicht entschlüsselt werden kann, wenn es an einen anderen Dienst weitergegeben wird.3 Zusätzlich kann der Client durch gegenseitige Authentifizierung bestätigen, ob die Gegenstelle echt ist.4
Microsofts Grund für die NTLM-Blockierung auf SMB-Client-Seite ist genau das: Der angegebene Zweck ist, Techniken zu verhindern, die NTLM-Anfragen an böswillige Server senden lassen.13 Zur SMB-Signierung empfiehlt Microsoft außerdem, Kerberos statt NTLMv2 zu verwenden, damit der Sitzungsschlüssel von Anfang an stark ist, und sich nicht per IP-Adresse oder CNAME-Eintrag mit Freigaben zu verbinden (weil das dazu führt, dass NTLM statt Kerberos verwendet wird).12 Das ist dieselbe Geschichte wie in den Abschnitten 6.1 und 6.2.
7.2. Pass-the-Hash — Der Hash ist dem Passwort gleichwertig
flowchart LR
P["Passwort"] -->|"Einweg-Hash"| H["Passwort-Hash"]
H -->|"Antwortschlüssel ableiten<br/>und HMAC berechnen"| R["Antwort"]
R --> AUTH["Authentifizierung erfolgreich"]
STEAL["Hash von einem<br/>Rechner stehlen"] --> H
NOTE["Das Klartextpasswort<br/>wird nicht benötigt"] -.-> STEAL
Abbildung 5: Für die Authentifizierung wird der Hash benötigt, nicht das Klartextpasswort
NTLM-Anmeldeinformationen sind ein Einweg-Hash des Passworts.1 Bei NTLMv2 wird dieses MD4(UNICODE(Passwort)) als Schlüssel verwendet, um den Antwortschlüssel abzuleiten, und dieser Schlüssel wird dann verwendet, um einen HMAC zu berechnen und die Antwort zu bilden.2 Die Form der Berechnung hat sich geändert, aber der Ausgangspunkt bleibt der Hash. Das heißt: Für die Authentifizierung wird der Hash benötigt, nicht das Klartextpasswort.
Das hat ernste betriebliche Auswirkungen. Längere und komplexere Passwörter schließen den Weg nicht, über den der Hash gestohlen wird. Microsoft nennt Pass-the-Hash neben Brute-Force und Cracking als Angriff, dem die SMB-NTLM-Blockierung entgegenwirkt.13
Auch Kerberos besitzt Langzeitschlüssel, aber was bei der alltäglichen Authentifizierung umherfliegt, sind zeitlich begrenzte Tickets und Sitzungsschlüssel.3 Der Schaden, der bei ihrem Diebstahl entsteht, ist ein anderer.
8. NTLMv1, NTLMv2 und „Entfernung“
NTLM ist kein einzelnes Protokoll, sondern eine Familie von Authentifizierungsprotokollen, zu der LAN Manager Version 1 und 2 sowie NTLM Version 1 und 2 gehören.9
Ihr aktueller Status gliedert sich wie folgt.
| Version | Status | Bedeutung |
|---|---|---|
| LANMAN / NTLMv1 / NTLMv2 | Alle deprecated (Juni 2024)8 | Nicht mehr aktiv weiterentwickelt. Funktioniert aber in der nächsten Windows-Server-Version und im nächsten jährlichen Windows-Release weiterhin |
| NTLMv1 | Entfernt (Windows 11 24H2 / Windows Server 2025)8 | Kann auf diesen Versionen nicht verwendet werden |
Es gilt also nicht „wir sind auf NTLMv2, also können wir es vorerst lassen“. Die Priorität ist jedoch klar: Geräte und Hosts, die nur NTLMv1 sprechen, kommen zuerst. Hosts, bei denen ein Audit NTLM V1 protokolliert, schlagen bei der Authentifizierung fehl, wenn Sie sie unverändert auf ein neueres Windows heben. Wie Sie die Versionen unterscheiden (durch Betrachten von „Paketname (nur NTLM)“ im Sicherheitsprotokoll), ist in Abschnitt 4.4 des begleitenden praxisorientierten Artikels beschrieben.5
Beachten Sie, dass die Audit- und Blockierungsrichtlinien zur Einschränkung von NTLM auf NTLMv1 und NTLMv2 gleichermaßen wirken.5 Das Verhalten unterscheidet sich beim Anwenden von Einschränkungen nicht nach Version.
9. Wie es weitergeht
Microsoft hat drei Richtungen aufgezeigt.
Erstens: Verwenden Sie auf Anwendungsseite Negotiate. Die Anweisung, Aufrufe von NTLM durch Aufrufe von Negotiate zu ersetzen, ist Teil der Abschaffungsankündigung selbst.8 Es wird außerdem ausdrücklich festgehalten, dass Anwendungen nicht direkt auf das NTLM-Sicherheitspaket zugreifen sollten.1
Zweitens: Reduzieren Sie von vornherein die Situationen, die NTLM erfordern. IAKerb und der lokale KDC, geplant für Phase 2 (zweite Jahreshälfte 2026), sind genau das.6 Sie sind ein Versuch, auf Protokollebene die beiden in Abschnitt 6.3 gesehenen Lücken zu schließen — „Kerberos ist nicht verfügbar, weil es ein lokales Konto ist“ und „Kerberos ist nicht verfügbar, weil der Domänencontroller unerreichbar ist“. Es gibt jedoch eine Grenze, wie viel davon geschlossen wird. Was IAKerb löst, ist die Erreichbarkeit eines Domänencontrollers, nicht ob die Gegenstelle irgendetwas unterstützt. Der lokale KDC funktioniert ebenfalls nur zwischen unterstützenden Windows-Systemen. Ist die Gegenstelle ein NAS oder Multifunktionsgerät eines Fremdherstellers, ändert das Warten auf Phase 2 nichts, sodass Sie selbst zwischen Geräteerneuerung, Domänenbeitritt, Wechsel auf ein anderes Protokoll oder dem Verwalten einer Ausnahme wählen müssen.
Drittens: Ändern Sie die Standardeinstellungen. In Phase 3 ist geplant, die Netzwerk-NTLM-Authentifizierung im nächsten Major-Release standardmäßig zu deaktivieren.6 Es wird jedoch auch festgehalten, dass sie sich per Richtlinie wieder aktivieren lässt.
Diese Reihenfolge hat einen Grund. Weil es „erst die Gründe für die Verwendung beseitigen, dann die Standardeinstellung ändern“ ist, spart es überflüssige Arbeit, Ihre verbleibenden NTLM-Abhängigkeiten in solche zu sortieren, die Phase 2 voraussichtlich löst (Authentifizierung mit lokalen Konten zwischen unterstützenden Windows-Systemen, DC-Erreichbarkeit), und solche, die Sie selbst beheben müssen (fest codierte IP-Adressen, nicht registrierte SPNs sowie Authentifizierung mit lokalen Konten, bei der die Gegenstelle ein älteres Windows oder ein Fremdherstellergerät ist). Stufen Sie letztere Gruppe als „warten auf Phase 2“ ein, taucht das als Ausfall auf, sobald die standardmäßige Deaktivierung kommt. Das konkrete Vorgehen zur Sortierung ist im begleitenden praxisorientierten Artikel dargelegt.
10. Zusammenfassung
- NTLM ist ein Protokoll, das über Challenge/Response beweist, „dass Sie den Passwort-Hash besitzen“. Die Entscheidung wird bei Domänenkonten an einen Domänencontroller delegiert und bei lokalen Konten vom Server selbst anhand seiner eigenen SAM getroffen.19
- Kerberos beweist, „wer sich gegenüber welchem Dienst“ authentifiziert. Ein Dienstticket ist mit dem Langzeitschlüssel des Zieldienstes verschlüsselt und kann daher nicht gegen ein anderes Ziel wiederverwendet werden.3
- Die entscheidenden Unterschiede sind die gegenseitige Authentifizierung, die DC-Abfrage bei jeder Authentifizierung und ob Delegation möglich ist.4
- Der Rückfall auf NTLM bedeutet fast immer, dass Kerberos nicht gestartet werden konnte. Die vier Hauptursachen sind fest codierte IP-Adressen, nicht registrierte SPNs, das Fehlen von Active Directory sowie eine nicht erreichbare KDC.5611
- Dagegen zeigen sich Probleme, bei denen Kerberos gewählt wurde und dann fehlschlug — etwa eine Zeitabweichung — als Authentifizierungsfehler, nicht als Rückfall auf NTLM. Die Suche nach Ereignis 8001 findet sie nicht.10
- Relay-Angriffe funktionieren, weil eine NTLM-Antwort das Ziel nicht bindet. Pass-the-Hash funktioniert, weil für die Authentifizierung der Hash selbst benötigt wird.7113
- NTLMv1 wurde bereits entfernt (Windows 11 24H2 / Windows Server 2025), und alle Versionen einschließlich NTLMv2 sind deprecated.8
- Was Anwendungen schreiben sollten, ist Negotiate. Darüber hinaus sind die Vereinheitlichung von Zielnamen auf FQDNs und die Registrierung von SPNs der praktische Inhalt, um Kerberos funktionsfähig zu machen.15
Verwandte Artikel
- Bringt die NTLM-Abschaffung Ihre Fachanwendungen zum Stillstand? — Wie Sie Audit-Protokolle erfassen und in welcher Reihenfolge Sie Abhängigkeiten beseitigen
- Fallstricke bei Netzlaufwerken und UNC-Pfaden — Der Umgang mit Dateiservern (Freigabeordnern) aus einer Fachanwendung heraus
- Anleitung zur Windows-Zeitsynchronisierung (w32time)
- Ereignisprotokolle praxisnah mit Get-WinEvent untersuchen
- Anmeldeinformationen in PowerShell sicher handhaben — Klartextpasswörter aus Ihren Skripten verbannen
- Was ist das TPM in Windows? — Eine bebilderte Anleitung zum „Tresor, der Schlüssel niemals herausgibt“, und zum Measured Boot
- Die 10 größten Bedrohungen der Informationssicherheit 2026 — Wie man das Ranking liest und was KMU wirklich absichern sollten
Verwandte Beratungsleistungen
Die KomuraSoft LLC übernimmt die Anpassung von Windows-Fachanwendungen im Zuge einer Überarbeitung der Authentifizierungsmethode sowie die Ursachenuntersuchung von Authentifizierungsproblemen rund um Kerberos und NTLM.
- Windows-Anwendungsentwicklung
- Fehleruntersuchung und Ursachenanalyse
- Weiternutzung und Migration von Altbeständen
- Kontakt
Referenzlinks
-
Microsoft Learn, Microsoft NTLM. Dazu, dass NTLM ein Authentifizierungsprotokoll namens Windows Challenge/Response ist und ein Sicherheitspaket, das Anwendungen Authentifizierung, Integrität und Vertraulichkeit bietet; dazu, dass NTLM-Anmeldeinformationen aus einem bei der interaktiven Anmeldung erhaltenen Einweg-Hash von Domänenname, Benutzername und Passwort bestehen; dazu, dass die Authentifizierung erfolgt, ohne das Passwort über die Leitung zu senden, mittels eines verschlüsselten Challenge/Response-Verfahrens, wobei die Partei, die die Authentifizierung anfordert, eine Berechnung durchführt, die beweist, dass sie auf die sicher gespeicherten NTLM-Anmeldeinformationen zugreifen kann; dazu, dass an der nicht-interaktiven Authentifizierung drei Parteien beteiligt sind — Client, Server und Domänencontroller; zu den konkreten Schritten (der Client berechnet den Passwort-Hash und verwirft das Klartextpasswort, sendet den Benutzernamen im Klartext, der Server erzeugt und sendet eine 8-Byte-Zufallszahl als Challenge, der Client verschlüsselt die Challenge mit dem Hash und sendet die Antwort zurück, der Server sendet Benutzername, Challenge und Antwort an einen Domänencontroller, und der Domänencontroller führt dieselbe Berechnung mit dem Hash aus der SAM-Datenbank durch und vergleicht); sowie dazu, dass Anwendungen nicht direkt auf das NTLM-Sicherheitspaket zugreifen, sondern das Negotiate-Sicherheitspaket verwenden sollten, das zwischen Kerberos und NTLM wählt und Kerberos wählt, sofern nicht eines der an der Authentifizierung beteiligten Systeme Kerberos nicht nutzen kann. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13
-
Microsoft Learn, [MS-NLMP]: NTLM v2 Authentication. Dazu, dass die NTLM-Authentifizierungsversion nicht durch das Protokoll ausgehandelt wird, sondern vor der Authentifizierung sowohl auf Client als auch auf Server konfiguriert werden muss; dazu, dass der NTLM-v2-Antwortschlüssel definiert ist als
NTOWFv2(Passwd, User, UserDom) = HMAC_MD5( MD4(UNICODE(Passwd)), UNICODE(User in Großbuchstaben + UserDom) ); dazu, dass der Client eine 8-Byte-Challenge erzeugt; dazu, dasstempeine Verkettung der Antwortversion, eines 8-Byte-GMT-Zeitstempels, der Client-Challenge und ServerName ist (die im NTLMv2_CLIENT_CHALLENGE der AUTHENTICATE_MESSAGE enthaltene AvPairs-Struktur); dazu, dassNTProofStr = HMAC_MD5( ResponseKeyNT, Server-Challenge + temp )undNtChallengeResponsedie Verkettung vonNTProofStrundtempist; dazu, dassSessionBaseKey = HMAC_MD5(ResponseKeyNT, NTProofStr); sowie zur Prüfungsseite — bei einem in Active Directory gehosteten Konto wird das Challenge/Response-Paar zur Prüfung an einen Domänencontroller gesendet, wobei der DC den erwarteten Wert mit NTOWF v2 / LMOWF v2 berechnet und vergleicht, und der Server STATUS_NOT_SUPPORTED zurückgibt, wenn der DC STATUS_NTLM_BLOCKED liefert, während bei einem lokal auf dem Server gehosteten Konto der Server den erwarteten Wert anhand des lokal gespeicherten OWF berechnet und vergleicht. ↩ ↩2 ↩3 ↩4 ↩5 -
Microsoft Learn, How the Kerberos Version 5 Authentication Protocol Works. Zum AS-Austausch, bei dem der Client dem KDC seinen Benutzerprinzipalnamen, den Domänennamen des Kontos und mit dem Langzeitschlüssel des Benutzers (abgeleitet aus dem Passwort) verschlüsselte Vorauthentifizierungsdaten (einschließlich eines Zeitstempels) sendet, und der KDC mit diesem Langzeitschlüssel entschlüsselt und prüft, bevor er ein mit dem eigenen Langzeitschlüssel des KDC (dem Schlüssel des krbtgt-Kontos) verschlüsseltes TGT sowie einen mit dem Langzeitschlüssel des Benutzers verschlüsselten Sitzungsschlüssel zurückgibt, wobei das TGT den Sitzungsschlüssel, Autorisierungsdaten (Benutzer-SID und Gruppen-SIDs) sowie Gültigkeitsdauer und Flags enthält. Zum TGS-Austausch, bei dem der Client dem KDC den Namen des Zielservers (SPN), das TGT und einen mit dem Sitzungsschlüssel verschlüsselten Authenticator (mit Zeitstempel und Prüfsumme) sendet, und der KDC das TGT mit seinem eigenen Langzeitschlüssel entschlüsselt, um den Sitzungsschlüssel zu extrahieren, prüft, dass der Zeitstempel des Authenticators innerhalb des richtlinienseitig definierten Bereichs liegt, und ein mit dem Langzeitschlüssel des Zieldienstes verschlüsseltes Dienstticket sowie einen neuen, mit dem TGS-Sitzungsschlüssel verschlüsselten Sitzungsschlüssel zurückgibt. Zum Client/Server-Austausch (AP), bei dem der Client dem Dienst das Dienstticket und einen Authenticator vorlegt, und der Dienst das Ticket mit seinem eigenen Langzeitschlüssel entschlüsselt, um Sitzungsschlüssel und Autorisierungsdaten zu extrahieren, und bei angeforderter gegenseitiger Authentifizierung den mit dem Sitzungsschlüssel verschlüsselten Zeitstempel des Clients zurückgibt, um die eigene Identität zu beweisen. Sowie zum Unterschied zwischen Langzeitschlüsseln und Sitzungsschlüsseln (Langzeitschlüssel werden von Passwörtern oder Dienstkonten abgeleitet und bleiben über Sitzungen hinweg bestehen, während Sitzungsschlüssel kurzlebig sind und mit dem Ablauf des Tickets vernichtet werden). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12
-
Microsoft Learn, Kerberos authentication overview in Windows Server. Dazu, dass Windows Server das Kerberos-Version-5-Authentifizierungsprotokoll zusammen mit Erweiterungen für Public-Key-Authentifizierung, Übertragung von Autorisierungsdaten und Delegation implementiert; dazu, dass der Kerberos-Client als SSP (Security Support Provider) implementiert ist, auf den über SSPI zugegriffen wird; dazu, dass der KDC in die anderen Sicherheitsdienste eines Domänencontrollers integriert ist und die Datenbank der Active Directory Domain Services als Sicherheitskontendatenbank verwendet; dazu, dass Kerberos Delegation durch Dienste unterstützt (ein Front-End-Dienst verbindet sich mit der Identität des Clients mit Back-End-Diensten auf anderen Computern), während das, was NTLM und Kerberos liefern, die Autorisierungsinformationen sind, die ein Dienst benötigt, um lokal die Identität eines Clients anzunehmen; dazu, dass Vor-Kerberos-NTLM-Authentifizierung erforderte, dass ein Anwendungsserver bei jeder Authentifizierung eines Clients oder Dienstes eine Verbindung zu einem Domänencontroller herstellte, während bei Kerberos erneuerbare Sitzungstickets diese Pass-Through-Authentifizierung ersetzen und der Server einen Domänencontroller nur kontaktieren muss, wenn eine PAC-Prüfung erforderlich ist; sowie zur gegenseitigen Authentifizierung dazu, dass Kerberos es beiden Enden einer Netzwerkverbindung erlaubt, zu überprüfen, dass die Gegenstelle ist, wer sie vorgibt zu sein, während NTLM weder dem Client erlaubt, die Identität eines Servers zu überprüfen, noch einem Server, die Identität eines anderen zu überprüfen, da es für Netzwerkumgebungen entworfen wurde, in denen davon ausgegangen werden kann, dass Server echt sind — eine Annahme, die Kerberos nicht trifft. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12
-
Microsoft Learn, Viewing events for assessing NTLM usage. Dazu, dass sich bestimmen lässt, ob die NTLM-Audit-Informationen im Ereignisprotokoll NTLM v1 oder v2 betreffen, indem man im Sicherheitsprotokoll die Anmeldeereignisse nach „Authentifizierungspaket“ durchsucht und unter „Detaillierte Authentifizierungsinformationen“ den „Paketname (nur NTLM)“ betrachtet; dazu, dass die Audit- und Blockierungsrichtlinien zur Einschränkung von NTLM auf beide NTLM-Versionen gleich wirken; zu den vier Kategorien von Anwendungen, die NTLM verwenden, obwohl sie theoretisch Kerberos unterstützen (Anwendungen, bei denen zwischen verschiedenen Sicherheitskonfigurationen und Providern gewählt werden kann, Anwendungen, deren SPN nicht korrekt konfiguriert ist, Anwendungen, die aufgrund einer Fehlkonfiguration oder Herstellerdokumentation IP-Adressen statt DNS-Namen verwenden, und Anwendungen mit reinen NTLM-Anteilen in einer Legacy-Codebasis); zum Untersuchungsverfahren von Ereignis 8004 auf dem Domänencontroller über Ereignis 8003 auf dem Mitgliedsserver bis zu Ereignis 8001 auf dem Client, sowie zu den Feldern jedes Ereignisses; dazu, dass Kerberos nicht verwendet wird, wenn der „Zielserver“ in Ereignis 8001 weder im NetBIOS- noch im FQDN-Format vorliegt; sowie dazu, dass die PID bei Verkehr über SMB immer 4 (SYSTEM) ist, sodass Process Monitor benötigt wird, um den aufrufenden Prozess zu identifizieren. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Microsoft Japan Windows Technology Support Blog, NTLM の廃止に向けた対応について. Dazu, dass die Abschaffung von NTLM in drei Phasen verläuft (Phase 1 = Nutzung sichtbar machen und auditieren; Phase 2 = Funktionen für NTLM-abhängige Szenarien, geplant für die zweite Jahreshälfte 2026; Phase 3 = standardmäßige Deaktivierung der Netzwerk-NTLM-Authentifizierung im nächsten Major-Release); dazu, dass Phase 2 IAKERB (ein Protokoll mit Proxy-Funktionalität) und den lokalen KDC (eine Funktion zur Unterstützung lokaler Authentifizierung) bringen soll; dazu, dass Anwendungen Negotiate verwenden müssen; sowie zu den typischen Ursachen der NTLM-Nutzung: Serverzugriff per IP-Adresse, Firewall-Einschränkungen bei den von Kerberos benötigten Ports, nicht registrierte SPNs, Authentifizierung gegenüber vertrauenswürdigen Partnern und Authentifizierung in Arbeitsgruppenumgebungen. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Learn, Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers. Zu den vier Werten Alle zulassen, Alle überwachen, Alle verweigern und Nicht definiert; zum empfohlenen Vorgehen, zunächst „Alle überwachen“ zu wählen, das Betriebsprotokoll zu prüfen und erst danach eine Ausnahmeliste zu erstellen; dazu, dass Audit- und Blockierungsereignisse unter „Anwendungs- und Dienstprotokolle\Microsoft\Windows\NTLM“ erfasst werden; sowie dazu, dass NTLM- und NTLMv2-Authentifizierung für verschiedene böswillige Angriffe einschließlich SMB-Relay, Man-in-the-Middle und Brute-Force anfällig ist, sodass eine Reduzierung und Beseitigung der NTLM-Authentifizierung in der Umgebung dazu führt, dass Windows sicherere Protokolle wie Kerberos Version 5 oder andere Authentifizierungsmechanismen wie Smartcards verwendet — wobei diese Angriffe nur dort möglich sind, wo Server oder Domänencontroller NTLM-Anfragen verarbeiten. ↩ ↩2 ↩3
-
Microsoft Learn, Deprecated features in the Windows client. Dazu, dass alle Versionen von NTLM, einschließlich LANMAN, NTLMv1 und NTLMv2, nicht mehr aktiv weiterentwickelt werden und deprecated sind (angekündigt im Juni 2024); dazu, dass die Verwendung von NTLM in der nächsten Windows-Server-Version und im nächsten jährlichen Windows-Release weiterhin funktioniert; dazu, dass Aufrufe von NTLM durch Aufrufe von Negotiate ersetzt werden sollten, das eine Authentifizierung mit Kerberos versucht und nur bei Bedarf auf NTLM zurückfällt; sowie zur Aktualisierung vom November 2024, wonach NTLMv1 aus Windows 11 Version 24H2 und Windows Server 2025 entfernt wurde. Ebenso zur Unterscheidung zwischen deprecated und removed — Funktionen auf dieser Liste werden nicht mehr aktiv entwickelt und können in einem künftigen Update entfernt werden. ↩ ↩2 ↩3 ↩4 ↩5
-
Microsoft Learn, NTLM overview in Windows Server. Dazu, dass NTLM-Authentifizierung eine in Msv1_0.dll enthaltene Familie von Authentifizierungsprotokollen ist, einschließlich LAN Manager Version 1 und 2 sowie NTLM Version 1 und 2; dazu, dass es sich um eine Methode handelt, einem Server oder Domänencontroller über einen Challenge/Response-Mechanismus zu beweisen, dass man das Passwort eines Kontos kennt; dazu, dass ein Ressourcenserver bei jedem Bedarf an einem neuen Zugriffstoken bei einem Domänenkonto den Authentifizierungsdienst eines Domänencontrollers der Domäne dieses Kontos abfragen oder bei einem lokalen Konto seine lokale Kontendatenbank konsultieren muss; dazu, dass NTLM für die Windows-Authentifizierung auf Systemen, die als Mitglieder einer Arbeitsgruppe konfiguriert sind, sowie für die lokale Anmeldeauthentifizierung auf Nicht-Domänencontrollern weiterhin verwendet wird und verwendet werden muss; dazu, dass Kerberos Version 5 die bevorzugte Authentifizierungsmethode in Active-Directory-Umgebungen ist, während Microsoft- und Nicht-Microsoft-Anwendungen weiterhin NTLM verwenden können; sowie dazu, dass eine Reduzierung der NTLM-Nutzung sowohl ein Verständnis der Anforderungen bereitgestellter Anwendungen als auch eine Konfiguration zur Nutzung anderer Protokolle erfordert. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Microsoft Learn, Registry entries about Kerberos protocol and Key Distribution Center (KDC) configuration. Zu den Einstellungen unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters. Insbesondere dazu, dassSkewTimestandardmäßig fünf Minuten beträgt, als die maximal tolerierte Zeitdifferenz zwischen einem Client-Computer und den Servern oder dem KDC, die die Kerberos-Authentifizierung akzeptieren, wobei dieser Wert auch verwendet wird, um zu entscheiden, ob ein Ticket wiederverwendet werden kann; sowie dazu, dass der Ablauf des SPN-Caches (SpnCacheTimeout, standardmäßig 15 Minuten) auf Clients und Mitgliedsservern verwendet wird, um negative Cache-Einträge für „SPN nicht gefunden“ zu bereinigen, wobei der SPN-Cache auf Domänencontrollern deaktiviert ist. ↩ ↩2 ↩3 ↩4 -
Microsoft Learn, Configuring Kerberos for IP Address. Dazu, dass sich der Kerberos-Client ab Windows 10 Version 1507 und Windows Server 2016 so konfigurieren lässt, dass er IPv4/IPv6-Hostnamen in SPNs unterstützt; dazu, dass Windows standardmäßig keine Kerberos-Authentifizierung gegen einen Host versucht, dessen Hostname eine IP-Adresse ist, und auf ein anderes gültiges Authentifizierungsprotokoll wie NTLM zurückfällt; dazu, dass Anwendungen mit fest codierten IP-Adressen deshalb auf NTLM zurückfallen und in Umgebungen, die NTLM deaktivieren, Kompatibilitätsprobleme verursachen können; dazu, dass die Funktion, IP-Adressen als SPN-Hostnamen zu verwenden, eingeführt wurde, um diese Auswirkung zu verringern, aktiviert durch Setzen des clientseitigen Registrierungswerts
TryIPSPN(REG_DWORD, standardmäßig nicht vorhanden) unterHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parametersauf 1, wobei die Einstellung auf jedem Client benötigt wird, der per IP-Adresse auf Kerberos-geschützte Ressourcen zugreifen muss; zum SPN-FormatDienst/Hostname[:Port]; sowie dazu, dass IP-Adressen vergänglich sind und beim Ablaufen und Erneuern von Leases Konflikte und Authentifizierungsfehler verursachen können, weshalb sie normalerweise nicht anstelle von Hostnamen verwendet werden sollten, wobei die IP-adressbasierte SPN-Registrierung manuelle Arbeit ist, die nur zum Einsatz kommen sollte, wenn ein Wechsel auf einen DNS-basierten Hostnamen unmöglich ist, registriert mitSetspn -s <Dienst>/<IP-Adresse> <Domänen-Benutzerkonto>— und da ein SPN in Active Directory jeweils nur an einem Konto registriert werden kann, wird bei Verwendung von DHCP eine statische Reservierung der IP-Adresse empfohlen. ↩ ↩2 ↩3 ↩4 -
Microsoft Learn, Overview of Server Message Block signing in Windows. Dazu, dass die SMB-Signierung jeder SMB-Nachricht eine mit dem Sitzungsschlüssel und AES erzeugte Signatur beifügt, wobei die Signatur neben einem Hash der gesamten Nachricht auch die Identitäten des ursprünglichen Absenders und des vorgesehenen Empfängers enthält; dazu, dass jede Manipulation während der Übertragung nicht mit der Signatur übereinstimmt und so vor Relay- und Identitätswechsel-Angriffen schützt; dazu, dass die Sicherheit der SMB-2/3-Signierung und -Verschlüsselung vom Sitzungsschlüssel abhängt und die Signatur die Identitäten von Absender und Empfänger bestätigt, um Relay-Angriffe zu verhindern; dazu, dass der Sitzungsschlüssel vom Passwort abgeleitet wird, weshalb lange, komplexe, nicht im Wörterbuch stehende Passwörter vorzuziehen sind; dazu, dass Kerberos gegenüber NTLMv2 empfohlen wird, damit der Sitzungsschlüssel von Anfang an stark ist; dazu, eine Verbindung zu Freigaben per IP-Adresse oder CNAME-Eintrag zu vermeiden, da dies dazu führt, dass NTLM statt Kerberos verwendet wird; dazu, dass Domänencontroller standardmäßig von Clients, die sich mit SYSVOL und NETLOGON verbinden, SMB-Signierung verlangen, wobei clientseitiges UNC Hardening für diese beiden Freigaben zusätzlich Kerberos verlangt; dazu, dass Signierung auch als Teil der Pre-Authentication Integrity verwendet wird, um Downgrade-Angriffe zu verhindern; zu den Richtlinienorten und dem Registrierungswert (
RequireSecuritySignature); sowie zum ab Windows 11 Version 24H2 verfügbaren Auditing, um Gegenstellen zu erkennen, die Signierung oder Verschlüsselung nicht unterstützen (Set-SmbClientConfiguration -AuditServerDoesNotSupportSigningund Ähnliches, SMBClient/Audit 31998 und 31999, SMBServer/Audit 3021 und 3022). ↩ ↩2 ↩3 -
Microsoft Learn, Block NTLM connections on SMB in Windows Server 2025. Dazu, dass der SMB-Client NTLM-Authentifizierung bei ausgehenden Remoteverbindungen blockieren kann; dazu, dass dies Techniken verhindert, die NTLM-Anfragen an böswillige Server senden lassen, und Brute-Force-, Cracking- und Pass-the-Hash-Angriffen entgegenwirkt; dazu, dass Kerberos sicherer als NTLM ist, weil sein ticketbasierter Ansatz die Überprüfung der Identität eines Servers erlaubt, und dass NTLM-Blockierung für die Umstellung des Authentifizierungsprotokolls einer Organisation auf Kerberos notwendig ist, während sich diese Schutzschicht auch aktivieren lässt, ohne NTLM vollständig zu deaktivieren; zu den Voraussetzungen eines SMB-Clients unter Windows Server 2025 oder neuer beziehungsweise Windows 11 Version 24H2 oder neuer sowie eines SMB-Servers, der Kerberos verwenden kann; sowie dazu, dass dies eine Funktion des SMB-Clients ist. ↩ ↩2 ↩3
Verwandte Artikel
Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.
Bringt die NTLM-Abschaffung Ihre Fachanwendungen zum Stillstand? — Wie Sie Audit-Protokolle erfassen und in welcher Reihenfolge Sie Abhängigkeiten beseitigen
Eine praxisnahe Anleitung, um vor der Abschaffung von NTLM herauszufinden, wo Ihre Windows-Umgebung und Ihre Fachanwendungen von NTLM abh...
Entra-ID-Authentifizierung in WinForms/WPF-Apps integrieren — Eine praxistaugliche Architektur mit MSAL.NET und dem WAM-Broker
Ein praxisnaher Blick auf die Integration der Entra-ID-Authentifizierung (früher Azure AD) in WinForms/WPF-Desktop-Apps: das Public-Clien...
Was ist das TPM in Windows? — Eine bebilderte Einführung in den „Tresor, der Schlüssel nie herausgibt“ und das gemessene Starten
Eine bebilderte Erklärung des TPM: wie Schlüssel den Chip nie verlassen, PCRs und Measured Boot, wie BitLocker und Windows Hello es nutze...
PowerShell absichern — Protokollierung, AMSI, Sprachmodi und JEA
Ein praxisorientierter Leitfaden, um PowerShell sicher zu nutzen, statt es zu verbieten. Behandelt das Aktivieren von Script Block Loggin...
Einstieg in Microsoft Graph PowerShell — Microsoft 365 betreiben nach der Abschaltung von AzureAD und MSOnline
Ein praktischer Leitfaden für die Migration des Microsoft-365-Betriebs zu Microsoft Graph PowerShell, nachdem die Module AzureAD und MSOn...
Verwandte Themen
Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.
Technische Windows-Themen
Portal zu Windows-Entwicklung, Fehleranalyse und der Nutzung bestehender Assets.
Leistungen zu diesem Thema
Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.
Windows-App-Entwicklung
Geschäftsanwendungen, Geräteintegration und Kommunikationstools von den Anforderungen bis zur Umsetzung.
Häufige Fragen
Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.
- Was ist der tatsächliche Unterschied zwischen NTLM und Kerberos?
- Der größte Unterschied ist, ob Sie überprüfen können, mit wem Sie es zu tun haben. Microsoft schreibt ausdrücklich, dass bei NTLM weder der Client die Identität eines Servers überprüfen kann, noch ein Server die Identität eines anderen Servers. NTLM wurde für Umgebungen entworfen, in denen davon ausgegangen werden kann, dass Server echt sind; Kerberos trifft diese Annahme nicht. Der zweite Unterschied betrifft, ob der Server einen Domänencontroller befragen muss. Bei NTLM verbindet sich der Anwendungsserver bei der Authentifizierung eines Domänenkontos bei jeder Anmeldung mit einem Domänencontroller (bei einem lokal auf dem Server liegenden Konto prüft der Server anhand seiner eigenen Kontendatenbank selbst, ohne dass überhaupt ein Domänencontroller auftaucht). Bei Kerberos ersetzen erneuerbare Sitzungstickets diese Pass-Through-Authentifizierung, sodass der Server nur dann einen Domänencontroller kontaktiert, wenn eine PAC-Prüfung erforderlich ist. Der dritte Unterschied ist, dass Kerberos Delegation durch Dienste unterstützt — einen Mechanismus, um im Namen des Clients eine Verbindung zu einem anderen Dienst herzustellen.
- Warum landen wir bei NTLM, obwohl die Anwendung angeblich Kerberos unterstützt?
- Kerberos stellt Tickets aus, die an „den Namen des Ziels“ gebunden sind, und kann daher nicht funktionieren, wenn sich der Name nicht auflösen lässt. Der Client legt dem KDC den SPN (Service Principal Name) des Ziels vor, um ein Dienstticket anzufordern, aber Windows versucht standardmäßig keine Kerberos-Authentifizierung, wenn der Hostname eine IP-Adresse ist, und ist am Dienstkonto kein SPN registriert, kann der KDC kein Ticket ausstellen. Auch Microsofts Audit-Anleitung sagt, dass Kerberos nicht verwendet wird, wenn der „Zielserver“ in Ereignis 8001 weder im NetBIOS- noch im FQDN-Format vorliegt. (Bei IP-Adressen können Sie Kerberos ausnahmsweise funktionsfähig machen, indem Sie auf dem Client TryIPSPN setzen und für die IP-Adresse manuell einen SPN registrieren, aber das wird als letzter Ausweg für Fälle beschrieben, in denen ein DNS-Name unmöglich ist.) Weitere Bedingungen, unter denen Kerberos nicht funktionieren kann, sind die Authentifizierung auf Arbeitsgruppenrechnern oder mit lokalen Konten (die vollständig außerhalb von Active Directory liegen), Standorte ohne Erreichbarkeit eines Domänencontrollers sowie die Authentifizierung gegenüber einer Gegenstelle ohne Vertrauensstellung. Negotiate wählt NTLM, wenn Kerberos nicht verfügbar ist – genau das ist mit „Rückfall“ in diesen Fällen gemeint.
- Bedeutet ein NTLM-Relay-Angriff, dass man jemanden imitieren kann, ohne dessen Passwort zu knacken?
- Genau das. Der Angreifer lockt das Opfer auf einen eigenen Server und leitet den dort ankommenden NTLM-Authentifizierungsaustausch unverändert an den echten Server weiter, wobei er sich als das Opfer ausgibt. Das funktioniert, weil das Challenge/Response-Verfahren von NTLM keinen Mechanismus besitzt, der bindet, „mit wem Sie sich authentifizieren“. Der Client berechnet einfach eine Antwort aus der vom Server ausgegebenen Challenge und sendet sie zurück, ohne prüfen zu können, ob diese Antwort tatsächlich für den echten Server bestimmt ist oder von einem Angreifer weitergeleitet wird. Microsoft schreibt selbst in der Dokumentation zu den Richtlinieneinstellungen, dass NTLM- und NTLMv2-Authentifizierung für verschiedene böswillige Angriffe anfällig ist, darunter SMB-Relay, Man-in-the-Middle-Angriffe und Brute-Force-Angriffe. Allerdings gelingt die Weiterleitung nicht bei jeder Gegenstelle. Verlangt das Ziel SMB-Signierung, bestätigt die Signatur die Identität von Absender und Empfänger, sodass die Weiterleitung fehlschlägt; dasselbe gilt für Dienste, die Extended Protection for Authentication (Channel Binding) erzwingen. Umgekehrt sind die Ziele Gegenstellen, die NTLM ohne Signierung und ohne Channel Binding akzeptieren. Bei Kerberos ist ein Dienstticket mit dem langfristigen Schlüssel des jeweiligen Dienstes verschlüsselt, sodass ein für einen Dienst bestimmtes Ticket nicht von einem anderen entschlüsselt werden kann.
- Bedeutet Pass-the-Hash, dass man jemanden imitieren kann, ohne das Passwort zu knacken?
- Genau das. NTLM-Anmeldeinformationen bestehen aus einem Einweg-Hash von Domänenname, Benutzername und Passwort. Bei NTLMv2, das heutiges Windows verwendet, wird der Antwortschlüssel als HMAC über den MD4-Hash des Passworts (den NT-Hash) abgeleitet, und dieser Schlüssel wird dann verwendet, um einen HMAC über ein Bündel aus Server-Challenge, Zeitstempel, clientseitiger Challenge und Zielinformationen zu berechnen. Es ist also nicht einfach eine Verschlüsselung der Challenge, aber der Ausgangspunkt bleibt der Passwort-Hash. Mit anderen Worten: Für die Authentifizierung wird der Hash benötigt, nicht das Klartextpasswort. Ein Angreifer, der den Hash beispielsweise aus dem Arbeitsspeicher eines Rechners extrahieren kann, kann sich also als dieser Benutzer authentifizieren, ohne das Passwort zu knacken. Längere und komplexere Passwörter schließen diesen Weg nicht. Einer der von Microsoft genannten Gründe für die NTLM-Blockierung auf SMB-Client-Seite ist genau die Abwehr von Pass-the-Hash-Angriffen.
- Sind wir mit NTLMv2 vorerst sicher?
- NTLMv2 ist stärker als NTLMv1, ist aber nicht von der Abschaffung ausgenommen. Microsofts Liste veralteter Funktionen besagt, dass alle Versionen von NTLM, einschließlich LANMAN, NTLMv1 und NTLMv2, nicht mehr aktiv weiterentwickelt werden und deprecated sind. Die Einschränkungsrichtlinien verhalten sich gleich: Die Audit- und Blockierungsrichtlinien wirken laut Beschreibung auf beide Versionen gleichermaßen. NTLMv1 wird jedoch anders behandelt: Es hat die Stufe „deprecated“ bereits hinter sich gelassen und befindet sich in der Entfernung, und es wurde bereits aus Windows 11 Version 24H2 und Windows Server 2025 entfernt. Die richtige Einordnung lautet also nicht „wir sind auf NTLMv2, also können wir es lassen“, sondern „NTLMv1 ist gerade jetzt eine Frist; NTLMv2 braucht eine Bestandsaufnahme als Vorbereitung auf die standardmäßige Deaktivierung“.
Autorenprofil
Profilseite des Artikelautors.
Go Komura
Geschäftsführer von KomuraSoft LLC
Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.