Helm Tiller
aka tiller
The server side of Helm v2 on 44134. Tiller usually runs with cluster-admin and accepts unauthenticated gRPC — so reaching it (often from inside a pod) lets you deploy a chart that hands you the whole Kubernetes cluster.
Ports
| Port | Proto | Notes |
|---|---|---|
44134 | tcp | Tiller gRPC |
Fingerprint
- gRPC service reachable in-cluster (tiller-deploy.kube-system)
- helm version --host <ip>:44134 returns the Tiller build
Exploitation primitives
- Unauthenticated gRPC + Tiller's cluster-admin service account = cluster takeover
- Deploy a malicious chart (e.g. a privileged pod mounting the host) via Helm
- Read cluster secrets through Tiller's permissions
Overview
Helm v2’s Tiller on 44134 applies charts to Kubernetes using its own (usually cluster-admin) service account, with no auth. Anyone who can talk to it controls the cluster.
Enumeration
Confirm Tiller and its version:
helm --host <TARGET>:44134 version
List what it can see:
helm --host <TARGET>:44134 ls --all
Cluster takeover
Deploy a chart that creates a privileged pod mounting the host filesystem (then read node secrets / kubeconfig):
helm --host <TARGET>:44134 install --name pwn ./evil-chart
Hardening
Migrate to Helm 3 (no Tiller). If stuck on v2, enable TLS auth on Tiller and scope its service account down from cluster-admin.