Kubernetes Namespace Escalation
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
W Kubernetes dość powszechne jest, że w jakiś sposób udaje ci się dostać do namespace (poprzez kradzież danych logowania 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:
Oczywiście, jeśli konto, które ukradłeś, ma wrażliwe uprawnienia w 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 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 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 PodUcz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)