apa artinya membintangi file passwd?


14

Saya memiliki komputer yang harus saya gunakan untuk boot, tetapi kata sandinya sepertinya palsu. Selain itu saya tidak dapat memasang drive untuk menulis, dan ini adalah prosesor mips, jadi saya tidak dapat menempelnya di komputer lain untuk menjalankannya.

Bagaimanapun, file passwd mereka memiliki beberapa pengguna yang terlihat seperti ini, dengan bintang setelah nama pengguna. apakah itu berarti kata sandi kosong atau apa?

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh

12
Perhatikan bahwa Anda telah memposting hash kata sandi DES. Hash DES sandi cukup mudah untuk istirahat saat ini. Jangan hubungkan komputer ini ke jaringan sampai Anda mengubah kata sandi.
Gilles 'SANGAT berhenti menjadi jahat'

2
Saya akan merekomendasikan tidak menghubungkan komputer ini ke Internet publik sama sekali , jujur ​​saja. Letakkan di jaringan firewall cukup lama untuk menghirup data, tentu saja, tetapi kemudian harus dihentikan. Jika sistem operasinya sudah setua kelihatannya, mungkin saja ia dilubangi dengan lubang keamanan dari kernel ke atas - misalnya nomor urutan awal TCP yang dapat diprediksi .
zwol

Kata sandi untuk lppengguna sangat lemah. Dan karena kata sandi berbasis DES terbatas pada ASCII dan panjangnya hanya 8 karakter, Anda tidak mendapatkan lebih dari 53 bit entropi. Beralihlah ke hash yang lebih kuat jika Anda bisa, dan ubah kata sandi.
kasperd

Menambahkan beberapa nomor ke komentar saya sebelumnya: Laptop saya dapat memecahkan lpkata sandi dalam 630 milidetik. Kata rootsandi jauh lebih kuat. Saya membiarkan serangan brute force berjalan selama lima jam sebelum saya menghentikannya. Tidak melanggar rootkata sandi dalam lima jam itu. Tapi tentu saja Anda harus tetap mengikuti rekomendasi sebelumnya dan mengubah kata sandi.
kasperd

untuk catatan Anda tahu cerita itu bahwa kata sandi yang paling populer adalah kata sandi? well password1 tidak bisa jauh di belakang. Memang sangat lemah.
Hildred

Jawaban:


22

Anda harus memeriksa man passwd :

Jika kata sandi terenkripsi diatur ke tanda bintang (*), pengguna tidak akan dapat masuk menggunakan login (1), tetapi masih dapat login menggunakan rlogin (1), menjalankan proses yang ada dan memulai yang baru melalui rsh (1), cron (8), at (1), atau filter mail, dll. Mencoba untuk mengunci akun hanya dengan mengubah bidang shell menghasilkan hasil yang sama dan juga memungkinkan penggunaan su (1).

Biasanya akun dengan *bidang kata sandi tidak memiliki kata sandi misalnya: dinonaktifkan untuk masuk. Ini berbeda dengan akun tanpa kata sandi yang berarti bidang kata sandi akan kosong dan yang hampir selalu merupakan praktik yang buruk.


13

Akun dengan kata sandi adalah akun dengan gumpalan base64 di bidang kedua:

root:8sh9JBUR0VYeQ:0:0:Super-User,,,,,,,:/:/bin/ksh
lp:VvHUV8idZH1uM:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh

Komputer ini tampaknya menggunakan crypt(3)hash kata sandi berbasis DES tradisional . Hash ini cukup lemah menurut standar modern; jika Anda tidak bisa mendapatkan login root dengan cara lain, Anda mungkin dapat dengan paksa memulihkan kata sandi, menggunakan John the Ripper atau perangkat lunak serupa. Juga, secara teknis itu bukan base64 tetapi lebih tua, pengkodean serupa, tetapi Anda mungkin tidak perlu khawatir tentang itu.

Perbedaan antara :*:dan :!:disebutkan dalam jawaban lain terlalu baru untuk relevan dengan masalah Anda. Pada sistem UNIX yang lama ini, hanya ada tiga hal berbeda yang dapat muncul di bidang kata sandi:

alice::1001:1001:Alice Can Log In Without A Password:/home/alice:/bin/ksh
bob:WSy1W41d4D1Gw:1002:1002:Bob Must Supply A Password:/home/bob:/bin/ksh
carol:ANYTHING ELSE:1003:1003:Carol Cannot Log In At All:/home/carol:/bin/ksh

