Ab Lion gibt es pro Benutzer eine Schattendatei. Alle diese werden in /var/db/dslocal/nodes/Default/users
gespeichert Verzeichnis und sind nur für Root zugänglich. Zum Beispiel:
$ 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
Außerdem sind dies binäre Eigenschaftslistendateien. Die einfachste Art, sie anzuzeigen, ist die Verwendung von plist
Befehl. Zum Beispiel:
$ plutil -p /var/db/dslocal/nodes/Default/users/root.plist
{
"smb_sid" => [
0 => "XXXX-XXXX"
]
"uid" => [
0 => "0"
]
"passwd" => [
0 => "XXYYXX"
]
}
Mac OS X verwendet nicht die standardmäßigen /etc/passwd und /etc/shadow. Stattdessen verwendet es eine Datenbank. Früher gab es eine GUI namens NetInfo, die jedoch durch den dscl
ersetzt wurde Befehl (Verzeichnisdienste-Befehlszeile).
$ dscl
> read /Local/Default/Users/David Password
Password: ********
Leider ist das ungefähr so weit, wie ich mit dem Dienstprogramm kommen kann. Es druckte Sternchen anstelle des Passworts. Vielleicht gibt es eine Möglichkeit, den Hash aufzugeben, aber ich habe ihn nicht gefunden.
Ihr Artikel beschreibt die Verwendung von DSCL und das Knacken von Passwörtern auf einem Mac.