向某个(非 root)用户植入一段恶意代码并由其执行,可能被视为最严重的安全漏洞之一。(我能想到的唯一更严重的安全漏洞实际上是访问 root 用户)
当攻击者获得一个普通用户(比如普通的 Ubuntu 用户)的代码执行权限后,他/她可以有效地做什么?攻击者接下来会做什么?那段代码会做什么?
假设用户不会愚蠢到被引诱在她不知道的表单/程序中输入 root/sudo 密码。则只会安装来自可信来源的软件。
在我看来,我们能做的其实不多,不是吗?
补充:我之所以问这个问题,部分原因是我正在考虑授予某些人对我的服务器的 shell(非 root)访问权限。他们应该能够正常访问程序。我希望他们能够使用 gcc 编译程序。因此,肯定会有任意代码在用户空间中运行...
答案1
如果攻击者拥有你系统的本地 shell 访问权限,则可能会出现一些潜在问题。
首先,如果您没有完全更新安全补丁,那么攻击者可能会对系统上的二进制文件进行权限提升攻击。从 Linux 的角度来看,主要风险是作为特权用户运行的进程中的漏洞。过去发生过许多这样的事件(例如)
具有本地权限的攻击者可以寻求升级的其他方式是在文件系统中查找可能有助于他们升级权限的凭据或其他信息,或者尝试让特权用户执行他们创建的具有恶意目的的代码。
答案2
对于任何普通用户来说,都可以通过耗尽资源来执行拒绝服务。例如,用户可能会cat /dev/zero > /tmp/overflow
用尽所有可用磁盘空间,或故意启动 fork 炸弹来耗尽 CPU 和 RAM,或用垃圾流量淹没您的主网络接口。
您需要仔细设置各种每个用户的配额以防止此类攻击。