Jika isi bidang kata sandi kosong, Anda dapat masuk tanpa kata sandi.

Jika konten bidang adalah crypthash yang valid dari beberapa kata sandi, Anda dapat masuk dengan kata sandi itu.

Kalau tidak, Anda tidak dapat masuk sebagai pengguna itu. *hanyalah hal konvensional untuk digunakan - secara visual jelas bukan hash kata sandi yang valid. Itu mungkin dipilih oleh siapa pun yang menulis passwdprogram.

(Maksud dari memiliki ID pengguna dalam file kata sandi yang tidak dapat login adalah bahwa mereka masih dapat memiliki file, mereka masih dapat memiliki cronpekerjaan, dan daemon dapat digunakan setuiduntuk mengasumsikan identitas itu. Bahkan, praktik terbaik untuk menjalankan semua daemon (yang tidak harus dijalankan sebagai root) di bawah ID pengguna tersebut, sehingga Anda memiliki tingkat kepastian bahwa hanya daemon yang berjalan di bawah identitas itu.)

(Akun dengan /dev/nulldi bidang shell dikunci dari rootpenggunaan suuntuk menjalankan program di bawah identitas pengguna itu, serta login reguler. Saat ini Anda jauh lebih mungkin untuk melihat /bin/falseatau /sbin/nologindigunakan untuk tujuan itu; Saya menduga bahwa pada sistem ini yang terakhir tidak tidak ada dan yang pertama adalah skrip shell.)

(Kata sandi untuk Bob adalah "bobpassw", dienkripsi menggunakan algoritma lama, tetapi pada mesin Linux modern; mungkin bukan apa yang komputer Anda akan menghasilkan untuk kata sandi dan garam yang sama. Salah satu alasan mengapa algoritma lama dianggap tidak baik lagi itu memiliki batas atas keras 8 karakter dalam kata sandi.)

(Saya tahu sistem ini benar-benar tua karena menggunakan hashing kata sandi berbasis DES, karena tidak menggunakan file bayangan, dan karena shell root /bin/kshlebih daripada sesuatu yang lebih baru dan lebih ergonomis.)


Saya pikir kata sandi bob tidak cukup membuat formulir.
Yosua

@ Yosua Memperbaiki sekarang :)
zwol

Jika dia perlu boot ke mesin, bukankah itu akan lebih cepat boot dalam mode pemulihan atau boot dengan USB live CD / DVD dan mengubah kata sandi ke yang lain daripada menggunakan john the ripper?
YoMismo

@YoMismo Komputer seusia ini (tebakan saya yang berpendidikan sejak awal 1990-an) mungkin tidak memiliki mode pemulihan. Mungkin memang memiliki kemampuan untuk boot dari beberapa jenis media yang dapat dilepas, tetapi mungkin cukup sulit untuk menemukan CD atau tape bootable atau apa pun. LiveCD modern pasti tidak akan berfungsi.
zwol

@ zwol Saya akan mencoba untuk memulai sistem dengan distro yang sebenarnya dan chroot ke sistem lamanya, kemungkinan besar passwdtidak perlu sudah menginstal --bind / dev / sys ....
YoMismo

8

Ini berarti dinonaktifkan untuk login langsung. Ini adalah pengguna yang digunakan untuk menjalankan layanan atau digunakan untuk rlogin. Periksa https://en.wikipedia.org/wiki/Passwd#Password_file


Komputer ini cukup tua saya tidak yakin apakah artinya berubah seiring waktu.
j0h

@WouterVerhelst: Ini dinonaktifkan untuk masuk. Itu tidak dinonaktifkan untuk rlogin. Anda harus melihat jawabannya lebih dekat.
Brian

Saya mengubah jawaban saya. Saya harap sekarang lebih tepat untuk @WouterVerhelst.
Marco

3

Tentang pertanyaan Anda yang sebenarnya, lihat jawaban taliezin (dan terima jawaban itu;)

Tentang masalah Anda yang lain: Cari string 8sh9JBUR0VYeQ pada disk untuk mengetahui blok disk yang digunakannya. Kemudian dd blok disk itu menjadi file, ganti string itu dengan hash kata sandi yang dikenal (crypt yang lama) () satu - panjang yang sama) dan tulis kembali blok disk ke lokasi lama - mungkin lakukan pencadangan penuh disk sebelumnya. Karena pendekatan ini tidak mengubah ukuran file, tidak ada meta data sistem file yang perlu diperbarui.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.