Root dan kata sandi saya sama

8

Jika saya, cat /etc/shadowsaya bisa mendapatkan kata sandi root dan pengguna terenkripsi.

Kata sandi ini sama (saya tahu, keamanan buruk) untuk setiap akun, tetapi di /etc/shadowdalamnya muncul sebagai string terenkripsi yang berbeda.

Mengapa? Apakah algoritma yang berbeda digunakan untuk masing-masing?

pengguna75027
sumber
Saya akan merekomendasikan membaca ini sebagai titik awal yang baik. Jawaban singkatnya adalah bahwa hash diasinkan, dan bahwa hash tanpa garam sama sekali tidak hash.
Boris the Spider

Jawaban:

10

Pengguna yang terpisah berarti User ID yang terpisah, dan oleh karena itu hash yang terpisah akan terlibat dengan algoritma.

Bahkan pengguna dengan nama yang sama, kata sandi yang sama, dan dibuat pada saat yang sama akan (dengan probabilitas hampir pasti) berakhir dengan hash yang berbeda. Ada faktor-faktor lain yang membantu menciptakan enkripsi.

Jika Anda ingin melihat contoh cepat di sini mungkin menjelaskannya dengan lebih baik.

Tidak ada waktu
sumber
17
Untuk menyebutkan kata di sini: itu disebut salting the hash.
Ulrich Schwarz
1
Pengguna terpisah tidak harus berarti ID Pengguna terpisah. ID Pengguna tidak ada hubungannya dengan ini. Kunci utama dalam /etc/passwd, /etc/shadowadalah nama pengguna, bukan ID pengguna (yang bahkan tidak disebutkan dalam /etc/shadow).
Stéphane Chazelas
Penjelasannya tidak cukup menjawab pertanyaan. Apa hubungannya ID pengguna dengan itu? Juga, URL tidak benar-benar menjelaskan jawaban atas pertanyaan itu.
countermode
@ StéphaneChazelas Tidak, pengguna yang terpisah berarti ID pengguna yang terpisah. Mungkin ada beberapa entri dalam database pengguna dengan nama pengguna yang berbeda untuk ID pengguna yang sama, tetapi ini semua adalah pengguna yang sama, berbagi semua konteks keamanan (kepemilikan file, sinyal, dll.) Dan berbeda hanya dalam metode login ( misalnya kata sandi dan shell yang berbeda tetapi mengarah ke akun yang sama).
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles, saya tidak setuju. Anda dapat memiliki pengguna yang berbeda dengan uid yang sama tetapi gid dan gids pelengkap yang berbeda (lihat bagaimana anggota dalam / etc / group direferensikan berdasarkan nama, bukan uid), parameter login yang berbeda ... Ini semakin jarang terjadi, terutama mengingat hal-hal seperti sudo tidak bekerja dengan baik dengan itu.
Stéphane Chazelas
2

Algoritmanya sama. Shadow-suite modern menggunakan modul otentikasi pluggable (PAM), dan PAM memungkinkan Anda mengkonfigurasi satu algoritma hashing. Ini semua tentang "pengasinan", yang berarti mengacak kata sandi untuk memberikan efek yang Anda tanyakan.

Penggaraman adalah serangan balasan terhadap serangan kamus, di mana penyerang dengan kamus kata sandi yang dikenal / pasangan hash mencoba untuk mencari tahu, apakah nilai hash yang diberikan untuk kata sandi yang tidak diketahui cocok dengan nilai hash untuk salah satu kata sandi yang dikenal.

Penggaraman mencegah bahwa karena nilai garam yang berbeda mengarah ke nilai hash yang berbeda, maka tidak masalah bahwa kata sandi sama. (Meskipun demikian praktik yang buruk, tetapi untuk alasan lain.) Agar serangan kamus berhasil, penyerang sekarang harus memiliki kamus untuk setiap nilai garam yang mungkin. Garam acak yang benar-benar berukuran cukup akan membuat kemungkinan keberhasilan serangan seperti itu diabaikan.

Bacaan yang disarankan: Bagaimana kata sandi disimpan di Linux (Memahami hashing dengan shadow utils)

countermode
sumber
0

Dalam file bayangan Anda akan melihat angka antara $$ (katakan $ 1 $ atau sesuatu seperti itu). Ini menunjukkan algoritma hashing mana yang digunakan oleh mesin Anda. Identifikasi algoritme dan lihat cara kerjanya. Misalnya, $ 6 $ adalah SHA 512 yang dirancang sedemikian rupa sehingga, bahkan jika 2 orang memiliki kata sandi yang sama, intisari hash kata sandi mereka akan berbeda.

RNJ
sumber