Kubernetes Namespace Escalation
Last updated
Last updated
Kubernetes'te genellikle bir şekilde bir namespace'e erişim sağlarsınız (kullanıcı kimlik bilgilerini çalma veya bir pod'u ele geçirme yoluyla). Ancak genellikle daha ilginç şeylerin bulunduğu başka bir namespace'e yükseltme yapmak isteyeceksiniz.
Farklı bir namespace'e kaçmak için deneyebileceğiniz bazı teknikler şunlardır:
Eğer ele geçirdiğiniz hesabın, yükseltme yapmak istediğiniz namespace üzerinde hassas yetkilere sahipse, NS içinde hizmet hesaplarıyla pod oluşturma, NS içinde zaten var olan bir pod'da shell çalıştırma veya gizli SA belgelerini okuma gibi eylemleri kötüye kullanabilirsiniz.
Hangi yetkileri kötüye kullanabileceğiniz hakkında daha fazla bilgi için şunu okuyun:
Bir pod'u ele geçirdiyseniz ve kaçış yapabiliyorsanız veya ayrıcalıklı bir pod oluşturup kaçış yapabiliyorsanız, diğer SA belgelerini çalmak için çeşitli şeyler yapabilirsiniz:
Node'da çalışan diğer docker konteynerlerine bağlanmış SA belgelerini kontrol edin
Node'da ek izinlerle yeni kubeconfig dosyalarını kontrol edin
Etkinleştirilmişse (veya kendiniz etkinleştirin) diğer namespace'lerin yansıtılmış pod'larını oluşturmaya çalışın, çünkü bu şekilde bu namespace'lerin varsayılan token hesaplarına erişebilirsiniz (henüz bunu test etmedim)
Bu tekniklerin hepsi şurada açıklanmıştır: