hacktricks/linux-hardening/privilege-escalation/selinux.md
2024-02-11 01:46:25 +00:00

3.9 KiB

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

SELinux w kontenerach

Wprowadzenie i przykład z dokumentacji redhat

SELinux to system oznaczania. Każdy proces i każdy obiekt systemu plików ma oznaczenie. Polityki SELinux definiują zasady dotyczące tego, co oznaczenie procesu jest dozwolone do zrobienia z innymi oznaczeniami w systemie.

Silniki kontenerów uruchamiają procesy kontenerów z pojedynczym ograniczonym oznaczeniem SELinux, zwykle container_t, a następnie ustawiają kontener wewnątrz kontenera, aby był oznaczony jako container_file_t. Zasady polityki SELinux mówią w zasadzie, że procesy container_t mogą tylko czytać/pisać/wykonująć pliki oznaczone jako container_file_t. Jeśli proces kontenera ucieka z kontenera i próbuje zapisywać zawartość na hoście, jądro Linuxa odmawia dostępu i pozwala procesowi kontenera zapisywać tylko do zawartości oznaczonej jako container_file_t.

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

Użytkownicy SELinux

W systemie SELinux istnieją użytkownicy SELinux, którzy są dodatkowi do zwykłych użytkowników systemu Linux. Użytkownicy SELinux są częścią polityki SELinux. Każdy użytkownik Linuxa jest mapowany na użytkownika SELinux jako część tej polityki. Dzięki temu użytkownicy Linuxa dziedziczą ograniczenia oraz zasady bezpieczeństwa, które są nakładane na użytkowników SELinux.

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: