CAP_NET_BIND_SERVICE:绑定小于1024的特权端口,但该功能在重新映射用户后可能会失效。 CAP_NET_RAW:使用RAW或PACKET类型的套接字,并可绑定任何地址进行透明代理。 CAP_SYS_ADMIN:支持内核上的很大一部分管理功能。 CAP_SYS_BOOT:重启系统 CAP_SYS_CHROOT:使用chroot()进行根文件系统切换,并能够调用setns()修改Moun...
这样,万一这个容器失陷,便可以通过挂载宿主机目录,操作宿主机的文件,例如/root/.ssh/authorized_keys, crontab 等等,达到控制宿主机,进行逃逸。 除此之外,容器的一些特殊能力的赋予也需要慎重,例如CAP_SYS_PTRACE,便是拥有着追踪进程的能力,这样有可能通过strace等命令捕获SSH密码: CAP_SYS_ADMIN,允许执行系统管理任务...
通过CAP_SYS_ADMIN权限逃逸: 攻击者可以利用CAP_SYS_ADMIN权限执行一些系统级别的操作,如挂载文件系统、修改系统配置等,从而实现逃逸。 示例代码(添加CAP_SYS_ADMIN权限): yaml apiVersion: v1 kind: Pod metadata: name: adminpod namespace: default spec: containers: - name: ubuntu image: ubuntu imagePull...
mount命令是一个系统调用(syscall)命令,系统调用号为165,执行syscall需要用户具备CAP_SYS_ADMIN的Capability,如果在宿主机启动时添加了--cap-add SYS_ADMIN参数,那root用户就能在容器内部就能执行mount挂载cgroup,docker默认情况下不会开启SYS_ADMIN Capability 漏洞利用 漏洞利用的第一步是在容器里创建一个临时目录/tmp/...
危险权限包括:privileged 权限、Capabilities 权限(如 cap_sys_admin,cap_sys_module,cap_sys_dac_search 等);如果容器被赋予了以上的危险权限,将导致限制容器的安全机制失效。 危险目录包括:/、/docker.sock、/procfs、/root、/etc、/var/log、/dev 等等;容器挂载危险目录会导致容器文件系统隔离被打破,进而获得特...
AllowPrivilegeEscalation:控制是否允许特权升级,及进程是否能够获取比父进程更多的特权;运行于特权模式或具有CAP_SYS_ADMIN能力的容器默认允许特权升级。 1. 2. 3. 4. 5. 6. 7. 8. 9. 这些安全上下文相关的特性多数嵌套定义在pod或容器的securityContext字段中,而且有些特性对应的嵌套字段还不止一个。而seccomp...
Linux 权能:为进程赋予 root 用户的部分特权而非全部特权。 AppArmor:使用程序框架来限制个别程序的权能。 Seccomp:过滤进程的系统调用。 AllowPrivilegeEscalation:控制进程是否可以获得超出其父进程的特权。 此布尔值直接控制是否为容器进程设置 no_new_privs 标志。当容器以特权模式运行或者具有 CAP_SYS_ADMIN 权能时,...
AllowPrivilegeEscalation:控制进程是否可以获得超出其父进程的特权。 此布尔值直接控制是否为容器进程设置no_new_privs标志。 当容器以特权模式运行或者具有CAP_SYS_ADMIN权能时,AllowPrivilegeEscalation 总是为 true。 readOnlyRootFilesystem:以只读方式加载容器的根文件系统。
此 PR 的审核过程显示,最初的 Kubernetes 增强提案(KEP)需要更新。确实,KEP 建议 sysadmin 配置文件仅具有 CAP_SYS_ADMIN 而使用特权则更合适。因此,我们也提交了一个PR[2]来更新相应的 KEP。随着这个 PR 的合并,我们能够合并第一个 PR,将 sysadmin 配置文件添加到 kubectl debug。
危险权限指的是 privileged 权限(特权容器)和危险的Capabilities 权限(如 cap_sys_admin,cap_sys_module,cap_sys_dac_search 等),这些都可以在容器启动时通过启动参数设置。如前文所述,容器本质上是一个受限的进程,除了通过 Namespace 和 Cgroup限制了命名空间和资源外,还有 Capabilities、Apparmor、Seccomp 等安全机...