为什么大家都这么关心etc/passwd?

fun*_*guy 35 security passwd-file

这是这个特定文件的我的流浪机器的内容:

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
Run Code Online (Sandbox Code Playgroud)

有人能解释一下,如果某个邪恶的人可以获取我的生产服务器的这个文件,为什么会很糟糕?

Ser*_*nyy 48

关键的一点是Pentesters /白帽子/道德黑客以及黑客的目标/etc/passwdproof of concept,为获得访问系统的可能性的试验。

从技术上讲/etc/passwd并没有那么可怕。过去它用来存储私人数据,显然是密码,但现在你需要更加担心/etc/shadow- 现在大多数 Linux 系统都使用shadow一套实用程序来保存散列和加盐的密码/etc/shadow,这不像/etc/passwd不是世界-可读。(除非你使用pwunconv命令,它实际上将散列密码移回`/etc/passwd)。

唯一或多或少敏感的信息是用户名。如果您在服务器上拥有sshdtelnet以及密码弱的用户名,则存在暴力攻击的可能性。

顺便说一下,之前也有人问过你同样的问题。在这里,我只是重申了那里已经提到的一些概念。

小补充:这有点牵强,但我注意到你有bashroot shell。现在,假设您在系统上有一个用户bash作为他们的 shell,更糟糕的是 - 该用户是 sudoer。现在,如果您的 bash 已过时或未打补丁,攻击者可能会尝试利用Shellshock 漏洞窃取数据或执行fork-bomb暂时关闭您的系统。所以是的,技术上/etc/passwd来说没什么大不了的,但它确实让攻击者了解了一些关于尝试什么的信息

附加编辑,2016 年 11 月 18 日

在 Digital Ocean 上使用了 Ubuntu 服务器一段时间后,我注意到,大多数针对我的服务器的蛮力攻击都是针对root用户进行的 - 99% 的失败密码条目/var/log/auth.log都是针对root. /etc/password,正如我之前提到的,让攻击者查看用户列表,不仅仅是系统用户,还有人类用户,这意味着更多潜在的攻击场所。让我们记住,并非所有用户都具有安全意识,并不总是创建强密码,因此攻击者押注人为错误或过度自信很有可能中奖。

  • +1,很好的答案。除此之外,我还想说,一般来说,信息就是力量;撇开臭名昭著的 Shellshock 不谈,人们可能会收集例如有关正在运行的进程的信息,这些信息也可能被利用;例如,在 OP 的机器上,Apache 正在运行,这是另一个未被发现的潜在漏洞 (6认同)

War*_*ill 11

为了登录到一台机器,您需要知道用户名和密码。

/etc/passwd 提供有关用户的信息,这些信息为您提供所需信息的一半,并用于包含密码的哈希值。

哈希值是根据您的密码计算得出的。很难从散列中找到密码,反之则不然。如果您同时拥有这两个密码,则可以尝试使用蛮力尝试离线查找密码,然后在找到密码后才尝试连接到计算机。

今天的安全性得到了提高,因为散列存储在不同的文件/etc/shadow中,默认情况下,大多数用户无法读取该文件。

但是,如果我可以访问两者,/etc/passwd并且/etc/shadow我可能会使用蛮力“字典”攻击找到您的密码。由于我可以在我的机器上本地执行此操作,因此您不会注意到多次尝试找到您的密码失败,而且我只需要在知道密码后再次连接到您的机器。然后我可以自由地做任何我想做的事。

维基百科上有更多信息