-1

我正在尝试一个 CTF,在那里我发现 base64 二进制文件是 SUID。我也检查了 linpeas,它说它很脆弱。我尝试使用以下步骤来提升权限:

1.创建一个名为exploit的文件并在其中放入以下代码。''' chmod +s /bin/sh '''

2.现在我用 base64 ''' cat exploit|base64 ''' 编码它导致 Y2htb2QgK3MgL2Jpbi9zaAo=

3.然后我使用下面的代码来执行它。

'''base64 -d <<< Y2htb2QgK3MgL2Jpbi9zaAo= |sh''' 它说不允许操作

我尝试将漏洞利用脚本更改为 '''/bin/bash -p''' 和 ''' #!/bin/sh /bin/bash -p '''

但它只是给了我一个普通的 bash shell。谁能解释为什么base64是一个SUID并且易受攻击而不提供root shell以及如何获得root shell?(对不起,如果我做错了什么……我只是一个学习者:)

4

1 回答 1

0

这根本不是一种利用。您只是尝试执行 chmod 命令,如果您尝试从 shell 执行它,或者编码/解码为 base64 然后从 shell 执行它,则没有区别。

我想,最初的想法是对 chmod 命令进行编码并将混淆的命令提供给非常非常愚蠢的用户。谁拥有超级用户权限,所以他将以超级用户权限执行它,任何运行“sh”的人都将以超级用户权限运行 sh。

摘要:base64 编码不是漏洞或利用。它只是将某些内容编码为字符串。您将如何找到以超级用户权限运行它的可能性的方式应该是一种利用。

于 2021-10-22T12:55:40.800 回答