尝试从 root EUID 获取 root UID

尝试从 root EUID 获取 root UID

现在的情况是这样的。我有一个假设的系统,有 2 个用户 -“user1”和“root”。用户“user1”只是一个普通的非 sudoer 用户,uid=1000,而 root 只是一个普通的 root 用户,uid=0。

假设通过系统中的某个漏洞user1,可以获得euid=0,但他的uid仍然是1000。这给了他一些root能力,但不是全部。例如:访问 /root 就好像 root 正在尝试这样做一样,但是运行“sudo”或“su”似乎是基于 UID 而不是 EUID 运行的。

我的问题是:既然我们有 euid=0,是否有一种优雅的方法不需要上传二进制文件、更改 /etc/shadow 或 /etc/passwd 将 uid 也切换为 0?如果该方法能够在本机运行并且不假设特定程序(例如 gcc)存在,那就太好了。

到目前为止,我只能想出python -c 'import pty; import os; os.setuid(0); pty.spawn("/bin/bash")'哪个相当好,但假设系统上安装了 python。还有更好的建议吗?

答案1

这适用于许多默认配置。

perl -MEnglish -e '$UID = 0; $ENV{PATH} = "/bin:/usr/bin:/sbin:/usr/sbin"; exec "su - root"'

这将设置 uid 并使您成为 root 用户。

借自伊尔卡丘。

相关内容