Kubernetes Namespace Escalation

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

W Kubernetes dość często zdarza się, że w jakiś sposób udaje ci się dostać do namespace (poprzez kradzież danych uwierzytelniających użytkownika lub kompromitację poda). Jednak zazwyczaj będziesz zainteresowany eskalacją do innego namespace, ponieważ można tam znaleźć bardziej interesujące rzeczy.

Oto kilka technik, które możesz spróbować, aby uciec do innego namespace:

Abuse K8s privileges

Oczywiście, jeśli konto, które ukradłeś, ma wrażliwe uprawnienia do namespace, do którego 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 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 Kubernetes

Escape to the node

Jeśli możesz uciec do węzła, albo dlatego, że skompromitowałeś poda i możesz uciec, albo dlatego, że 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 włączone (lub włącz to sam), spróbuj tworzyć lustrzane pody innych namespace, ponieważ możesz uzyskać dostęp do domyślnych kont tokenów tych namespace (jeszcze tego nie testowałem)

Wszystkie te techniki są wyjaśnione w:

Attacking Kubernetes from inside a Pod

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