Tại sao mọi người rất quan tâm về vv / passwd?


36

Đây là nội dung của máy mơ hồ của tôi về tập tin cụ thể này:

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

Bất cứ ai có thể giải thích cho tôi tại sao nó là xấu nếu một kẻ xấu có thể lấy tập tin này của máy chủ sản xuất của tôi?


19
Quay lại thời xưa, nó chứa mật khẩu được mã hóa cho mọi người dùng - nơi hiện có: x:. Nếu bạn đã nhận được nó (mọi thứ đều dễ đọc, vì vậy bạn chỉ cần một lần đăng nhập), bạn có thể phá vỡ mật khẩu. Bây giờ chúng được lưu trữ trong / etc / bóng mà không thể đọc được vì vậy ít có khả năng "thoát ra", nhưng sẽ có cùng một vấn đề nếu nó xảy ra.
Mark Smith

8
Đối với một tôi có thể nói với bạn có một máy chủ web trên máy này. Kết hợp với địa chỉ IP của bạn, nó có thể bị hack>: - D
Rinzwind

3
@MarkSmith Nó chứa mật khẩu được mã hóa khi nào? AFAIK nó bắt đầu cuộc sống như mật khẩu băm. Chắc chắn kể từ lần đầu tiên tôi sử dụng Unix vào năm 1982.
user207421

3
@funguy: Người dùng dữ liệu www thường được sử dụng bởi các máy chủ web. Ubuntu và có lẽ Debian đã sử dụng người dùng này làm người dùng Apache mặc định.
Nói dối Ryan

3
@funguy www-data là người dùng apache mặc định. Có nhiều hơn: uucp là unix để unix sao chép; điều đó có nghĩa là bạn sao chép các tập tin giữa các hệ thống. Và "irc" và "gnats" cũng dễ dàng nhận ra.
Rinzwind

Câu trả lời:


47

Điểm mấu chốt là Pentesters / trắng mũ / hacker đạo đức cũng như mục tiêu đen mũ /etc/passwd như proof of concept, như một thử nghiệm về khả năng của tiếp cận với một hệ thống.

