为什么chroot(2)
非特权用户无法使用?
我不明白互联网上的现有答案。例如这个https://lists.freebsd.org/pipermail/freebsd-security/2003-April/000123.html。
将sudo
真正的工作,如果/etc/sudoers
和/etc
被所有者不是root?非特权用户不能只在 chroot 中创建 root 拥有的 setuid 二进制文件,是吗?
一个非特权用户究竟如何破坏 chroot 环境?
我只能想到这样的事情
ln /mnt/backup/XYZ/etc/sudoers $CHROOT/etc/sudoers
ln /usr/bin/sudo $CHROOT/usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
whereXYZ
表示一些备份实例,管理员真的搞砸了并允许我的用户做一些危险的事情。但这有点特别。chroot(2)
如果非特权用户可以使用它,是否还有更直接的利用方法?
普通用户无法创建 setuid 二进制文件,但没有什么可以阻止他创建到现有 setuid 二进制文件的硬链接。因此,如果他对与 位于同一文件系统上的目录具有写权限,他可以将监狱放入此目录中,创建指向或 的/usr/bin
硬链接,然后将自定义的and放入监狱中。su
sudo
/etc/passwd
/etc/sudoers
也许这不适用于sudo
,因为它可能会检查它是否/etc/sudoers
由 root 拥有。但我敢打赌su
不会检查 的所有权/etc/passwd
。
归档时间: |
|
查看次数: |
1009 次 |
最近记录: |