Mengapa semua orang begitu peduli dengan etc / passwd?

36

Berikut adalah isi dari mesin gelandangan saya dari file khusus ini:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/us$
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
syslog:x:100:103::/home/syslog:/bin/false

Adakah yang bisa menjelaskan mengapa tidak baik jika ada orang jahat yang mendapatkan file server produksi ini?

jamur
sumber
19
Kembali di masa lalu itu berisi kata sandi terenkripsi untuk setiap pengguna - di mana: x: sekarang. Jika Anda mendapatkannya (yang mudah dibaca oleh semua orang, jadi Anda hanya perlu satu login), Anda bisa dengan kasar memaksa crack passwordnya. Sekarang mereka disimpan di / etc / shadow yang tidak dapat dibaca oleh semua sehingga kecil kemungkinannya untuk "keluar", tetapi yang akan memiliki masalah yang sama jika itu terjadi.
Mark Smith
8
Untuk satu saya dapat memberitahu Anda memiliki server web di mesin ini. Digabungkan dengan alamat IP Anda, ini mungkin bisa diretas>: - D
Rinzwind
3
@MarkSmith Ini berisi kata sandi terenkripsi kapan? AFAIK mulai hidup sebagai kata sandi hash. Tentu saja sejak saya pertama kali menggunakan Unix pada tahun 1982.
user207421
3
@ungung: Pengguna www-data biasanya digunakan oleh server web. Ubuntu dan mungkin Debian menggunakan pengguna ini sebagai pengguna Apache default.
Lie Ryan
3
@funguy www-data adalah pengguna apache default. Ada lagi: uucp adalah unix untuk unix copy; itu berarti Anda menyalin file antar sistem. Dan "irc" dan "agas" juga mudah dikenali.
Rinzwind

Jawaban:

47

Titik kunci adalah bahwa pentesters / putih-topi / hacker etika serta sasaran hitam-hat /etc/passwd sebagai proof of concept, sebagai ujian kemungkinan mendapatkan akses ke sistem.

