本文通过 Google 翻译 MySQL User Defined Functions – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部门表达别扭的字词进行了校正及个别解释增补。导航
当您实验直接在受害者主机上访问 MySQL 时,上述步调非常紧张。如果您不升级到完整 TTY,您将不会看到密码提示,由于它是交互式的。完成这一步后,我们就可以开始集中精力进行罗列了。首先,我们将了解如何利用手动方法罗列所需的条件,然后利用 LinPEAS 自动查找所有相同的信息。要确定这种攻击是否可行,我们必要找到很多东西,因此让我们先进行一些手动罗列。
这也意味着如果没有完整的 TTY,便无法通过受害主机 Shell 正常登录 MySQL,此时要与该 MySQL 交互就必要通过隧道进行端口转发流量,然后通过攻击机本机的MySQL 客户端进行连接交互。
这个漏洞涵盖多个版本的 MySQL,由于它针对的不是传统意义上的漏洞。UDF 是一种预期功能,旨在允许从 MySQL 内部读/写宿主机文件体系;然而,当 MySQL 服务/进程被错误配置(以root运行进程)或修改为允许过多访问(可在外部登录访问)或 "松散权限 "时,我们就会发现自己处于可以利用此服务并提升访问权限的位置。接下来,我们必要找到一种访问数据库的方法。为此,我们必要找到允许我们登入的凭据。
在此必要明确的一点是,MySQL 的 "root" 账户只是 MySQL 服务的超级用户账户,这与文件体系上的 root 账户不同。接下来,我们应该实验另一个常见的默认密码,即 toor 。为了提示我们输入密码,我们必要将“-p”标志传递到 mysql 命令中。
如果此处有多个用户目录,请实验访问所有目录。您永远不知道您可能会发现您有权访问什么...例如,另一个用户的 bash 汗青文件!请注意,我们在这里没有看到 root 的主配置文件,由于 root 主配置文件位于 /root。另外请注意,bash 汗青记录文件是隐藏的, 可以利用 ls -la 检察
如果您没有 LinPEAS 的副本,您可以在这里获取一份。一般来说,当我们执行 LinPEAS 时,我们将不带参数运行以进行“所有检查”,然后从上到下逐行梳理所有输出。
运行完整扫描时的一个好技巧是将 PEAS 的输出重定向到一个文件,以便利用 grep 快速解析常见漏洞和关键字。获取 LinPEAS 的副本后,我们必要将副本传输给受害者。我们可以通过多种方式来完成此操作,但在本示例中,我们将利用 netcat。
如果 gcc 不在你的 PATH 中并且它说你必要安装它,那么不要立即放弃。您永远不知道 gcc 是否 正好位于体系上不在您的 PATH 中的其他位置。固然可能性不大,但应该进行检查。要查找 体系上 gcc 的所有实例,我们可以利用 find 命令。
同样,如果我们发现 gcc 没有安装,我们应该进行上述搜刮,然后检查每一个以确认 gcc 确实不在体系上,然后再放弃。由于我们发现受害者上安装了gcc ,因此我们可以继续按照解释中的步调编译漏洞利用步伐。
之前,在我们最初的罗列中,我们检查了插件目录。这对于这一步很紧张,由于我们的插件文件夹位置与解释中的位置不同。
SUID(执行时设置所有者用户 ID)是一种特殊的文件权限。通常环境下,当你运行一个步伐时,它会以你当前的用户身份运行。但当一个步伐设置了 SUID 位,步伐就会以该文件所有者的身份运行!基本上,root 拥有的 SUID 二进制文件将以 root 的身份运行,无需利用 sudo。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |