Cracken von Passwort Hashes - Beliebte Angriffe und Gegenmaßnahmen

Im Blogartikel zum Active Directory haben sich mit dem Active Directory als Angriffsziel und ersten Angriffstechniken beschäftigt. Befindet sich der Angreifer dann im internen Netzwerk, spielen sogenannte Passwort-Hashes eine entscheidende Rolle.

CRACKEN VON PASSWORT-HASHES

Der Passwort-Hash ist eine vom Passwort abgeleitete Zeichenkette fester Länge, von der aus eine „Rückberechnung“ des Passworts nicht möglich ist. Einem Angreifer mit Zugriff auf Passwort-Hashes bleibt somit oft nur eine Option übrig – das Testen möglicher Passwortkandidaten (umgangssprachlich als „Cracken“ bezeichnet). Dieser Vorgang ist sehr rechenintensiv, da alle Passwort-Kandidaten denselben Hashing-Algorithmus durchlaufen und mit dem abgegriffenen Passwort-Hash abzugleichen sind. Das Cracken findet deshalb oft in der Cloud statt, wo Angreifer die dafür benötigte Rechenleistung (GPU-Leistung) „on demand“ mieten können. Zur Erstellung möglicher Passwörter greifen Angreifer dabei auf bestehende Wörterlisten zurück, kombinieren diese mit Zahlenkombinationen (Passwort -> Passwort123) oder ersetzen einzelne Buchstaben durch ähnlich aussehende Ziffern und Sonderzeichen (Passwort -> P@ssw0rt). Dabei machen sie sich bestimmte Muster von Menschen bei der Passworterstellung zunutze, wodurch sich die Erfolgsquote beim Cracken wesentlich erhöhen lässt. Für zielgerichtete Angriffe ergänzen Angreifer bestehende Wörterlisten um unternehmensspezifische Begriffe, wie beispielsweise Produkt- und Firmennamen sowie örtliche Bezüge (z. B. lokaler Fußballverein), so dass auch ein (rein von der Entropie betrachtet) sicheres Passwort wie „OPTIMAbit123!“ schnell geknackt ist.

Aber wie gelangt ein Angreifer in den Besitz von Passwort-Hashes? Hierzu gibt es eine Vielzahl von Angriffstechniken, von denen im Folgenden einige exemplarisch dargestellt werden. Grundsätzlich benötigt ein Angreifer entweder administrativen Zugriff auf interne Systeme, eine Position im internen Netzwerk, die es ihm erlaubt Authentifizierungsdaten mitzuschneiden, oder er fragt die relevanten Daten direkt vom Domänen Controller ab.

KERBEROASTING UND AS-REP-ROASTING

Für einige Angriffstechniken wie das sogenannte „Kerberoasting“ und „AS-REP-Roasting“ nutzen Angreifer Besonderheiten im Netzwerkauthentifizierungsprotokoll Kerberos aus.

Mit den Rechten eines regulären Active Directory-Benutzers lassen sich für speziell konfigurierte Active Directory-Benutzerkonten Nachrichten vom Domänen Controller abfragen, die mit dem Passwort-Hash des jeweiligen Benutzerkontos verschlüsselt sind. Betroffen sind alle Benutzerkonten, die als Dienstkonto (mit einem Dienstprinzipalnamen bzw. SPN) konfiguriert sind, oder Benutzerkonten, bei denen die Kerberos-Präauthentifizierung deaktiviert ist. Die verschlüsselten Nachrichten bilden dann die Grundlage für einen Offline-Brute-Force-Angriff, über den der Angreifer an die Klartextanmeldedaten der betroffenen Active Directory-Benutzer gelangen kann. 

In unseren Red Team Assessments sehen wir besonders häufig, dass auch für hochprivilegierte Dienstkonten leicht zu erratende Passwörter verwendet werden. Durch das Cracken eines Passwortes können Angreifer dann die gesamte Domäne kompromittieren.

DOMAIN CACHED CREDENTIALS

Domain Cached Credentials (DCC2) sind Passwort-Hashes, die lediglich mit Administratorrechten auf den entsprechenden Windows-Systemen zugänglich sind. Diese dienen zur Anmeldung an einen Domain-joined Client unter Offline-Bedingungen, beispielsweise wenn der Domänen Controller nicht erreichbar ist. Dieses Feature ist besonders für mobile Clients relevant, wenn Mitarbeiter im Außendienst sich weiterhin anmelden müssen, oder wenn keine VPN-Verbindung besteht. Hierbei speichert der Client standardmäßig die letzten 10 lokal verwendeten Anmeldedaten als nicht reversiblen Hash (MSDCC2). Ein Angreifer mit administrativen Berechtigungen auf dem Client kann diese Hashes extrahieren und versuchen, diese offline zu cracken.