Về mặt kỹ thuật /etc/passwdkhông đáng sợ. Trước đây, nó được sử dụng để lưu trữ dữ liệu riêng tư, mật khẩu rõ ràng, nhưng ngày nay bạn cần phải lo lắng hơn /etc/shadow- hầu hết các hệ thống Linux hiện nay đều sử dụng shadowbộ tiện ích để giữ mật khẩu băm và muối /etc/shadow, không giống như /etc/passwdthế giới có thể đọc được (trừ khi bạn sử dụng pwunconvlệnh, thực tế sẽ chuyển mật khẩu được băm trở lại thành `/ etc / passwd).

Thông tin duy nhất ít nhiều nhạy cảm là tên người dùng. Nếu bạn có sshdhoặc telnettrên máy chủ và tên người dùng có mật khẩu yếu, có khả năng bị tấn công vũ phu.

Nhân tiện, câu hỏi tương tự của bạn đã được hỏi trước đây . Ở đây tôi chỉ đơn thuần nhắc lại một số khái niệm đã đề cập ở đó.

Bổ sung nhỏ: đây là một chút xa vời, nhưng tôi nhận thấy rằng bạn có bashvỏ gốc. Bây giờ, giả sử bạn có một người dùng trên hệ thống có bashvỏ của họ, thậm chí còn tệ hơn - người dùng đó là sudoer. Bây giờ, nếu bash của bạn đã lỗi thời hoặc chưa được vá, kẻ tấn công có thể cố gắng khai thác lỗ hổng Shellshock để đánh cắp dữ liệu hoặc thực hiện một quả bom ngã ba tạm thời đưa hệ thống của bạn xuống. Vì vậy, có, về mặt kỹ thuật /etc/passwdkhông phải là một vấn đề lớn, nhưng nó mang lại cho kẻ tấn công ý tưởng về một số thông tin về những gì cần cố gắng

Chỉnh sửa bổ sung, ngày 18/11/2016

Đã sử dụng máy chủ Ubuntu trên Digital Ocean được một thời gian, tôi nhận thấy rằng hầu hết các cuộc tấn công vũ phu chống lại máy chủ của tôi đều được thực hiện cho rootngười dùng - 99% các mục nhập cho mật khẩu không thành công /var/log/auth.loglà dành cho root. /etc/password, như tôi đã đề cập trước đây, giúp kẻ tấn công nhìn vào danh sách người dùng, và không chỉ người dùng hệ thống, mà cả người dùng con người, điều đó có nghĩa là nhiều địa điểm tiềm năng để tấn công. Chúng ta hãy nhớ rằng không phải tất cả người dùng đều có ý thức bảo mật và không phải lúc nào cũng tạo mật khẩu mạnh, do đó, kẻ tấn công đặt cược vào lỗi của con người hoặc sự tự tin quá mức có xác suất rất cao là jackpot.


6
+1, câu trả lời tuyệt vời. Thêm vào đó, tôi cũng muốn nói rằng, nói chung, thông tin là sức mạnh; để lại Shellshock khét tiếng, người ta có thể thu thập, ví dụ, thông tin về các quy trình đang chạy, cũng có thể được khai thác; ví dụ, trên máy của OP, Apache đang chạy và đó là một lỗ hổng tiềm năng khác chưa được khám phá
kos

1
Hmm ... Vì vậy, bạn sẽ đề nghị thay đổi tên người dùng mặc định để gây nhầm lẫn cho kẻ tấn công?
Freedo

@Freedom Điều đó không có ích. Id người dùng và nhóm vẫn giữ nguyên nếu bạn thay đổi đăng nhập. Ví dụ, đây là người thử nghiệm của tôi : testuser1:x:1001:1001:,,,:/home/testuser:/bin/bash. Sau khi tôi chạy sudo usermod testuser1 -l testuser2 sudo usermod testuser1 -l testuser2 , mục nhập có tên người dùng khác nhau nhưng gid và uid giống nhau : testuser2:x:1001:1001:,,,:/home/testuser:/bin/bash. Nếu mật khẩu không thay đổi, kẻ tấn công có thể đoán và vẫn bẻ khóa hệ thống. Yêu cầu mật khẩu hết hạn và thỉnh thoảng được thay đổi là cách tiếp cận tốt hơn, nhưng cũng không phải là bằng chứng đạn.
Sergiy Kolodyazhnyy

1
Thay đổi tên người dùng mặc định là hữu ích, đối với những tài khoản có thông tin đăng nhập SSH (hoặc thông tin đăng nhập từ xa khác). Tất nhiên là thay đổi các cổng mặc định cho những lần đăng nhập đó. Bất cứ điều gì cho phép bạn giữ các bản ghi của bạn tránh khỏi hàng tỷ lần quét ngẫu nhiên theo kịch bản sẽ có nghĩa là bạn có thể tập trung vào các cuộc tấn công có chủ ý hơn. Nếu tên tùy chỉnh của bạn xuất hiện trong nhật ký đăng nhập thất bại, bạn sẽ biết đó là một nỗ lực nghiêm túc để vào, thay vì lái xe.
Dewi Morgan

11

Để đăng nhập vào máy bạn cần biết cả tên người dùng và mật khẩu.

/etc/passwd cung cấp thông tin về người dùng cung cấp cho bạn một nửa thông tin bạn cần và được sử dụng để bao gồm hàm băm mật khẩu của bạn.

Băm là một cái gì đó được tính từ mật khẩu của bạn. Rất khó để tìm thấy mật khẩu từ hàm băm nhưng không phải là cách khác. Nếu bạn có cả hai, bạn có thể thử các nỗ lực vũ phu để tìm mật khẩu ngoại tuyến, sau đó chỉ thử kết nối với máy tính khi bạn đã tìm thấy nó.

Ngày nay, bảo mật được cải thiện vì các giá trị băm được lưu trữ trong một tệp khác /etc/shadowmà hầu hết người dùng không thể đọc được.

Nhưng, nếu tôi có quyền truy cập vào cả hai /etc/passwd/etc/shadowtôi có thể tìm thấy mật khẩu của bạn bằng cách sử dụng một cuộc tấn công 'từ điển' vũ phu. Vì tôi có thể thực hiện việc này cục bộ trên máy của mình, bạn sẽ không nhận thấy nhiều lần thất bại trong việc tìm mật khẩu của mình và tôi chỉ cần kết nối lại với máy của bạn một khi tôi biết mật khẩu. Tôi được tự do làm bất cứ điều gì tôi muốn.

Có nhiều thông tin hơn ở đây trên Wikipedia


Cảm thấy như bạn có lẽ nên đề cập đến 'bàn cầu vồng' ở đây chỉ để đưa ra một số ý tưởng về cách thức hoạt động của cuộc tấn công vũ phu đó.
Rick Chatham
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.