了解 sudo 和可能的漏洞利用

Asp*_*e27 1 linux command-line output

我正在进行一些渗透测试并遵循一些指南来了解交易工具。我按照这里的指南进行操作,除了最后一页之外,我了解所有内容。

我需要帮助理解sudo -l下面。我知道它详细说明了当前用户可以做什么。但是,下面的输出是什么意思?

在此处输入图片说明

下面的命令(不包括触摸)怎么样?这让我有点困惑,因为在运行该命令(利用?)后,我能够获得 root 权限。

在此处输入图片说明

根据我的理解,该行是说以 root 身份运行命令或提升到 root,压缩名为exploit的文件,并将其放置在 tmp/exploit.conf 中。我相信我错了,但这就是我对那条线的理解停止的地方。

我对如何使用该命令获得 root 权限以及该行正在做什么感到困惑。

Dop*_*oti 6

对于您的第一个问题,指示的输出行告诉您,您可以以root 用户身份运行/bin/tar/usr/bin/zip通过sudo,甚至无需提供zico的密码。

对于您的第二个问题,我们从zip的手册页得到答案:

   --unzip-command cmd
          Use command cmd instead of 'unzip -tqq' to test an archive when the -T option is used.
Run Code Online (Sandbox Code Playgroud)

因此,由于您有权以ziproot 用户身份通过运行sudo,因此漏洞利用只是告诉zip“嘿,当您测试此存档时,请使用该命令sh -c /bin/bash来测试它,好吗?” 这样做很有帮助,为您提供了一个 root shell。

exploit文件只是为了提供zip一些压缩的东西,所以会有一些东西可以“测试”。它永远不会被运行或任何东西,实际上在您的演示中只是一个空文件。

$ sudo -u root zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"
Run Code Online (Sandbox Code Playgroud)

指示sudo以 root 用户身份运行以下命令:

$ zip /tmp/exploit.zip /tmp/exploit -T --unzip-command="sh -c /bin/bash"
Run Code Online (Sandbox Code Playgroud)

此命令将获取该文件/tmp/exploit并将其放入一个新的存档文件中/tmp/exploit.zip。该-T开关告诉zip到那么牛逼EST档案的完整性,以及--unzip-command开关告诉zip 如何测试存档。最后一件事是实际的漏洞利用:因为zip是以 root 身份运行的,所以运行sh -c /bin/bash会给你一个以 root 用户身份运行的 shell。

  • 不,它是说“我希望你通过_给_我一个外壳来'测试'这个档案”。这就是这里的漏洞利用。 (2认同)