Kubernetes Namespace Escalation

Unterstützen Sie HackTricks

In Kubernetes ist es ziemlich üblich, dass Sie irgendwie in einen Namespace gelangen (indem Sie einige Benutzeranmeldeinformationen stehlen oder indem Sie eine Pod kompromittieren). Normalerweise werden Sie jedoch daran interessiert sein, in einen anderen Namespace zu eskalieren, da dort interessantere Dinge gefunden werden können.

Hier sind einige Techniken, die Sie ausprobieren können, um in einen anderen Namespace zu entkommen:

Missbrauch von K8s-Berechtigungen

Offensichtlich, wenn das Konto, das Sie gestohlen haben, sensible Berechtigungen über den Namespace hat, zu dem Sie eskalieren möchten, können Sie Aktionen wie Erstellen von Pods mit Servicekonten im NS missbrauchen, eine Shell ausführen in einer bereits vorhandenen Pod innerhalb des NS oder die geheimen SA-Token lesen.

Für weitere Informationen darüber, welche Berechtigungen Sie missbrauchen können, lesen Sie:

Abusing Roles/ClusterRoles in Kubernetes

Flucht zum Knoten

Wenn Sie zum Knoten entkommen können, entweder weil Sie eine Pod kompromittiert haben und entkommen können oder weil Sie einen privilegierten Pod erstellen und entkommen können, könnten Sie mehrere Dinge tun, um andere SA-Token zu stehlen:

  • Überprüfen Sie SA-Token, die in anderen Docker-Containern eingebunden sind, die auf dem Knoten ausgeführt werden

  • Überprüfen Sie neue kubeconfig-Dateien auf dem Knoten mit zusätzlichen Berechtigungen, die dem Knoten erteilt wurden

  • Wenn aktiviert (oder aktivieren Sie es selbst) versuchen Sie, gespiegelte Pods anderer Namespaces zu erstellen, da Sie möglicherweise Zugriff auf die Standard-Tokenkonten dieser Namespaces erhalten (Ich habe dies noch nicht getestet)

Alle diese Techniken werden erklärt in:

Attacking Kubernetes from inside a Pod
Unterstützen Sie HackTricks

Last updated