Openshift - SCC
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Autorem tej strony jest Guillaume
Definicja
W kontekście OpenShift, SCC oznacza Security Context Constraints. Security Context Constraints to polityki, które kontrolują uprawnienia dla podów działających na klastrach OpenShift. Określają parametry bezpieczeństwa, w ramach których pod może działać, w tym jakie działania może wykonywać i do jakich zasobów ma dostęp.
SCC pomagają administratorom egzekwować polityki bezpieczeństwa w całym klastrze, zapewniając, że pody działają z odpowiednimi uprawnieniami i przestrzegają organizacyjnych standardów bezpieczeństwa. Te ograniczenia mogą określać różne aspekty bezpieczeństwa podów, takie jak:
- Możliwości Linuxa: Ograniczenie możliwości dostępnych dla kontenerów, takich jak możliwość wykonywania działań uprzywilejowanych.
- Kontekst SELinux: Egzekwowanie kontekstów SELinux dla kontenerów, które definiują, jak procesy wchodzą w interakcje z zasobami w systemie.
- System plików tylko do odczytu: Zapobieganie kontenerom w modyfikowaniu plików w określonych katalogach.
- Dozwolone katalogi i wolumeny hosta: Określenie, które katalogi i wolumeny hosta pod może montować.
- Uruchamianie jako UID/GID: Określenie identyfikatorów użytkownika i grupy, pod którymi działa proces kontenera.
- Polityki sieciowe: Kontrolowanie dostępu do sieci dla podów, takie jak ograniczanie ruchu wychodzącego.
Konfigurując SCC, administratorzy mogą zapewnić, że pody działają z odpowiednim poziomem izolacji bezpieczeństwa i kontroli dostępu, zmniejszając ryzyko luk w zabezpieczeniach lub nieautoryzowanego dostępu w obrębie klastra.
W zasadzie, za każdym razem, gdy żądana jest wdrożenie podu, wykonywany jest proces przyjęcia, jak poniżej:

Ta dodatkowa warstwa bezpieczeństwa domyślnie zabrania tworzenia uprzywilejowanych podów, montowania systemu plików hosta lub ustawiania jakichkolwiek atrybutów, które mogłyby prowadzić do eskalacji uprawnień.
Lista SCC
Aby wyświetlić wszystkie SCC za pomocą klienta Openshift:
$ oc get scc #List all the SCCs
$ oc auth can-i --list | grep securitycontextconstraints #Which scc user can use
$ oc describe scc $SCC #Check SCC definitions
Wszyscy użytkownicy mają dostęp do domyślnego SCC “restricted” i “restricted-v2”, które są najostrzejszymi SCC.
Użyj SCC
SCC używane dla poda jest definiowane wewnątrz adnotacji:
$ oc get pod MYPOD -o yaml | grep scc
openshift.io/scc: privileged
Gdy użytkownik ma dostęp do wielu SCC, system wykorzysta ten, który jest zgodny z wartościami kontekstu bezpieczeństwa. W przeciwnym razie wystąpi błąd zabroniony.
$ oc apply -f evilpod.yaml #Deploy a privileged pod
Error from server (Forbidden): error when creating "evilpod.yaml": pods "evilpod" is forbidden: unable to validate against any security context constrain
SCC Bypass
References
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

