Где хранятся пароли учетных записей пользователей Mac?

Как я могу получить доступ к зашифрованному значению пароля учетной записи локального пользователя в osx? Можно ли проверить его или даже скопировать на другую учетную запись?

6
задан user51799
16.12.2022 13:50 Количество просмотров материала 3298
Распечатать страницу

2 ответа

хэши были в /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*") }'

6
отвечен user495470 2022-12-17 21:38

я не так много знаю об этом, но из того, что я мог собрать, используя opensnoop:

login обращается к локальной службе каталогов (возможно, связанной с некоторыми материалами Kerberos - возможно, это базовая реализация для локального каталога, она читает /Library/Preferences/edu.mit.Kerberos,/etc/krb5.conf,/usr/etc/krb5.conf etc.).

dscl каталог сервис командной строки утилита, затем cd Local/Default/Users/yourusername,read раскрывает обычный счет связанных с unixy вещи, плюс: GeneratedUID: 1A5EF9B7-4DB6-4C01-919A-xxxxx (не знаю последствий, поэтому я немного цензурировал) - вы также можете прочитать этот UUID через Accounts.prefPane in System Preferences.app.

соответствует имени файла в /private/var/db/shadow/hash/ также доступны login!

я думаю, что ваш лучший выбор-переименовать / скопировать файлы с помощью GeneratedUID name или измените ссылку в службе каталогов.

включены все мои "исследования", чтобы позволить вам проследить мои шаги и позволяют опровержения.

у меня нет времени, чтобы мусор и восстановить мой учетные записи пользователей, так что теперь вы сами по себе. Удача.

TLDR: открыть Accounts.prefPane, проверьте, ваш UUID (щелкните правой кнопкой мыши пользователя в списке) и найдите файл с таким именем в /private/var/db/shadow/hash/. Не знаю, работает ли это на всех. Удача.

4
отвечен Daniel Beck 2022-12-17 23:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх