Openshift - SCC
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。
该页面的原作者是 Guillaume
定义
在 OpenShift 的上下文中,SCC 代表 安全上下文约束。安全上下文约束是控制在 OpenShift 集群上运行的 pod 权限的策略。它们定义了 pod 允许运行的安全参数,包括可以执行的操作和可以访问的资源。
SCC 帮助管理员在集群中强制执行安全策略,确保 pod 以适当的权限运行并遵循组织的安全标准。这些约束可以指定 pod 安全的各个方面,例如:
- Linux 能力:限制容器可用的能力,例如执行特权操作的能力。
- SELinux 上下文:强制容器的 SELinux 上下文,定义进程如何与系统上的资源交互。
- 只读根文件系统:防止容器修改某些目录中的文件。
- 允许的主机目录和卷:指定 pod 可以挂载的主机目录和卷。
- 以 UID/GID 运行:指定容器进程运行的用户和组 ID。
- 网络策略:控制 pod 的网络访问,例如限制出口流量。
通过配置 SCC,管理员可以确保 pod 以适当的安全隔离和访问控制级别运行,从而降低集群内安全漏洞或未经授权访问的风险。
基本上,每当请求 pod 部署时,都会执行如下的入场过程:

默认情况下,这一额外的安全层禁止创建特权 pod、挂载主机文件系统或设置可能导致特权升级的任何属性。
列出 SCC
要使用 Openshift 客户端列出所有 SCC:
$ oc get scc #List all the SCCs
$ oc auth can-i --list | grep securitycontextconstraints #Which scc user can use
$ oc describe scc $SCC #Check SCC definitions
所有用户都可以访问默认的 SCC “restricted” 和 “restricted-v2”,这是最严格的 SCC。
使用 SCC
用于 pod 的 SCC 在注释中定义:
$ oc get pod MYPOD -o yaml | grep scc
openshift.io/scc: privileged
当用户访问多个SCC时,系统将使用与安全上下文值对齐的SCC。否则,它将触发禁止错误。
$ oc apply -f evilpod.yaml #Deploy a privileged pod
Error from server (Forbidden): error when creating "evilpod.yaml": pods "evilpod" is forbidden: unable to validate against any security context constrain
SCC Bypass
References
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

