Kubernetes Namespace Escalation

Wesprzyj HackTricks

W Kubernetes jest dość powszechne, że w jakiś sposób uda ci się dostać do przestrzeni nazw (poprzez kradzież pewnych poświadczeń użytkownika lub kompromitację poda). Zazwyczaj jednak będziesz zainteresowany eskalacją do innej przestrzeni nazw, ponieważ tam można znaleźć bardziej interesujące rzeczy.

Oto kilka technik, których możesz spróbować, aby uciec do innej przestrzeni nazw:

Nadużyj uprawnienia K8s

Oczywiście, jeśli konto, które udało ci się ukraść, ma wrażliwe uprawnienia w przestrzeni nazw, do której chcesz się zescalować, możesz nadużyć działań takie jak tworzenie podów z kontami usług w NS, wykonywanie powłoki w już istniejącym podzie wewnątrz ns, lub odczytaj tajne tokeny SA.

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

Abusing Roles/ClusterRoles in Kubernetes

Ucieczka do węzła

Jeśli możesz uciec do węzła, albo dlatego, że skompromitowałeś poda i możesz uciec, albo dlatego, że możesz utworzyć pod uprzywilejowany 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 udzielonymi węzłowi

  • Jeśli jest to włączone (lub włącz to samodzielnie), spróbuj tworzyć odbite podów z innych przestrzeni nazw, ponieważ możesz uzyskać dostęp do kont tokenów domyślnych tych przestrzeni nazw (jeszcze tego nie testowałem)

Wszystkie te techniki są wyjaśnione w:

Attacking Kubernetes from inside a Pod
Wesprzyj HackTricks

Last updated