Kubernetes 容器创建时使用了过多的 Linux 功能
编辑Kubernetes 容器创建时使用了过多的 Linux 功能
编辑此规则检测到一个部署的容器使用了多项危险的 Linux 功能。攻击者如果能够部署带有额外功能的容器,则可以利用这些功能进行进一步执行、横向移动或在集群内提升权限。此规则检测到的功能曾被用于容器逃逸到主机。
规则类型: 查询
规则索引:
- logs-kubernetes.*
严重程度: 中等
风险评分: 47
每隔: 5 分钟
每次执行的最大告警数: 100
参考:
- https://kubernetes.ac.cn/docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container
- https://0xn3va.gitbook.io/cheat-sheets/container/escaping/excessive-capabilities
- https://man7.org/linux/man-pages/man7/capabilities.7.html
- https://docs.docker.net.cn/engine/reference/run/#runtime-privilege-and-linux-capabilities
标签:
- 数据源:Kubernetes
- 战术:执行
- 战术:权限提升
版本: 5
规则作者:
- Elastic
规则许可证: Elastic License v2
调查指南
编辑分类和分析
调查 Kubernetes 容器创建时使用了过多的 Linux 功能
Linux 功能旨在将 root 权限划分为更小的单元。每个功能仅向线程授予执行特定特权任务所需的权限。在 Kubernetes 中,容器会获得一组默认功能,这些功能可以在创建时删除或添加。添加的功能使 Pod 中的容器拥有其他权限,这些权限可用于更改核心进程、更改集群的网络设置或直接访问底层主机。以下功能已用于容器逃逸技术
BPF - 允许创建 BPF 映射、加载 BPF 类型格式 (BTF) 数据、检索 BPF 程序的 JIT 代码等。DAC_READ_SEARCH - 绕过文件读取权限检查和目录读取和执行权限检查。NET_ADMIN - 执行各种与网络相关的操作。SYS_ADMIN - 执行一系列系统管理操作。SYS_BOOT - 使用 reboot(2) 和 kexec_load(2) 重启并加载新的内核以供后续执行。SYS_MODULE - 加载和卸载内核模块。SYS_PTRACE - 使用 ptrace(2) 追踪任意进程。SYS_RAWIO - 执行 I/O 端口操作 (iopl(2) 和 ioperm(2))。SYSLOG - 执行特权 syslog(2) 操作。
误报分析
- 虽然这些功能默认情况下不包含在容器中,但某些合法镜像可能需要添加它们。此规则为受信任的容器镜像的例外情况留出了空间。要添加例外情况,请将受信任的容器镜像名称添加到查询字段 kubernetes.audit.requestObject.spec.containers.image 中。
设置
编辑需要启用审核日志的 Kubernetes 集群集成或结构类似的数据才能与此规则兼容。
规则查询
编辑event.dataset: kubernetes.audit_logs and kubernetes.audit.annotations.authorization_k8s_io/decision:"allow" and kubernetes.audit.verb: create and kubernetes.audit.objectRef.resource: pods and kubernetes.audit.requestObject.spec.containers.securityContext.capabilities.add: ("BPF" or "DAC_READ_SEARCH" or "NET_ADMIN" or "SYS_ADMIN" or "SYS_BOOT" or "SYS_MODULE" or "SYS_PTRACE" or "SYS_RAWIO" or "SYSLOG") and not kubernetes.audit.requestObject.spec.containers.image : ("docker.elastic.co/beats/elastic-agent:8.4.0" or "rancher/klipper-lb:v0.3.5" or "")
框架: MITRE ATT&CKTM
-
战术
- 名称:权限提升
- ID:TA0004
- 参考网址:https://attack.mitre.org/tactics/TA0004/
-
技术
- 名称:逃逸到主机
- ID:T1611
- 参考网址:https://attack.mitre.org/techniques/T1611/
-
战术
- 名称:执行
- ID:TA0002
- 参考网址:https://attack.mitre.org/tactics/TA0002/
-
技术
- 名称:部署容器
- ID:T1610
- 参考网址:https://attack.mitre.org/techniques/T1610/