OS X 10.9: dove sono memorizzati gli hash delle password


15

Penso che nelle versioni precedenti di OS X, la password fosse memorizzata nel file / etc / shadow.

Tuttavia, questo file non sembra esistere nelle versioni successive del sistema operativo, in particolare OS X 10.9, che è il primo dei rilasci OS non cat.

Qualcuno sa dove sono memorizzati gli hash delle password su OS X Mavericks?

Risposte:


19

A partire con Lion, OS X ha introdotto un file shadow per utente che è un dizionario plist che contiene gli hash delle password e altri GID / UID / Kerberos e aperti chiavi tipo directory.

I file shadow sono memorizzati nel filesystem in /var/db/dslocal/nodes/Default/users. Sono in formato plist, quindi è necessario utilizzare il comando plutil per visualizzarli o utilizzare il comando defaults per estrarre / scrivere chiavi specifiche, se lo si desidera. Solo l' rootutente ha accesso ai file.

Per visualizzare il contenuto di un file shadow per un utente:

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

Per ottenere l'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 -

Dove <username>negli esempi sopra è l'utente che stai cercando l'hash per. Si desidera la <data>sezione che corrisponde alla <key>entropy</key>chiave in quell'output plist.

Per continuare a provare a decifrare la password, consulta questo tutorial .


3
Questo non funziona per me: dice che ShadowHashData non è una proprietà valida in <username> .plist ...
thepiercingarrow

@MarkWright quale versione di OS X? Funziona benissimo per me il 10.11.3. Stai usando LDAP per gli account o è un account locale?
Ian C.

Sto usando 10.9 in modalità utente singolo.
thepiercingarrow

Cosa sudo defaults read /var/db/dslocal/nodes/Default/users/${USER}.plistti mostra?
Ian C.

@MarkWright è successo a me osx: 10.10.5 L'utilizzo di quel comando restituisce "Dominio /var/db/dslocal/nodes/Default/users/${USER}.plist non esiste"
o.uinn

1

Voglio aggiungere alla risposta accettata, nel caso in cui qualcuno cerchi di ottenere gli hash delle password memorizzati su un server OS X in Open Directory. Per gli utenti della rete (OD) è necessario

sudo mkpassdb -dump

che ti porterà un elenco di utenti e dei loro rispettivi ID slot. Copia l'intero ID slot iniziando con 0x ed emettendo

sudo mkpassdb -dump slot_id_that_you_retrieved

Vedrai diverse voci digest, tra cui * cmusaslsecretSMBNT è l'hash della password NTLM e * cmusaslsecretDIGEST-MD5 è il normale hash MD5. Fai con quelli che desideri, ma ho trovato più facile inviarli a https://hashkiller.co.uk/ntlm-decrypter.aspx che è un servizio di cracking dell'hash online gratuito. Accetta il tuo hash e se non ancora nel loro database inizierà a lavorarci. Ritorna una settimana dopo e dovrebbe essere rotto. Questo è stato testato su OS X El Capitan e Mac OS Sierra. È possibile che non vengano visualizzati digest se alcuni metodi di autenticazione sono stati esplicitamente disabilitati sul server ma dovrebbero essere presenti per impostazione predefinita.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.