问题描述
这是我的特定文件的流浪机的内容:
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
有人可以解释一下为什么一个邪恶的家伙可以获得我的生产服务器的这个文件是不是很糟糕?
最佳解决思路
关键点是Pentesters /white-hats /ethical hackers以及black-hat目标/etc/passwd
作为proof of concept
,作为获得系统访问可能性的测试。
从技术上讲,/etc/passwd
并不那么可怕。在过去,它用来存储私人数据,密码很明显,但作为时下你需要更担心/etc/shadow
– 大多数Linux系统现在使用的公用事业shadow
套件保持/etc/shadow
哈希和盐渍的密码,它不像/etc/passwd
不是world-readable。 (除非你使用pwunconv
命令,它实际上将散列密码移回`/etc /passwd)。
唯一或多或少敏感的信息是用户名。如果服务器上有sshd
或telnet
,密码为弱的用户名,则可能发生暴力攻击。
顺便说一下,你的同一个问题一直是asked before。在这里,我只是重述了那里提到的一些概念。
小补充:这是一个小far-fetched,但我注意到你有bash
作为root shell。现在,假设您的系统上有一个用户将bash
作为他们的shell,更糟糕的是 – 该用户是sudoer。现在,如果您的bash已过期或未打补丁,攻击者可能会尝试利用Shellshock vulnerability窃取数据或执行fork-bomb暂时关闭系统。所以是的,技术上/etc/passwd
并不是什么大问题,但它确实让攻击者了解了一些关于尝试什么的信息
额外的编辑,2016年11月18日
在Digital Ocean上使用Ubuntu服务器已有一段时间了,我注意到,对root
用户进行了对我的服务器的大多数暴力攻击–/var/log/auth.log
中99%的密码失败条目是root
。正如我之前提到的,/etc/password
让攻击者查看用户列表,而不仅仅是系统用户,还有人类用户,这意味着更多潜在的攻击场所。让我们记住,并非所有用户都具有安全意识,并且不总是创建强密码,因此攻击者对人为错误或过度自信的赌注很有可能成为累积奖金。
次佳解决思路
要登录计算机,您需要知道用户名和密码。
/etc/passwd
提供有关用户的信息,这些信息为您提供所需信息的一半,并用于包含密码哈希值。
哈希是根据您的密码计算的。很难从哈希中找到密码而不是相反。如果您同时使用这两种方法,则可以尝试强制尝试离线查找密码,然后只有在找到密码后才尝试连接到计算机。
今天安全性得到改善,因为哈希存储在不同的文件/etc/shadow
中,默认情况下大多数用户无法读取。
但是,如果我可以同时访问/etc/passwd
和/etc/shadow
,我可能会使用暴力’dictionary’攻击找到您的密码。由于我可以在我的机器上本地执行此操作,因此您不会发现许多尝试找到密码失败的尝试,而我只需要在知道密码后再次连接到您的机器。然后,我可以自由地做任何我想做的事情。
还有更多信息here on Wikipedia