如何使用 ping 进行权限提升?

信息安全 特权升级 重击
2021-09-03 22:30:58

我正在尝试实现特权升级。我在 Linux 上有一个虚拟机,我从 rbash 终端逃脱了。我现在有一个“普通”用户终端。我的用户不在 sudoers 文件中。

是否可以使用 ping 命令执行权限提升?

允许使用 SUID 位,/bin/ping但我不知道如何从那里开始。有人可以帮忙吗?

1个回答

SUID 二进制文件本身不能用于特权升级问题是当软件中存在漏洞时(例如,许多 CTF 的 SUID 二进制文件包含一个缓冲区溢出漏洞,可以利用该漏洞进行权限提升)或管理员在不应该设置的二进制文件上设置了 SUID 位. 后者的一个极端示例是管理员设置vim为 SUID 和 owner ,允许用户在 vim 会话 ( ) 中root以 root 身份执行 bash 命令。:![shell command]

对此的快速参考检查使我看到了这篇关于 Linux privesc的文章。您可能会发现该部分3. Exploiting SUID Executables很有帮助。

ping实用程序要求二进制文件由 root 拥有并设置 SUID 位,因为它使用只有 root 才能执行的“原始套接字”发送/接收 ICMP 请求。您需要找到易受攻击的版本ping(我认为这就是@Arminius 要求该版本的原因)或注入代码/命令的方法。就我个人而言,我从来没有能够利用ping渗透测试或 CTF 来提升权限,但这当然并不意味着不可能:)

一个著名的类似示例是nmap支持该--interactive模式的旧版本如果设置了 SUID 位(许多扫描,例如默认的同步扫描-sS“需要原始数据包权限”),那么您可以从交互模式切换到 root shell。如果您有兴趣,更多信息在上面的 privesc 链接中。

如果您正在查看 CTF 挑战,我通常会首先开始寻找明显的非默认 SUID 程序(例如/opt/myprog/test.bin),然后/bin/ping在其他检查无果后作为最后的手段返回“正常” suid 程序