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 Fleet 集成或类似结构的数据才能与此规则兼容。
规则查询
编辑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
- 参考 URL:https://attack.mitre.org/tactics/TA0004/
-
技术
- 名称:逃逸到主机
- ID:T1611
- 参考 URL:https://attack.mitre.org/techniques/T1611/
-
战术
- 名称:执行
- ID:TA0002
- 参考 URL:https://attack.mitre.org/tactics/TA0002/
-
技术
- 名称:部署容器
- ID:T1610
- 参考 URL:https://attack.mitre.org/techniques/T1610/