本文通过 Google 翻译 Sudo Part-2 – Linux Privelege Escalation - Juggernaut-Sec 这篇文章所产生,本人仅是对机器翻译中部分表达不准确的字词进行了校正及个别注释补充。导航
如果您尚未查看 第 1 部分 ,我猛烈建议您在阅读本文之前先从第 1 部分开始。在第 2 部分中,我们将把重点转向更高级的漏洞使用主题,例如:滥用预期功能(即在 GTFOBins 上未发现的二进制文件的额外功能)、LD_PRELOAD、令牌重用以及两个针对 sudo特定版本的 CVE 。
如果我们的谷歌搜索不那么幸运,下一步将是搜索大概被滥用的预期功能。为此,我们需要使用 -h 或 –help 开关检查帮助页面。现在我们已经从影子文件中提取了root哈希,我们需要破解它。
您可以从SecLists获得一些缩短版本的 rockyou 文件,以及更多好的字典。
注意:这需要可以或许编辑 LD_PRELOAD 环境变量。如果您收到以下错误:“sudo: sorry, you are not allowed to set the following environment variables: LD_PRELOAD”,那么这将不起作用。通过创建恶意预加载库,我们将欺压命令在实行实际命令之前预加载(实行)我们的库。
此步调对于本示例来说是须要的,因为sudo会提示输入暗码,而只有在拥有完整的 TTY 时我们才能看到该暗码。现在我们有完整的 TTY,运行sudo -l,我们可以看到我们需要用户的暗码才能使用sudo。
如果你有一个具有 sudo 权限的用户 shell,但不知道该用户的暗码,你可以等待他/她使用 sudo 实行某些命令来创建令牌。令牌创建后,你就可以从 sudo 的会话中访问令牌,并使用它实行任何带有 sudo 的命令。4.2、Sudo 令牌重用条件
对于此漏洞,您大概不会手动枚举它。您很大概会从 LinPEAS 输出中找到它。但是,如果您发现除 POC 之外的所有内容都失败了,则可以设置一个循环以每 5 分钟测试一次注入,直到成功。4.5、使用 Sudo 令牌重用
为了让漏洞发挥作用,将exploit.sh和activate_sudo_token放在同一目录中非常紧张。让我们测试一下...
如果由于某种原因运行sudo su没有让您进入 root shell,您可以尝试通过实行activate_sudo_token来手动激活 sudo 令牌。或者,如果exploit.sh 无法工作,我们需要继续尝试exploit_v2.sh。
对于最后两个示例,我们将以用户cain返回 shell 。正如本文第 1 部分所述,sudo 是一个程序(二进制),这意味着它由于多次升级/更新而具有多个版本。这意味着 sudo的某些版本大概 具有公共漏洞和分配给它们的 CVE。
注意:在下一个示例中,我们需要知道当前用户的暗码,因为没有指定 NOPASSWD。我用 NOPASSWD 测试了这个漏洞,但没有成功。也许这是一种快速的修补方法?- 我不知道......也许最好升级到最新版本。6.2、在 Google 上搜索公开漏洞
如果您研究 CVE-2021-3156,您会发现该漏洞适用于各种sudo版本,但相称不同等:“影响 sudo 旧版本 1.8.2 到 1.8.31p2 以及稳固版本 1.9.x 到 1.9.5p1看起来我们的版本恰好低于易受攻击的版本。
在 1.9.12p2 之前的 Sudo 中,sudoedit(又名 -e)功能会错误处理用户提供的环境变量(SUDO_EDITOR、VISUAL 和 EDITOR)中传递的额外参数,从而允许本地攻击者在要使用的文本文件中添加恣意条目。这大概导致权限升级,受影响的版本为 1.8.0 至 1.9.12.p1。该问题存在的原因是用户指定的编辑器大概包含一个会破坏掩护机制的"-"参数,例如 EDITOR='vim - /path/to/extra/file' 值。巨大的!现在我们相识了这个漏洞的作用,让我们用它来获取 root shell!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |