OpenShift - Tekton
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
该页面的原作者是 Haroun
什么是 tekton
根据文档:Tekton 是一个强大且灵活的开源框架,用于创建 CI/CD 系统,允许开发人员在云提供商和本地系统上构建、测试和部署。 Jenkins 和 Tekton 都可以用于测试、构建和部署应用程序,但 Tekton 是云原生的。
在 Tekton 中,一切都由 YAML 文件表示。开发人员可以创建类型为 Pipelines 的自定义资源(CR),并在其中指定他们想要运行的多个 Tasks。要运行 Pipeline,必须创建类型为 PipelineRun 的资源。
当安装 tekton 时,在每个命名空间中会创建一个名为 pipeline 的服务账户(sa)。当运行 Pipeline 时,将使用这个名为 pipeline 的 sa 启动一个 pod 来运行 YAML 文件中定义的任务。
Getting Started with Pipelines | Tekton
Pipeline 服务账户的能力
默认情况下,pipeline 服务账户可以使用 pipelines-scc 能力。这是由于 tekton 的全局默认配置。实际上,tekton 的全局配置也是一个 YAML,位于一个名为 TektonConfig 的 openshift 对象中,如果您在集群中拥有一些读取角色,可以查看该对象。
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "pipelines-scc"
在任何命名空间中,如果您能够获取管道服务帐户令牌,您将能够使用 pipelines-scc。
配置错误
问题在于,管道服务帐户可以使用的默认 scc 是用户可控的。这可以通过命名空间定义中的标签来实现。例如,如果我可以使用以下 yaml 定义创建一个命名空间:
apiVersion: v1
kind: Namespace
metadata:
name: test-namespace
annotations:
operator.tekton.dev/scc: privileged
tekton 操作符将赋予 test-namespace 中的管道服务帐户使用 scc privileged 的能力。这将允许挂载节点。
修复方法
Tekton 文档介绍了如何通过在 TektonConfig 对象中添加标签来限制 scc 的覆盖。
这个标签被称为 max-allowed
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
...
...
platforms:
openshift:
scc:
default: "restricted-v2"
maxAllowed: "privileged"
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

