5

Я знаю, что Mac хранит хеш (SHA) пароля в файле, но я не помню, где кто-нибудь может мне помочь, пожалуйста?

5 ответов5

4

В последних версиях OS X (я забыл, изменилось ли это в 10.6 или 10.7), теневые хеши были перемещены из /var /db /shadow /hash /<generateuid> в основную пользовательскую базу данных как атрибут в /var /db /dslocal /узлы /Default /пользователи /<AccountName> .plist. Вы можете получить их непосредственно из .plist (например, с помощью команды defaults ), но, вероятно, лучше всего пройти через службы каталогов с помощью команды dscl , особенно потому, что это также может сказать вам, в каком формате он находится (SALTED-SHA512-PBKDF2 в этом пример):

$ sudo dscl . read /Users/joeuser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512-PBKDF2> ;Kerberosv5
;;joeuser@LKDC:SHA1.35AA07E97624F005350C5DC08A0633E9AFE17A14;LKDC:SHA1.35AA07E97
624F005350C5DC08A0633E9AFE17A14
$ sudo dscl . read /Users/joeuser dsAttrTypeNative:ShadowHashData
dsAttrTypeNative:ShadowHashData:
 62706c69 73743030 d101025f 10145341 4c544544 2d534841 3531322d 50424b44 4632d30
3 04050607 0857656e 74726f70 79547361 6c745a69 74657261 74696f6e 734f1080 4a52f1
ce a8cbadda 6c0e5483 9e7c3663 4d3c3327 d6dc6ad9 eb6ae851 d5837201 e15d8a58 641cf
ab0 46fc7b18 4bfafab7 8b44a6a6 424a241e 239ee429 12a7c304 2de27551 218257a7 a26e
f16d ceeac49f 5e3161c3 b63cab11 f6d92601 85cc134a 4e8ca7ad 7bd826be fc08606e eb1
2c642 5ec370e8 95ffb534 42488365 61649a73 4f1020f7 54827b04 dd6f6c24 799a8cb8 d1
5243a6 42a3cef4 566100d3 177cfeec b251f211 6532080b 22293136 41c4e700 00000000 0
0010100 00000000 00000900 00000000 00000000 00000000 0000ea
3

Хеши были в /var/db/shadow/hash/ в 10.6 и более ранних версиях , но они хранятся в /var/db/dslocal/nodes/Default/users/username.plist в 10.7 и 10.8.

Вы можете распечатать данные хеша с помощью DaveGrohl (sudo dave -s $USER) или что-то вроде этого:

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

Если автоматический вход включен, пароль цепочки ключей входа также сохраняется в /etc/kcpassword зашифрованном с помощью шифра XOR.

sudo ruby -e 'key = [125, 137, 82, 35, 210, 188, 221, 234, 163, 185, 31]; IO.read("/etc/kcpassword").bytes.each_with_index { |b, i| break if key.include?(b); print [b ^ key[i % key.size]].pack("U*") }'

2

Хеш должен быть расположен в /var/db/shadow/hash под GUID для пользователя.

GUID пользователя можно найти, выполнив:

dscl localhost -read /Search/Users/<username> | grep GeneratedUID | cut -c15-

2

Немного иронии ... пароли конечно есть Mac OS)

Может быть, они даже могут увидеть в терминале:

security dump-keychain -d ~/Library/Keychains/login.keychain

Как сбросить пароль Mac OS X без установочного диска

Как сбросить пароль для Mac OS X 10.7 Lion

Сброс пароля, поиск файла изменений при сбросе пароля.

0

Как я знаю, Mac также основан на Linux (я могу ошибаться), можете ли вы проверить в корневой папке файл, который называется "pwd"?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .