Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
黑客可以对非root用户(Linux)做什么?_Linux_Buffer Overflow - Fatal编程技术网

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

黑客可以对非root用户(Linux)做什么?,linux,buffer-overflow,Linux,Buffer Overflow,比如说,我让我的朋友“斯图尔特”在我的VPS上有一个帐户,权限非常有限,因为他问得很好。由于斯图尔特不是那么聪明,他不小心在IRC聊天室中发布了他的密码,现在每个人和他/她的奶奶都可以通过ssh登录到他的帐户中。我的问题是,在一个有经验的黑客手中,系统会受到什么样的破坏 是否有人可以编写一个简单的C程序来故意操纵strcpy中的缓冲区溢出,并提供一个根shell来完全控制系统,或者操作系统中是否有内置的保护措施,一旦有人可以访问机器,而不需要远程攻击,他们只需要升级权限就可以拥有root访问权限

比如说,我让我的朋友“斯图尔特”在我的VPS上有一个帐户,权限非常有限,因为他问得很好。由于斯图尔特不是那么聪明,他不小心在IRC聊天室中发布了他的密码,现在每个人和他/她的奶奶都可以通过ssh登录到他的帐户中。我的问题是,在一个有经验的黑客手中,系统会受到什么样的破坏


是否有人可以编写一个简单的C程序来故意操纵strcpy中的缓冲区溢出,并提供一个根shell来完全控制系统,或者操作系统中是否有内置的保护措施,一旦有人可以访问机器,而不需要远程攻击,他们只需要升级权限就可以拥有root访问权限

远程攻击需要有一个可公开访问的易受攻击的外部服务。假设一个标准的VPS得到了良好的维护,那么就不应该有任何一个VPS在运行

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


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

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

  • 叉式炸弹
  • 访问绑定到127.0.0.1的服务
  • 将服务器用作恶意攻击的代理
  • 从服务器提供恶意文件
  • 地方功绩
  • 信息泄漏
  • 邮件中继

但是,您描述的攻击是不可能的,因为该文件必须由root所有,并且必须设置setuid或setgid位。

取决于您将授予Stuart什么样的特权?您知道。。。这是一场军备竞赛……他可以举例说明使用叉形炸弹,或者尝试从安全网站上利用漏洞,尝试一些外壳代码。比如说,他在自己的主目录中有rwx,在其他任何地方都有r-x,并且设置了进程限制,所以他不能那么容易地使用叉形炸弹。他主目录中的rwx是可以的。但我不会在其他地方给他r-x。有些文件他应该无法读取、执行或访问。一个很好的例子是/etc/shadow,或者属于root或系统中其他用户的文件。因此,假设Stuart可以找到root拥有的具有缓冲区溢出漏洞的程序,那么他可以访问root shell,对吗?如果您的系统没有其他保护措施,并且它是setuid,那么可以。