NET-NTLM

Über sogenanntes „Name-Spoofing“ können Angreifer eine Identität im internen Netzwerk vortäuschen, indem sie veraltete, unsichere Protokolle zur Namensauflösung im Netzwerk ausnutzen. Dazu gehören die Protokolle LLMNR (Link-Local Multicast Name Resolution) und NBT-NS (NetBIOS-Nameservice), die eine Alternative zu DNS im Windows-Netzwerk darstellen.

Verwenden Systeme im internen Netzwerk diese unsicheren Protokolle zur Namensauflösung, kann sich ein Angreifer über Name-Spoofing als Zielsystem ausgeben und eine Authentifizierung mit dem Netzwerkprotokoll NTLM einfordern. Bei der NTLM-Authentifizierung handelt es sich um ein sogenanntes „Challenge-Response-Verfahren“. Das Passwort beziehungsweise der abgeleitete Passwort-Hash des Active Directory-Benutzers wird hierbei nicht direkt über das Netz übertragen, sondern zum Berechnen der Antwort (Response) einer vom Server bereitgestellten Aufgabe (Challenge) verwendet. Erhält ein Angreifer Zugriff auf diese Challenge, kann er diesen Wert wiederum als Grundlage für einen Offline-Brute-Force-Angriff benutzen, um an das entsprechende Klartextpasswort zu gelangen.

WANN ANGREIFER SICH DIE ZÄHNE AUSBEISSEN

Ist der Angreifer bereits im Besitz von Passwort-Hashes, ist der Erfolg des Angriffs abhängig davon, ob die betroffenen Mitarbeiter ein starkes Passwort gesetzt haben. Hier helfen die bereits vorgestellten Maßnahmen wie eine gehärtete Passwort-Richtlinie, Azure Active Directory Password Protection und Mitarbeitersensibilisierung.

Durch eine Härtung der Active Directory-Konfiguration erschwert sich der Zugriff auf Passwort-Hashes für Angreifer deutlich. Die Kerberos-Präauthentifizierung sollte für Active Directory-Benutzerkonten grundsätzlich aktiviert sein. Bei Benutzerkonten mit konfigurierten Dienstprinzipalnamen sind die Berechtigungen so weit einzuschränken, dass diese Konten lediglich über die für den entsprechenden Dienst benötigten Berechtigungen verfügen. Um die Passwortsicherheit zu erhöhen, empfehlen wir den Einsatz eigenständiger oder gruppenverwalteter Dienstkonten (MSA und gMSA), die über das Betriebssystem das Kennwort regelmäßig rotieren und zufällige Kennwörter mit 240 Bytes setzen. Ist der Einsatz von gruppenverwalteten Dienstkonten nicht möglich, sollte man ein zufällig generiertes Passwort (mindestens 16-Zeichen) manuell setzen. Das minimiert die Wahrscheinlichkeit einer Kompromittierung durch Brute-Force-Angriffe.

Die Möglichkeit, Anmeldedaten zu speichern (Domain Cached Credentials), ist auf vielen Systemen im internen Netzwerk nicht notwendig. Sie kann somit deaktiviert werden. Werden Domain Cached Credentials auf dem System benötigt, ist es empfehlenswert, die Anzahl der zwischengespeicherten Anmeldedaten zu verringern. Die Anmeldedaten hochprivilegierter Active Directory-Benutzer sind besonders zu schützen. Hier empfehlen wir alle relevanten Active Directory-Benutzerkonten der Sicherheitsgruppe „Geschützte Benutzer“ (Protected Users) hinzuzufügen. Das verhindert ein Zwischenspeichern der Anmeldedaten auf Systemen.

Die Protokolle LLMNR (Link-Local Multicast Name Resolution), NBT-NS (NetBIOS-Nameservice) und das veraltete Protokoll Net-NTLMv1 müssen deaktiviert werden. Falls möglich, sollte auch Net-NTLMv2 deaktiviert werden und ausschließlich Kerberos als Authentifizierungsprotokoll verwendet werden. Wegen der Abwärtskompatibilität können hingegen viele Unternehmen NTLM nicht komplett aus dem internen Netzwerk verbannen. Angesichts der vielen weiteren bekannten Angriffe auf das Protokoll ist eine Blockierung von NTLM im internen Netzwerk jedoch zu empfehlen.

< Zurück zur Übersicht
Home | Insights | Blog | Cracken von Passwort Hashes - Beliebte Angriffe und Gegenmaßnahmen