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


Wie werden zwischengespeicherte Active Directory-Domänenanmeldeinformationen auf einem Windows-Client gespeichert? Werden sie in der lokalen SAM-Datenbank gespeichert, sodass sie anfällig für dieselben Rainbow-Table-Angriffe sind, denen lokale Benutzerkonten ausgesetzt sind, oder werden sie anders gespeichert? Beachten Sie, dass ich realisiere, dass sie gesalzen und gehackt sind, um nicht im Klartext gespeichert zu werden, aber sind sie genauso gehackt wie lokale Konten und werden sie am gleichen Ort gespeichert?

Ich bin mir bewusst, dass sie zumindest anfällig für einen Brute-Force-Angriff sind, aber das ist eine viel bessere Situation, als im Falle eines gestohlenen Rechners anfällig für Rainbow-Tische zu sein.


26
2017-12-03 15:32


Ursprung




Antworten:


"Im Cache gespeicherte Anmeldeinformationen"

Zwischengespeicherte Anmeldeinformationen für eine AD-Domäne sind tatsächlich gesalzene doppelte Hashwerte des Kennworts und werden in der Struktur HKLM \ Security gespeichert. Der Speicherort der Datei ist: %systemroot%\System32\config\SECURITY

Nur der Benutzer "system" hat Zugriff auf die Registrierungsschlüssel:
HKLM\Security\Cache\NL$n woher n ist ein Index 1 für die maximale Anzahl der zwischengespeicherten Anmeldeinformationen.

Anfälligkeit für Angriffe

WinNT zu WinXP verwendet "Lan Manager" Hashes für lokal Konten, die auf moderner Hardware leicht kaputt gehen. Das Cracken dauert normalerweise einige Minuten (ich habe kürzlich 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 verfügbare Rainbow-Tabellen.

Vista und später verwenden NT-Hashes für lokal Konten. Windows 2000 und höher verwenden NT-Hashes für Domain Konten auch. NT-Hashes sind gesalzene Double-MD4-Hashes. Das per-entry-salt verhindert die Verwendung von Rainbow-Tabellen, aber MD4 kann auf moderner Hardware sehr schnell ausgeführt werden: etwa 6 Rechenjahre für ein 60-Bit-Passwort. Mit Glück und einem 6-GPU-Cluster kann ein Cracker dieses Passwort in ~ 6 Monaten durchbrechen. In die Cloud, etwa $ 35k auf Amazon EC2 GPU - je nach Verfügbarkeit könnte es Stunden dauern.


17
2017-12-03 15:46



Ich denke, der größte Teil meiner Frage war, ob diese gespeicherten Zugangsdaten für dieselben Rainbow-basierten Angriffe wie lokale Konten empfänglich sind oder nicht, wenn sie in einer anderen Methode gehackt werden - MDMarra
Aktualisiert ... Vista + es ist alles gleich. Ältere Versionen waren anders. - Chris S
"Der NT-Hash des Passworts wird mit einem ungesalzenen MD4-Hash-Algorithmus berechnet." - Direkt von TechNet: technet.microsoft.com/en-us/library/hh994565(v=ws.10).aspx - thepip3r
Diese Seite ist falsch, NT-Hashes sind gesalzen. Siehe Joes Antwort unten für einen Link zu einer KB. - Chris S


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

Sicherheit zwischengespeicherter Domänenanmeldeinformationen

Der Begriff zwischengespeicherte Anmeldeinformationen beschreibt nicht genau, wie Windows   speichert Anmeldeinformationen für Domänenanmeldungen. In Windows 2000 und in   späteren Versionen von Windows werden Benutzername und Passwort nicht zwischengespeichert.   Stattdessen speichert das System einen verschlüsselten Verifizierer des Passworts. Diese   Verifier ist ein gesalzener MD4-Hash, der zweimal berechnet wird. Der Doppelgänger   Die Berechnung macht den Verifier effektiv zu einem Hash des Hashes des   Benutzer-Passwort. Dieses Verhalten unterscheidet sich von dem Verhalten von Microsoft   Windows NT 4.0 und frühere Versionen von Windows NT.

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


4
2017-12-03 15:43



Richtig, ich verstehe, dass die Berechtigungsnachweise selbst nicht im Cache gespeichert sind, aber meine Frage war mehr wie "sind die resultierenden Hashes in der lokalen SAM-Datenbank auf die gleiche Weise wie lokale Konten gespeichert, so dass sie für die gleichen Angriffe tolerierbar sind. " Ich werde das in einer Minute bearbeiten, um ein bisschen klarer zu werden. - MDMarra
meh .. für mich ist das hacken Wörter. Die Art von "Hashing" ist ein einseitiger Prozess, der im Grunde einen verschleierten Wert des Passworts unter Verwendung eines kryptographisch sicheren Algorithmus erzeugt. Das Problem ist, dass MD4 vor 10-15 Jahren kryptographisch sicher gewesen sein könnte, aber nicht mehr in der Nähe ist (MD5 oder SHA1 ist vom Standpunkt des Kryptologen aus nicht mehr nah dran). Wenn Sie also aktuelle Hardware haben, die den Schlüsselraum des Algorithmus schnell erzwingen oder eine Kollision aufdecken kann, dann können Sie das Passwort einfach aus dem Hash ableiten ... - thepip3r


Sie werden vom Credential Manager verarbeitet, für den es eine Credential Manager API gibt. Die gesalzenen Hashes werden auf sichere Weise auf der Festplatte gespeichert und über HKLM \ Security aufgerufen. (Auf das nur von LocalSystem standardmäßig zugegriffen werden kann, das jedoch leicht zu umgehen ist, z. B. von psexec -i -s regedit.exe.)

Auf einem laufenden Windows-System jedoch ist die Situation düsterer, da kürzlich verwendete Anmeldeinformationen erhalten und leicht in Klartext umgewandelt werden können, indem man eine DLL in Lsass einklinkt. (Siehe Mimikatz.)

Also, yeah, Sie werden eine Art von Hash (oder Hash eines Hashes, oder 'Verifier' oder was auch immer Sie es nennen wollen) bei HKLM \ Security \ Cache auf dem Client finden. Aber ich glaube nicht, dass es einen machbaren Weg gibt, den Hash auf der Festplatte anzugreifen. Es ist nicht die gleiche Art von NTLM-Hash, die angreifbar ist.


4
2017-12-03 15:51



Offline-Passwort-Cracking in der SAM ist völlig anders als LSASS im Speicher wie Mimikatz und WCE tun. Und abhängig von der Komplexität des Passworts kann das Offline-Passwort-Cracking des SAM SEHR einfach sein (siehe samdump2) - thepip3r