Kubernetes Namespace Escalation
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
In Kubernetes ist es ziemlich häufig, dass du irgendwie in einen Namespace gelangst (indem du einige Benutzeranmeldeinformationen stiehlst oder einen Pod kompromittierst). In der Regel wirst du jedoch daran interessiert sein, in einen anderen Namespace zu eskalieren, da dort interessantere Dinge zu finden sind.
Hier sind einige Techniken, die du ausprobieren kannst, um in einen anderen Namespace zu entkommen:
Offensichtlich kannst du, wenn das Konto, das du gestohlen hast, sensible Berechtigungen über den Namespace hat, in den du eskalieren möchtest, Aktionen wie Pods erstellen mit Dienstkonten im NS, eine Shell in einem bereits existierenden Pod innerhalb des NS ausführen oder die Secret SA-Tokens lesen.
Für weitere Informationen darüber, welche Berechtigungen du missbrauchen kannst, lies:
Abusing Roles/ClusterRoles in KubernetesWenn du zum Knoten entkommen kannst, entweder weil du einen Pod kompromittiert hast und entkommen kannst oder weil du einen privilegierten Pod erstellen und entkommen kannst, könntest du mehrere Dinge tun, um andere SA-Tokens zu stehlen:
Überprüfe auf SA-Tokens, die in anderen Docker-Containern laufen, die im Knoten ausgeführt werden
Überprüfe auf neue kubeconfig-Dateien im Knoten mit zusätzlichen Berechtigungen, die dem Knoten gegeben wurden
Wenn aktiviert (oder aktiviere es selbst), versuche gespiegelte Pods anderer Namespaces zu erstellen, da du möglicherweise Zugriff auf die Standard-Token-Konten dieser Namespaces erhältst (ich habe dies noch nicht getestet)
All diese Techniken sind erklärt in:
Attacking Kubernetes from inside a PodLerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)