À partir de Lion, il existe un fichier fantôme par utilisateur. Tous ceux-ci sont stockés dans /var/db/dslocal/nodes/Default/users
répertoire et sont accessibles par root uniquement. Par exemple :
$ ls -lah /var/db/dslocal/nodes/Default/users/
total 296
drwx------ 77 root wheel 2.6K Jul 27 20:30 .
drw------- 12 root wheel 408B Jul 27 20:30 ..
-rw------- 1 root wheel 4.0K Jul 27 20:30 Guest.plist
-rw------- 1 root wheel 260B Jul 27 20:17 _amavisd.plist
-rw------- 1 root wheel 254B Jul 27 20:17 _appleevents.plist
-rw------- 1 root wheel 261B Jul 27 20:17 _appowner.plist
-rw------- 1 root wheel 276B Jul 27 20:17 _appserver.plist
De plus, ce sont des fichiers de liste de propriétés binaires. La façon la plus simple de les visualiser est d'utiliser plist
commande. Par exemple :
$ plutil -p /var/db/dslocal/nodes/Default/users/root.plist
{
"smb_sid" => [
0 => "XXXX-XXXX"
]
"uid" => [
0 => "0"
]
"passwd" => [
0 => "XXYYXX"
]
}
Mac OS X n'utilise pas les standards /etc/passwd et /etc/shadow. Au lieu de cela, il utilise une base de données. Il y avait une interface graphique appelée NetInfo, mais elle a été remplacée par le dscl
commande (Ligne de commande des services d'annuaire).
$ dscl
> read /Local/Default/Users/David Password
Password: ********
Malheureusement, c'est à peu près tout ce que je peux obtenir avec l'utilitaire. Il a imprimé des astérisques au lieu du mot de passe. Peut-être y a-t-il un moyen de lui faire abandonner le hachage, mais je ne l'ai pas trouvé.
Il s'agit d'un article détaillant l'utilisation de DSCL et le craquage des mots de passe sur un Mac.