Secara teknis /etc/passwdtidak menakutkan. Di masa lalu itu digunakan untuk menyimpan data pribadi, kata sandi jelas, tetapi pada saat ini Anda harus lebih khawatir tentang /etc/shadow- sebagian besar sistem Linux saat ini menggunakan shadowseperangkat utilitas untuk menyimpan kata sandi hash dan asin /etc/shadow, yang tidak seperti /etc/passwddunia. -baca (kecuali Anda menggunakan pwunconvperintah, yang sebenarnya memindahkan kata sandi hash kembali ke `/ etc / passwd).

Satu-satunya info yang kurang lebih sensitif adalah nama pengguna. Jika Anda memiliki sshdatau telnetdi server dan nama pengguna dengan kata sandi yang lemah, ada potensi serangan brute force.

Omong-omong, pertanyaan Anda yang sama telah ditanyakan sebelumnya . Di sini saya hanya menyatakan kembali beberapa konsep yang telah disebutkan di sana.

Tambahan kecil: ini agak dibuat-buat, tetapi saya perhatikan Anda memiliki bashroot shell. Sekarang, misalkan Anda memiliki pengguna pada sistem yang memiliki bashshell mereka, lebih buruk lagi - pengguna itu sudoer. Sekarang, jika Anda bash kedaluwarsa atau tidak ditambal, penyerang dapat mencoba untuk mengeksploitasi kerentanan Shellshock untuk mencuri data atau mengeksekusi bom garpu yang membuat sistem Anda turun sementara. Jadi ya, secara teknis /etc/passwdbukan masalah besar, tetapi memberikan penyerang ide tentang beberapa informasi tentang apa yang harus dicoba

Suntingan tambahan, 11/18/2016

Setelah menggunakan server Ubuntu di Digital Ocean untuk sementara waktu, saya perhatikan, bahwa sebagian besar serangan brutal terhadap server saya dilakukan untuk rootpengguna - 99% dari entri untuk kata sandi gagal /var/log/auth.logadalah untuk root. /etc/password, seperti yang saya sebutkan sebelumnya, memberikan penyerang melihat daftar pengguna, dan bukan hanya pengguna sistem, tetapi pengguna manusia juga, yang berarti lebih banyak tempat yang potensial untuk diserang. Mari kita ingat bahwa tidak semua pengguna sadar akan keamanan dan tidak selalu membuat kata sandi yang kuat, sehingga taruhan penyerang atas kesalahan manusia atau terlalu percaya diri memiliki kemungkinan yang cukup besar untuk menjadi jackpot.

Sergiy Kolodyazhnyy
sumber
6
+1, jawaban yang bagus. Selain itu, saya juga ingin mengatakan bahwa, secara umum, informasi adalah kekuatan; mengesampingkan Shellshock yang terkenal, orang mungkin mengumpulkan, misalnya, informasi tentang proses yang sedang berjalan, yang dapat dieksploitasi juga; misalnya, pada mesin OP, Apache berjalan, dan itu lubang potensial lain yang belum ditemukan
kos
1
Hmm ... Jadi, apakah Anda menyarankan mengubah nama pengguna default untuk membingungkan penyerang?
Freedo
@ Kebebasan Itu tidak membantu. ID Pengguna dan Grup tetap sama jika Anda mengubah login. Sebagai contoh, inilah testuser saya: testuser1:x:1001:1001:,,,:/home/testuser:/bin/bash. Setelah saya menjalankan sudo usermod testuser1 -l testuser2 sudo usermod testuser1 -l testuser2 , entri memiliki nama pengguna tetapi gid yang berbeda dan uid yang sama: testuser2:x:1001:1001:,,,:/home/testuser:/bin/bash. Jika kata sandi tidak diubah, penyerang dapat menebak dan masih memecahkan sistem. Membutuhkan kata sandi untuk kedaluwarsa dan diubah sesekali adalah pendekatan yang lebih baik, tetapi juga bukan bukti peluru.
Sergiy Kolodyazhnyy
1
Mengubah nama pengguna default IS berguna, untuk akun yang memiliki login SSH (atau login jarak jauh lainnya). Jadi mengubah port default untuk login tersebut tentu saja. Apa pun yang memungkinkan Anda menjaga log Anda dari miliaran scan drive-by acak oleh skrip-kiddies akan berarti bahwa Anda dapat fokus pada serangan yang lebih disengaja. Jika nama khusus Anda muncul di log gagal-login Anda, Anda tahu itu adalah upaya serius untuk masuk, bukan drive-by.
Dewi Morgan
11

Untuk masuk ke mesin, Anda harus tahu nama pengguna dan kata sandi.

/etc/passwd memberikan informasi tentang pengguna yang memberi Anda setengah dari informasi yang Anda butuhkan dan digunakan untuk memasukkan hash kata sandi Anda.

Hash menjadi sesuatu yang dihitung dari kata sandi Anda. Sulit untuk menemukan kata sandi dari hash tetapi tidak sebaliknya. Jika Anda memiliki keduanya, Anda dapat mencoba upaya brute force untuk menemukan kata sandi offline maka hanya mencoba terhubung ke komputer setelah Anda menemukannya.

Keamanan hari ini ditingkatkan karena hash disimpan dalam file /etc/shadowyang berbeda yang secara default tidak dapat dibaca oleh sebagian besar pengguna.

Tetapi, jika saya memiliki akses ke keduanya /etc/passwddan /etc/shadowsaya mungkin dapat menemukan kata sandi Anda menggunakan serangan 'kamus' brute force. Karena saya dapat melakukan ini secara lokal di mesin saya, Anda tidak akan melihat banyak upaya gagal untuk menemukan kata sandi Anda dan saya hanya perlu terhubung ke mesin Anda lagi setelah saya tahu kata sandinya. Saya kemudian bebas melakukan apa pun yang saya inginkan.

Ada informasi lebih lanjut di sini di Wikipedia

Warren Hill
sumber
Terasa seperti Anda mungkin harus menyebutkan 'meja pelangi' di sini hanya untuk memberikan beberapa ide tentang bagaimana serangan brute force bekerja.
Rick Chatham