OS X 10.9: où sont stockés les hachages de mot de passe


15

Je pense que sur les versions précédentes d'OS X, le mot de passe était stocké dans le fichier / etc / shadow.

Néanmoins, ce fichier ne semble pas exister dans les versions ultérieures du système d'exploitation - en particulier OS X 10.9, qui est la première des versions de système d'exploitation sans nom de chat.

Est-ce que quelqu'un sait où les hachages de mot de passe sont stockés sur OS X Mavericks?

Réponses:


19

À partir de Lion, OS X a introduit un fichier caché par utilisateur qui est un dictionnaire plist qui contient des hachages de mot de passe et d'autres GID / UID / kerberos et des clés de type répertoire ouvert.

Les fichiers cachés sont stockés sur le système de fichiers à l'adresse /var/db/dslocal/nodes/Default/users. Ils sont au format plist, vous devrez donc utiliser la commande plutil pour les afficher ou utiliser la commande par défaut pour extraire / écrire des clés spécifiques si vous le souhaitez. Seul l' rootutilisateur a accès aux fichiers.

Pour afficher le contenu d'un fichier fantôme pour un utilisateur:

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

Pour obtenir le hachage:

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

<username>dans les exemples ci-dessus est l'utilisateur pour lequel vous recherchez le hachage. Vous voulez la <data>section qui correspond à la <key>entropy</key>clé de cette sortie plist.

Pour continuer à essayer de casser le mot de passe, consultez ce tutoriel .


3
Cela ne fonctionne pas pour moi: il dit que ShadowHashData n'est pas une propriété valide dans <username> .plist ...
thepiercingarrow

@MarkWright quelle version OS X? Fonctionne très bien pour moi sur 10.11.3. Utilisez-vous LDAP pour les comptes ou s'agit-il d'un compte local?
Ian C.

J'utilise 10.9 en mode mono-utilisateur.
thepiercingarrow

Qu'est-ce que cela vous sudo defaults read /var/db/dslocal/nodes/Default/users/${USER}.plistmontre?
Ian C.

@MarkWright la même chose m'est arrivée osx: 10.10.5 L'utilisation de cette commande renvoie "Le domaine /var/db/dslocal/nodes/Default/users/${USER}.plist n'existe pas"
o.uinn

1

Je veux ajouter à la réponse acceptée, juste au cas où quelqu'un essaie d'obtenir les hachages de mot de passe stockés sur un serveur OS X dans Open Directory. Pour les utilisateurs du réseau (OD), vous devez

sudo mkpassdb -dump

qui vous donnera une liste des utilisateurs et leurs ID d'emplacements respectifs. Copiez l'ID d'emplacement entier en commençant par 0x et émettez

sudo mkpassdb -dump slot_id_that_you_retrieved

Vous verrez plusieurs entrées de résumé, parmi lesquelles * cmusaslsecretSMBNT est le hachage de mot de passe NTLM et * cmusaslsecretDIGEST-MD5 est le hachage MD5 standard. Faites avec ceux que vous souhaitez, mais j'ai trouvé plus facile de les soumettre à https://hashkiller.co.uk/ntlm-decrypter.aspx qui est un service gratuit de crackage de hachage en ligne. Il accepte votre hachage et s'il n'est pas encore dans leur base de données, il commencera à travailler dessus. Revenez une semaine plus tard et il devrait être fissuré. Cela a été testé sur OS X El Capitan et Mac OS Sierra. Vous ne pouvez pas voir les résumés si certaines méthodes d'authentification ont été explicitement désactivées sur votre serveur, mais elles devraient être là par défaut.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.