黑客可以用非root用户(Linux)做什么?

假设我让我的朋友“Stuart”在我的VPS上拥有一个非常有限权限的帐户,因为他问得很好。 由于斯图尔特不那么光明,他不小心将自己的密码张贴在IRC聊天室里,现在每个人和他的奶奶都可以进入他的账户。 我的问题是,在有经验的黑客手中,对系统可能造​​成什么样的损害?

有人可以写一个简单的C程序来故意操纵strcpy的缓冲区溢出,并提供一个用于完全控制系统的root shell,或者在操作系统中是否有内置的保护措施?

具有本地特权的攻击者可以执行任意数量的攻击者,包括但不限于:

  • 叉炸弹
  • 访问绑定到127.0.0.1的服务
  • 使用您的服务器作为恶意攻击的代理
  • 从您的服务器提供恶意文件
  • 本地利用
  • 信息泄漏
  • 邮件中继
  • 等等

然而,你描述的攻击是不可能的,因为这个文件必须由root拥有,并且设置了setuid或者setgid位。

一旦有人可以访问机器,而不需要远程利用,他们只需要提升权限即可拥有root权限。

远程攻击需要拥有可公开访问的易受攻击的服务。 假设维护得当,不应该有任何标准VPS运行。

一旦远程用户可以进行身份​​验证,他们就可以执行机器上的任何代码,或者引入更多的代码。 如果在内核或任何setuid为root的程序中存在错误,他们可以使用它来将它们的权限升级到具有更高权限的用户 – 如root。

所以攻击者编写的一个自定义程序中的一个简单的缓冲区溢出并不是你所关心的 – 这不应该让他们有任何额外的权力。 你关心的是攻击者现在有权访问的系统中的一个漏洞,以及利用漏洞的能力。