OS X 10.9: де зберігаються хеши паролів


10

Я думаю, що в попередніх версіях OS X пароль зберігався у файлі / etc / shadow.

Тим не менш, цей файл, схоже, не існує в пізніших версіях операційної системи - зокрема OS X 10.9, що є першою з не-котячих названих випусків ОС.

Хто-небудь знає, де зберігаються хеши паролів на OS X Mavericks?

Відповіді:


15

Починаючи з Lion, OS X представив файл тіні на користувача це слостик, який містить хеші паролів та інші ключі GID / UID / kerberos і відкриті типи каталогів.

Файли тіней зберігаються у файловій системі /var/db/dslocal/nodes/Default/users. Вони знаходяться формат plist так що вам потрібно використовувати plutil Щоб переглянути їх, або скористайтеся командою defaults для вилучення / запису конкретних клавіш, якщо потрібно. Тільки root Користувач має доступ до файлів.

Щоб переглянути вміст файлу тіні для користувача:

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

Щоб отримати хеш:

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> У наведених вище прикладах користувач, якого ви шукаєте для хешу. Ви хочете <data> розділ, що відповідає <key>entropy</key> ключ в цьому виході plist.

Щоб продовжити, спробуйте і зламати пароль див. цей підручник .


2
Це не працює для мене: він говорить, що ShadowHashData не є дійсним властивістю у & lt; ім'я користувача & gt; .plist ...
thepiercingarrow

@MarkWright, яку версію OS X? Відмінно працює для мене 10.11.3. Ви використовуєте LDAP для облікових записів або це місцевий обліковий запис?
Ian C.

Я використовую 10,9 в режимі одного користувача.
thepiercingarrow

Що робить sudo defaults read /var/db/dslocal/nodes/Default/users/${USER}.plist показати вам?
Ian C.

@MarkWright те ж саме сталося зі мною osx: 10.10.5 Використовуючи цю команду, повертається "Domain /var/db/dslocal/nodes/Default/users/${USER}.plist не існує"
o.uinn

1

Я хочу додати до прийнятої відповіді, на всякий випадок, якщо хтось намагається отримати хеши паролів, збережені на сервері OS X у Відкритому каталозі. Для користувачів мережі (OD) потрібно

sudo mkpassdb -dump

який надасть вам список користувачів та їхні ідентифікатори слотів. Скопіюйте весь ідентифікатор слота, починаючи з 0x і видайте його

sudo mkpassdb -dump slot_id_that_you_retrieved

Ви побачите кілька записів дайджесту, серед яких * cmusaslsecretSMBNT є хешем пароля NTLM, а * cmusaslsecretDIGEST-MD5 - звичайний хеш MD5. Зробимо з тими, що хочеш, але мені було легше подавати їх https://hashkiller.co.uk/ntlm-decrypter.aspx який є безкоштовним онлайн хеш-крекінгу служби. Він приймає ваш хеш, і якщо ще не в їхній базі даних, почне працювати над ним. Поверніться через тиждень, і вона повинна бути тріщиною. Це було перевірено на OS X El Capitan і Mac OS Sierra. Можливо, ви не побачите дайджести, якщо деякі методи авторизації явно вимкнено на вашому сервері, але вони повинні бути там за замовчуванням.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.