OS X 10.9: gdzie są przechowywane skróty haseł

15

Myślę, że w poprzednich wersjach systemu OS X hasło było przechowywane w pliku / etc / shadow.

Niemniej jednak wydaje się, że ten plik nie istnieje w późniejszych wersjach systemu operacyjnego - w szczególności OS X 10.9, który jest pierwszą wersją systemu operacyjnego o nazwie innej niż cat.

Czy ktoś wie, gdzie są przechowywane skróty hasła w OS X Mavericks?

użytkownik4493605
źródło

Odpowiedzi:

20

Począwszy od Lion, OS X wprowadził plik cienia dla każdego użytkownika, który jest słownikiem plist zawierającym skróty haseł i inne GID / UID / kerberos oraz klucze typu otwartego katalogu.

Pliki w tle są przechowywane w systemie plików w /var/db/dslocal/nodes/Default/users. Są w formacie plist, więc będziesz musiał użyć polecenia plutil, aby je wyświetlić, lub użyj polecenia defaults, aby wyodrębnić / napisać określone klucze, jeśli chcesz. Tylko rootużytkownik ma dostęp do plików.

Aby wyświetlić zawartość pliku cienia dla użytkownika:

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

Aby uzyskać skrót:

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

Gdzie <username>w powyższych przykładach jest użytkownik, dla którego szukasz skrótu. Chcesz <data>sekcji odpowiadającej <key>entropy</key>kluczowi w tym wyjściu plist.

Aby kontynuować próbę złamania hasła, zapoznaj się z tym samouczkiem .

Ian C.
źródło
3
To nie działa dla mnie: mówi, że ShadowHashData nie jest prawidłową właściwością w <nazwa_użytkownika> .plist ...
thepiercingarrow
@MarkWright jaka wersja OS X? Działa świetnie dla mnie 10.11.3. Czy korzystasz z LDAP dla kont, czy jest to konto lokalne?
Ian C.
Używam 10.9 w trybie pojedynczego użytkownika.
thepiercingarrow
Co ci sudo defaults read /var/db/dslocal/nodes/Default/users/${USER}.plistpokazuje?
Ian C.
1
sudo plutil -pwydaje się nadal działać w 10.14, nawet z włączonym SIP.
nohillside
1

Chcę dodać do zaakceptowanej odpowiedzi, na wypadek, gdyby ktoś próbował uzyskać skróty hasła przechowywane na serwerze OS X w Open Directory. W przypadku użytkowników sieci (OD) musisz to zrobić

sudo mkpassdb -dump

dzięki czemu otrzymasz listę użytkowników i ich identyfikatory miejsc. Skopiuj cały identyfikator gniazda, zaczynając od 0x, i wydaj

sudo mkpassdb -dump slot_id_that_you_retrieved

Zobaczysz kilka pozycji podsumowania, wśród których * cmusaslsecretSMBNT to skrót hasłowy NTLM, a * cmusaslsecretDIGEST-MD5 to zwykły skrót MD5. Rób to, co chcesz, ale łatwiej mi było przesłać je na https://hashkiller.co.uk/ntlm-decrypter.aspx, która jest bezpłatną usługą łamania skrótów online. Akceptuje twój skrót i jeśli jeszcze nie jest w bazie danych, zacznie na nim pracować. Wróć tydzień później i powinno być popękane. Zostało to przetestowane na systemach OS X El Capitan i Mac OS Sierra. Skróty mogą nie być wyświetlane, jeśli niektóre metody uwierzytelniania zostały wyraźnie wyłączone na serwerze, ale powinny one tam być domyślnie.

Joeахар Joe
źródło