Service bank
SERVICE 44134/tcp

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

PortProtoNotes
44134tcpTiller 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.

References