Memecah cluster Kubernetes menggunakan anakan Helm v2

Memecah cluster Kubernetes menggunakan anakan Helm v2

Helm adalah manajer paket untuk Kubernetes, kira-kira apt-get untuk Ubuntu. Dalam catatan ini kita akan melihat versi helm (v2) sebelumnya dengan layanan anakan diinstal secara default, yang melaluinya kita akan mengakses cluster.

Mari siapkan clusternya; untuk melakukan ini, jalankan perintah:

kubectl run --rm --restart=Never -it --image=madhuakula/k8s-goat-helm-tiller -- bash

Memecah cluster Kubernetes menggunakan anakan Helm v2

Demonstrasi

  • Jika Anda tidak mengonfigurasi tambahan apa pun, helm v2 memulai layanan anakan, yang memiliki RBAC dengan hak administrator klaster penuh.
  • Setelah instalasi di namespace kube-system muncul tiller-deploy, dan juga membuka port 44134, terikat ke 0.0.0.0. Ini dapat diperiksa menggunakan telnet.

$ telnet tiller-deploy.kube-system 44134

Memecah cluster Kubernetes menggunakan anakan Helm v2

  • Sekarang Anda dapat terhubung ke layanan anakan. Kami akan menggunakan biner helm untuk melakukan operasi saat berkomunikasi dengan layanan anakan:

$ helm --host tiller-deploy.kube-system:44134 version

Memecah cluster Kubernetes menggunakan anakan Helm v2

  • Mari kita coba mendapatkan rahasia cluster Kubernetes dari namespace kube-system:

$ kubectl get secrets -n kube-system

Memecah cluster Kubernetes menggunakan anakan Helm v2

  • Sekarang kita dapat membuat bagan kita sendiri, di mana kita akan membuat peran dengan hak administrator dan menetapkan peran ini ke akun layanan default. Dengan menggunakan token dari akun layanan ini, kami menerima akses penuh ke cluster kami.

$ helm --host tiller-deploy.kube-system:44134 install /pwnchart

Memecah cluster Kubernetes menggunakan anakan Helm v2

  • Sekarang kapan pwnchart disebarkan, akun layanan default memiliki akses administratif penuh. Mari kita periksa lagi bagaimana cara mendapatkan rahasia kube-system

kubectl get secrets -n kube-system

Memecah cluster Kubernetes menggunakan anakan Helm v2

Keberhasilan eksekusi skrip ini bergantung pada bagaimana anakan diterapkan; terkadang administrator menerapkannya dalam namespace terpisah dengan hak istimewa berbeda. Helm 3 tidak rentan terhadap kerentanan seperti itu karena... tidak ada anakan di dalamnya.

Catatan penerjemah: Menggunakan kebijakan jaringan untuk memfilter lalu lintas di cluster membantu melindungi terhadap jenis kerentanan ini.

Sumber: www.habr.com

Tambah komentar