Pada OS X 10.11 - Saya telah membuka .plist
file pengguna saya , dan telah melihat ke dalam file tersebut.
Saya melakukan ini dengan perintah berikut:
sudo defaults read /var/db/dslocal/nodes/Default/users/<username>.plist ShadowHashData|tr -dc 0-9a-f|xxd -r -p|plutil -convert xml1 - -o -
File mengatakan SALTED-SHA512
di dalamnya, jadi saya berasumsi itu adalah hash SHA512.
Tapi, saya pergi ke beberapa situs generator hash SHA512, dan saya memasukkan kata sandi saya. Saya akhirnya mendapatkan hash berbeda dari apa yang ada di .plist
file.
Jadi, bagaimana cara mengubah apa yang ada di .plist
file menjadi hash yang sebenarnya, atau tepatnya jenis hash apa yang disimpan dalam file?
macos
el-capitan
password
Flare Cat
sumber
sumber
SALTED-SHA512-PBKDF2
(OS X 10.10)!/var/db/shadow/hash
?Jawaban:
Peretas kata sandi (valid dalam OS 10.8 dan yang lebih baru)
Pertama saya ingin menjelaskan perintah Anda:
Bagian pertama dari perintah membaca ShadowHashData kunci dalam daftar
Hasil (kebanyakan hex):
bagian kedua dari perintah
tr -dc 0-9a-f
menghapus apa pun kecuali 0-9a-f.Hasil (hex):
bagian ketiga
xxd -r -p
mengembalikannya ke biner (mal-pembentukan):dan bagian terakhir
plutil -convert xml1 - -o -
membuat xist plist yang terbentuk dengan baik:Untuk mendapatkan file nyata, ganti
-o -
dengan-o ~/Desktop/tempuser.plist
Plist berisi tiga bagian utama : iterasi , entropi dan garam .
iterasi hanyalah bilangan bulat, tetapi entropi dan garam dikodekan base64. Untuk terus bekerja dengan mereka, Anda harus memecahkan kode dan xxd:
Untuk memecahkan kode garam, hapus semua spasi dan baris baru dari bagian data dan gunakan
Dengan data saya di atas itu
dengan hasil garam (hex):
Hal yang sama untuk entropi:
dengan hasil entropi (hex):
Jika Anda memerlukan file teks untuk hashcat untuk memecahkan kata sandi, Anda harus menggabungkan data hash yang Anda temukan menjadi satu string:
Dengan contoh data hash saya itu:
Simpan ini ke file bernama hash.txt dan gunakan dalam hashcat. Perintah brute force yang tepat untuk menemukan kata sandi (= kata sandi tes sederhana saya yang hanya berisi 4 digit) adalah:
Kata sandi yang dihasilkan setelah 3 menit cracking (dalam VM) adalah 1111 .
Sekarang kebalikannya: Menciptakan ShadowHashData (valid di OS 10.8 dan yang lebih baru)
Ini menjelaskan mengapa Anda tidak dapat menggunakan generator hash SHA512 sederhana untuk membuat data "kata sandi" Anda. SHA512 masih penting. Latar belakang dijelaskan di sini: proses PBKDF2-Key_derivation_ .
Anda membutuhkan:
untuk membuat DK = PBKDF2 (PRF, Kata Sandi, Garam, c, dkLen)
Untuk membuat DK ~ kunci entropi di SALTED-SHA512-PBKDF2 (satu-satunya bagian dalam papan perantara yang bergantung pada kata sandi Anda) gunakan php hash_pbkdf2 :
Di Terminal (PHP ⩾ 5.5 diperlukan) masukkan:
String yang digunakan dalam $ salt adalah presentasi hex (\ x) dari salt (hex):
0dba6246 ... -> \ x0d \ xba \ x62 \ x46 ...
Karena Anda dapat mendefinisikan atau mengetahui algoritma hash (harus sha512 untuk Mac 10.8 dan yang lebih baru), iterasi (angka lebih besar dari nol dan lebih kecil dari 2 ^ 32-1), garam (panjang 64 byte hex tapi acak!) Dan length (256 byte) Anda dapat membuat file plist intermediate yang terbentuk dengan membalik semua perintah di atas.
Dengan membalikkan perintah Anda (lebih baik: masing-masing sub-perintah) dari langkah pertama Anda dapat membuat data dari ShadowHashData kunci dalam plist asli menggunakan plist perantara.
Dan untuk menjawab pertanyaan Anda akhirnya: algoritma hash yang digunakan untuk memproses kata sandi OS X (dan data lain seperti garam) adalah SHA512. Tapi Anda tidak bisa mengatakan kata sandi pengguna Anda disimpan sebagai hash SHA512 .
Kata sandi dan garam Anda dipanggang oleh sha512 berkali-kali, maka hasilnya adalah base64'ed dan reverse xxd'ed. Bersama dengan garam dan iterasi , xxd'ed dan base64'ed lagi.
Saya harap saya tidak melupakan langkah apa pun.
sumber
Anda membutuhkan garam akun pengguna Anda di sistem itu. Itu adalah serangkaian karakter acak yang ditemukan untuk Anda ketika Anda membuat akun (atau mungkin ketika Anda mengganti kata sandi mungkin terakhir). Anda harus menambahkan itu ke kata sandi Anda, misalnya:
[potongan angka yang sangat besar di bawah itu ...] [kata sandi Anda]
Tidak yakin apakah ini ditambahkan ke depan atau belakang: [yourPassword] [salt]? siapa tahu.
Untuk pengguna,
USERNAME
Anda dapat melihat hash di sini:Lalu keluar:
Menariknya, sementara saya telah mengubah beberapa blok angka acak yang terlihat di atas sehingga Stack tidak mendapatkan garam saya (Anda mungkin melihat beberapa blok acak berulang yang merupakan pekerjaan tempel saya!) Tapi saya tidak menempelkannya pada yang pada akhirnya. … Sepertinya larut menjadi nol pada akhirnya hash SHA 512 ini menarik !!!
PS. Mereka telah memindahkannya sedikit ... dulu tersembunyi dengan sangat baik. Saya tersesat dan tidak dapat menemukan milik saya (lihat di bawah), disembunyikan di beberapa struktur folder jahat dari 'Nam!
sumber