Wie werden zwischengespeicherte Windows-Anmeldeinformationen auf dem lokalen Computer gespeichert?

26

Wie werden zwischengespeicherte Active Directory-Domänenanmeldeinformationen auf einem Windows-Client gespeichert? Werden sie in der lokalen SAM-Datenbank gespeichert, sodass sie für dieselben Rainbow-Table-Angriffe anfällig sind, für die lokale Benutzerkonten anfällig sind, oder werden sie anders gespeichert? Beachten Sie, dass mir klar ist, dass sie gesalzen und gehasht sind, um nicht im Klartext gespeichert zu werden. Sind sie jedoch genauso gehasht wie lokale Konten und werden sie am selben Ort gespeichert?

Mir ist klar, dass sie zumindest für Brute-Force-Angriffe anfällig sind, aber das ist eine viel bessere Situation, als im Falle eines gestohlenen Computers für Regenbogentische anfällig zu sein.

MDMarra
quelle

Antworten:

17

"Im Cache gespeicherte Anmeldeinformationen"

Bei zwischengespeicherten Anmeldeinformationen für eine AD-Domäne handelt es sich tatsächlich um gesalzene Doppel-Hashes des Kennworts, die in der Struktur HKLM \ Security gespeichert werden. Der Dateispeicherort des Bienenstocks ist: %systemroot%\System32\config\SECURITY

Nur der "System" -Benutzer hat Zugriff auf die Registrierungsschlüssel:
HKLM\Security\Cache\NL$nDabei nsteht ein Index 1 für die maximale Anzahl zwischengespeicherter Anmeldeinformationen.

Anfälligkeit für Angriffe

WinNT to WinXP verwendete "Lan Manager" -Hashes für lokale Accounts, die auf moderner Hardware leicht kaputt gehen. Das Knacken dauert normalerweise einige Minuten (ich habe vor kurzem 3 Passwörter in 00.08.06 gemacht) mit nur einem "normalen" Desktop-Computer. Lan Manager-Hashes werden nicht gesalzen, daher gibt es auch öffentlich zugängliche Regenbogentabellen.

Vista und höher verwenden NT-Hashes für lokale Konten. Windows 2000 und höher verwenden NT-Hashes auch für Domänenkonten . NT-Hashes sind gesalzene Doppel-MD4-Hashes. Das Pro-Eintrag-Salt verhindert die Verwendung von Regenbogentabellen, aber MD4 kann auf moderner Hardware sehr schnell ausgeführt werden: ca. 6 Rechenjahre für ein 60-Bit-Passwort. Mit etwas Glück und einem 6-GPU-Cluster kann ein Cracker diese Art von Passwort in ~ 6 Monaten knacken. Wenn Sie das in die Cloud bringen, etwa 35.000 US-Dollar für eine Amazon EC2-GPU - je nach Verfügbarkeit können es Stunden sein.

Chris S
quelle
Ich schätze, der größte Teil meiner Frage war, ob diese gespeicherten Anmeldeinformationen für dieselben auf Regenbogentabellen basierenden Angriffe wie lokale Konten anfällig sind, wenn sie auf eine andere Methode gehasht wurden
MDMarra,
Aktualisiert ... Vista + es ist alles das gleiche. Ältere Versionen waren unterschiedlich.
Chris S
"Der NT-Hash des Passworts wird mithilfe eines ungesalzenen MD4-Hash-Algorithmus berechnet." -
Direkt
Diese Seite ist falsch, NT-Hashes sind gesalzen. In Joes Antwort unten finden Sie einen Link zu einer KB.
Chris S
4

Die Anmeldeinformationen werden nicht tatsächlich auf dem lokalen Computer zwischengespeichert. Siehe diesen Auszug aus MS:

Sicherheit der zwischengespeicherten Domänenanmeldeinformationen

Der Begriff zwischengespeicherte Anmeldeinformationen beschreibt nicht genau, wie Windows Anmeldeinformationen für Domänenanmeldungen zwischenspeichert. In Windows 2000 und späteren Versionen von Windows werden Benutzername und Kennwort nicht zwischengespeichert. Stattdessen speichert das System eine verschlüsselte Überprüfung des Kennworts. Dieser Verifizierer ist ein gesalzener MD4-Hash, der zweimal berechnet wird. Die Doppelberechnung macht den Prüfer effektiv zu einem Hash des Hash des Benutzerkennworts. Dieses Verhalten unterscheidet sich von dem Verhalten von Microsoft Windows NT 4.0 und früheren Versionen von Windows NT.

http://support.microsoft.com/kb/913485

Joeqwerty
quelle
Richtig, ich verstehe, dass die Anmeldeinformationen selbst nicht tatsächlich zwischengespeichert werden, aber meine Frage lautete eher: "Werden die resultierenden Hashes in der lokalen SAM-Datenbank genauso gespeichert wie lokale Konten, so dass sie für dieselben Angriffe anfällig sind. " Ich werde das gleich bearbeiten, um es etwas klarer zu machen.
MDMarra,
1
Meh ... für mich sind das zerkleinernde Worte. Die Art des "Hashens" ist ein Einweg-Prozess, der unter Verwendung eines kryptografisch sicheren Algorithmus im Grunde genommen einen verschleierten Wert des Passworts erzeugt. Das Problem ist, dass MD4 vor 10-15 Jahren möglicherweise kryptografisch sicher war, sich aber nicht mehr in der Nähe befindet (aus Sicht eines Kryptographen ist dies auch nicht MD5 oder SHA1). Also, wenn Sie heutige Hardware haben, die schnell den Schlüsselraum des Algorithmus erzwingen oder eine Kollision aufdecken kann, dann können Sie das Passwort leicht aus dem Hash ableiten ...
thepip3r
Wenn die Anmeldeinformationen auf irgendeine Weise oder in irgendeiner Form gespeichert werden, so dass sie im Offlinemodus überprüft werden können, werden sie für alle Zwecke und Zwecke zwischengespeichert, unabhängig davon, wie die Daten in diesem Cache aussehen
NiKiZe
4

Sie werden vom Anmeldeinformations-Manager verwaltet, für den es eine Anmeldeinformations-Manager-API gibt. Die gesalzenen Hashes werden in gewisser Weise sicher auf der Festplatte gespeichert und über HKLM \ Security abgerufen. (Auf die standardmäßig nur von LocalSystem zugegriffen werden kann, die jedoch einfach umgangen werden kann, z. B. psexec -i -s regedit.exe.)

Auf einem laufenden Windows-System ist die Situation jedoch schlimmer, da kürzlich verwendete Anmeldeinformationen abgerufen und einfach in Klartext umgewandelt werden können, indem eine DLL in Lsass eingebunden wird. (Siehe Mimikatz.)

Also ja, Sie finden eine Art Hash (oder Hash eines Hashs oder 'Verifier' oder wie auch immer Sie es nennen möchten) unter HKLM \ Security \ Cache auf dem Client. Aber ich glaube nicht, dass es eine praktikable Möglichkeit gibt, den Hash auf der Festplatte anzugreifen. Es ist nicht dieselbe alte Art von NTLM-Hash, die angreifbar ist.

Ryan Ries
quelle
Das Knacken von Offline-Passwörtern im SAM unterscheidet sich grundlegend vom Einhängen von LSASS in den Speicher, wie dies Mimikatz und WCE tun. Abhängig von der Komplexität des Passworts kann das Knacken von Passwörtern im Offlinemodus SEHR einfach sein (siehe samdump2)
thepip3r