OS X 10.9: Wo werden Passwort-Hashes gespeichert?

Ich denke, in früheren Versionen von OS X wurden Passwörter in der Datei /etc/shadow gespeichert.

Trotzdem scheint diese Datei in den späteren Versionen des Betriebssystems nicht zu existieren - insbesondere OS X 10.9, das die erste der nicht als Cat bezeichneten Betriebssystemversionen ist.

Weiß jemand, wo die Passwort-Hashes auf OS X Mavericks gespeichert sind?

Antworten (3)

Beginnend mit Lion führte OS X eine Schattendatei pro Benutzer ein, die ein Plist-Wörterbuch ist, das Passwort-Hashes und andere GID/UID/Kerberos und offene Verzeichnistypschlüssel enthält.

Die Schattendateien werden im Dateisystem unter gespeichert /var/db/dslocal/nodes/Default/users. Sie sind im Plist-Format , daher müssen Sie den Befehl plutil verwenden , um sie anzuzeigen, oder den Befehl defaults verwenden, um bei Bedarf bestimmte Schlüssel zu extrahieren/schreiben. Nur der rootBenutzer hat Zugriff auf die Dateien.

So zeigen Sie den Inhalt einer Schattendatei für einen Benutzer an:

sudo plutil -p /var/db/dslocal/nodes/Default/users/<username>.plist

So erhalten Sie den Hash:

sudo defaults read /var/db/dslocal/nodes/Default/users/<username>.plist ShadowHashData|tr -dc 0-9a-f|xxd -r -p|plutil -convert xml1 - -o -

Wobei <username>in den obigen Beispielen der Benutzer ist, für den Sie nach dem Hash suchen. Sie möchten den <data>Abschnitt, der dem <key>entropy</key>Schlüssel in dieser plist-Ausgabe entspricht.

Um fortzufahren und zu versuchen, das Passwort zu knacken, sehen Sie sich dieses Tutorial an .

Dies funktioniert bei mir nicht: Es besagt, dass ShadowHashData keine gültige Eigenschaft in <username>.plist ist ...
@MarkWright welche OS X-Version? Funktioniert bei mir am 10.11.3 hervorragend. Verwenden Sie LDAP für die Konten oder handelt es sich um ein lokales Konto?
Ich verwende 10.9 im Einzelbenutzermodus.
Was sudo defaults read /var/db/dslocal/nodes/Default/users/${USER}.plistzeigt sich für Sie?
@MarkWright das gleiche ist mir passiert osx:10.10.5 Die Verwendung dieses Befehls gibt zurück "Domain /var/db/dslocal/nodes/Default/users/${USER}.plist existiert nicht"
sudo plutil -pscheint in 10.14 noch zu funktionieren, auch mit aktiviertem SIP.

Ich möchte die akzeptierte Antwort ergänzen, nur für den Fall, dass jemand versucht, die auf einem OS X-Server in Open Directory gespeicherten Passwort-Hashes abzurufen. Für Netzwerkbenutzer (OD) müssen Sie

sudo mkpassdb -dump

Dadurch erhalten Sie eine Liste der Benutzer und ihrer jeweiligen Slot-IDs. Kopieren Sie die gesamte Steckplatz-ID beginnend mit 0x und geben Sie sie aus

sudo mkpassdb -dump slot_id_that_you_retrieved

Sie sehen mehrere Digest-Einträge, darunter *cmusaslsecretSMBNT ist der NTLM-Passwort-Hash und *cmusaslsecretDIGEST-MD5 ist der reguläre MD5-Hash. Machen Sie damit, was Sie wollen, aber ich fand es einfacher, diese an https://hashkiller.co.uk/ntlm-decrypter.aspx zu senden, das ein kostenloser Online-Hash-Cracking-Service ist. Es akzeptiert Ihren Hash und wenn es noch nicht in seiner Datenbank ist, wird es mit der Arbeit beginnen. Rückkehr eine Woche später und es sollte geknackt werden. Dies wurde unter OS X El Capitan und Mac OS Sierra getestet. Sie sehen möglicherweise keine Digests, wenn einige Authentifizierungsmethoden auf Ihrem Server explizit deaktiviert wurden, aber sie sollten standardmäßig vorhanden sein.

Die Verbindung ist unterbrochen. Beachten Sie auch, dass Nur-Link-Antworten ohne Erklärung verpönt sind.