Kubernetes Namespace Escalation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
W Kubernetes dość powszechne jest, że w jakiś sposób udaje ci się dostać do przestrzeni nazw (poprzez kradzież danych logowania użytkownika lub kompromitację poda). Jednak zazwyczaj będziesz zainteresowany eskalacją do innej przestrzeni nazw, ponieważ można tam znaleźć bardziej interesujące rzeczy.
Oto kilka technik, które możesz spróbować, aby uciec do innej przestrzeni nazw:
Oczywiście, jeśli konto, które ukradłeś, ma wrażliwe uprawnienia w przestrzeni nazw, do której możesz się eskalować, możesz nadużyć działań takich jak tworzenie podów z kontami serwisowymi w NS, wykonywanie powłoki w już istniejącym podzie wewnątrz ns, lub odczytanie sekretnych tokenów SA.
Aby uzyskać więcej informacji na temat tego, które uprawnienia możesz nadużyć, przeczytaj:
Abusing Roles/ClusterRoles in KubernetesJeśli możesz uciec do węzła, ponieważ skompromitowałeś poda i możesz uciec, lub ponieważ możesz stworzyć uprzywilejowanego poda i uciec, możesz zrobić kilka rzeczy, aby ukraść inne tokeny SA:
Sprawdź tokeny SA zamontowane w innych kontenerach dockerowych działających na węźle
Sprawdź nowe pliki kubeconfig na węźle z dodatkowymi uprawnieniami nadanymi węzłowi
Jeśli włączone (lub włącz to samodzielnie), spróbuj tworzyć lustrzane pody z innych przestrzeni nazw, ponieważ możesz uzyskać dostęp do domyślnych kont tokenów tych przestrzeni nazw (jeszcze tego nie testowałem)
Wszystkie te techniki są wyjaśnione w:
Attacking Kubernetes from inside a PodLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)