hacktricks/linux-hardening/privilege-escalation/selinux.md

2.4 KiB
Raw Blame History

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

容器中的SELinux

来自redhat文档的介绍和示例

SELinux 是一个标签系统。每个进程和每个文件系统对象都有一个标签。SELinux策略定义了关于系统上的所有其他标签与进程标签允许执行的操作的规则。

容器引擎使用单个受限SELinux标签通常为container_t)启动容器进程,然后将容器内的容器标记为container_file_t。SELinux策略规则基本上表示**container_t进程只能读取/写入/执行标记为container_file_t的文件**。如果容器进程逃逸容器并尝试写入主机上的内容Linux内核将拒绝访问并仅允许容器进程写入标记为container_file_t的内容。

$ podman run -d fedora sleep 100
d4194babf6b877c7100e79de92cd6717166f7302113018686cea650ea40bd7cb
$ podman top -l label
LABEL
system_u:system_r:container_t:s0:c647,c780

SELinux用户

除了常规的Linux用户外还有SELinux用户。 SELinux用户是SELinux策略的一部分。 每个Linux用户都映射到策略的一部分作为SELinux用户。 这允许Linux用户继承放置在SELinux用户身上的限制、安全规则和机制。