Kubernetes Namespace Escalation

Support HackTricks

W Kubernetes dość często zdarza się, ż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:

Abuse K8s privileges

Oczywiście, jeśli konto, które ukradłeś, ma wrażliwe uprawnienia w przestrzeni nazw, do której chcesz 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 odczytywanie sekretnych tokenów SA.

Aby uzyskać więcej informacji na temat tego, które uprawnienia możesz nadużyć, przeczytaj:

Abusing Roles/ClusterRoles in Kubernetes

Escape to the node

Jeś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 docker działających na węźle

  • Sprawdź nowe pliki kubeconfig na węźle z dodatkowymi uprawnieniami nadanymi węzłowi

  • Jeśli jest włączone (lub włącz to sam), spróbuj tworzyć lustrzane pody 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 Pod
Support HackTricks

Last updated