OS X 10.9 : 비밀번호 해시가 저장되는 위치


15

OS X의 이전 버전에서는 암호가 / etc / shadow 파일에 저장되어 있다고 생각합니다.

그럼에도 불구하고이 파일은 이후 버전의 운영 체제, 특히 고양이가 아닌 OS 릴리스 중 첫 번째 인 OS X 10.9에 존재하지 않는 것 같습니다.

누구든지 암호 해시가 OS X Maverick에서 어디에 저장되어 있는지 알고 있습니까?

답변:


20

Lion부터 OS X 는 비밀번호 해시 및 기타 GID / UID / kerberos와 열린 디렉토리 유형 키를 포함하는 plist 사전 인 사용자 당 섀도 파일을 도입했습니다 .

섀도 파일은의 파일 시스템에 저장됩니다 /var/db/dslocal/nodes/Default/users. 그들은에 PLIST 형식 당신이 사용해야합니다 그래서 plutil 을 보거나 원하는 경우 기본값이 추출 / 쓰기 특정 키에 명령을 사용하여 명령을. 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>위의 예에서 당신의 해시 찾고있는 사용자입니다. 해당 plist 출력 <data><key>entropy</key>키에 해당하는 섹션을 원합니다 .

암호를 계속해서 해독하려면 이 자습서를 참조하십시오 .


3
이것은 나를 위해 작동하지 않습니다 : 그것은 ShadowHashData가 <username> .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이 명령을 사용하면 "도메인 /var/db/dslocal/nodes/Default/users/${USER}.plist 존재하지 않음"을 반환합니다.
o.uinn

1

누군가가 Open Directory의 OS X Server에 저장된 암호 해시를 얻으려고 할 경우를 대비하여 허용되는 답변에 추가하고 싶습니다. 네트워크 (OD) 사용자의 경우

sudo mkpassdb -dump

그러면 사용자 목록과 해당 슬롯 ID가 표시됩니다. 0x로 시작하는 전체 슬롯 ID를 복사하고 발행하십시오.

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에서 테스트되었습니다. 일부 인증 방법이 서버에서 명시 적으로 비활성화되어 있으면 요약이 표시되지 않지만 기본적으로 있어야합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.