Tiller / Helm - Port 44134

Basic info

Helm Tiller represents one of the most critical security vulnerabilities in Kubernetes environments. As the server-side component of Helm 2 (the Kubernetes package manager), Tiller's default configuration created a massive attack surface that allowed trivial privilege escalation from any compromised pod to full cluster admin access. While Helm 3 has eliminated Tiller entirely, countless production clusters still run Helm 2, making this a critical security assessment target.

The Tiller Problem

What Makes Tiller So Dangerous?

  1. No Authentication by Default: Tiller's gRPC API (port 44134) accepts unauthenticated requests

  2. Cluster-Admin Privileges: Default installations grant Tiller full cluster admin permissions

  3. Internal Network Exposure: Any pod in the cluster can reach Tiller

  4. No Network Policies: Default Kubernetes allows cross-namespace communication

  5. Legacy Deployments: Many organizations still run Helm 2 in production

Impact Scenarios

When Tiller is compromised, attackers can:

  • Deploy malicious workloads with cluster-admin privileges

  • Steal all Kubernetes secrets including service account tokens

  • Pivot to cloud provider APIs (AWS, GCP, Azure)

  • Establish persistent backdoors in the cluster

  • Exfiltrate sensitive data from all namespaces

  • Launch cryptominers using cluster resources

  • Move laterally to other connected systems

Historical Context

  • 2018: Security researchers publicly demonstrate Tiller exploitation

  • 2019: Multiple tools and exploits released (ropnop's pentest_charts, munnerz/helmsploit)

  • 2019: Helm 3 announced with Tiller removal

  • 2020: CVE-2019-4185 published affecting IBM InfoSphere

  • 2025: Helm 2 officially deprecated, but still widely deployed


Understanding Helm and Tiller Architecture

What is Helm?

Helm is the package manager for Kubernetes, analogous to:

  • apt/yum for Linux

  • homebrew for macOS

  • npm for Node.js

Helm Charts package Kubernetes YAML manifests into reusable, configurable deployments.

Helm 2 vs Helm 3

Helm 2 Architecture (with Tiller)

Helm 3 Architecture (no Tiller)

Key Difference: Helm 3 eliminates the server-side component (Tiller), communicating directly with the Kubernetes API using the user's own credentials and RBAC permissions.

Tiller Service Account & RBAC

In typical default installations, Tiller is configured with:

This grants Tiller:

  • Full read/write access to all namespaces

  • Ability to create/delete any resource

  • Access to all secrets

  • Cluster-level administrative functions

Tiller Communication Protocol

Port: 44134/TCP Protocol: gRPC (HTTP/2) Authentication: None by default Encryption: None by default (can be configured with TLS)

gRPC API Endpoints (from Protobuf definitions):


Why Tiller is a Security Risk

1. No Authentication Required

By default, Tiller accepts any gRPC request without authentication:

No credentials needed. No API tokens. Nothing.

2. Cluster-Admin Privileges

Tiller's service account has cluster-admin role, meaning it can:

3. Network Accessibility

Kubernetes DNS makes Tiller discoverable from any pod:

No network policies by default = any pod can reach Tiller.

4. Attack Chain

Time to full compromise: Minutes

5. Real-World Impact

Organizations affected by Tiller vulnerabilities:

  • Tesla (2018): Cryptojacking via exposed Kubernetes

  • IBM InfoSphere (CVE-2019-4185): Privilege escalation

  • Numerous enterprises: Unreported incidents


Reconnaissance & Discovery

1. Internal Discovery (From Compromised Pod)

Check for Kubernetes Indicators

Expected Output:

DNS-Based Service Discovery

The search domains tell us:

  • Current namespace: default

  • Cluster domain: cluster.local

Enumerate Services via DNS

Successful Response:

Port Scanning from Inside Cluster

2. External Discovery (Network Perspective)

Nmap Scanning

Expected Output (if exposed):

Shodan Queries

3. Kubernetes API Discovery (if accessible)

Example Output:

4. Cloud Provider Metadata (GKE/EKS/AKS)

Google Cloud (GKE)

Amazon Web Services (EKS)

Microsoft Azure (AKS)


Enumeration Techniques

1. Installing Helm Client in Compromised Pod

Alternative: Use pre-compiled static binary from GitHub releases

2. Testing Connectivity

If you see both client and server versions, you have successful communication!

3. Listing Helm Releases

Example Output:

4. Inspecting Release Content

This reveals:

  • All Kubernetes resources deployed

  • Configuration values used

  • Potentially sensitive data (passwords, API keys, etc.)

5. Discovering Helm Repositories

6. Checking Tiller Configuration

Look for:

  • Service account name (usually tiller)

  • RBAC permissions

  • Network policies (or lack thereof)

  • TLS configuration


Authentication & Access Analysis

1. Understanding Tiller's Default Security Posture

Default Configuration Issues:

Security Control
Default State
Risk

Authentication

DISABLED

Anyone can connect

Authorization

DISABLED

No access control

TLS/Encryption

DISABLED

Plaintext communication

Network Policy

NONE

Accessible from all pods

RBAC

cluster-admin

Full cluster privileges

2. Testing Authentication

3. Analyzing Tiller's Service Account Permissions

From a position with kubectl access:

Typical Output (vulnerable configuration):

This means Tiller can do ANYTHING in the cluster.

4. Network Policy Analysis

If output is empty or no policies restrict Tiller, it's accessible from anywhere.

5. Attempting Unauthorized Access


Exploitation Techniques

1. Basic Privilege Escalation via Helm Chart Deployment

The core exploitation technique is simple:

  1. Deploy a malicious Helm chart

  2. Chart creates privileged resources

  3. Gain elevated access

Simple Privilege Escalation Chart:

Chart.yaml:

templates/serviceaccount.yaml:

templates/clusterrolebinding.yaml:

templates/job.yaml:

Deployment:

Now you have a service account with cluster-admin privileges!

2. Remote Code Execution via Malicious Chart

Chart that executes arbitrary commands:

Deploy with custom command:

3. Credential Harvesting

Chart to steal service account tokens:

Deploy:

4. Persistent Backdoor Deployment

This creates a DaemonSet that:

  • Runs on every node

  • Has privileged access

  • Maintains reverse shell connection

  • Survives pod restarts

5. Cryptomining Deployment


Post-Exploitation & Privilege Escalation

1. Stealing Tiller's Service Account Token

This is the primary privilege escalation path. Tiller's service account token provides cluster-admin access to the Kubernetes API.

Method 1: Via Malicious Job

Deploy:

Method 2: Extract from All Secrets

First, deploy a chart that creates cluster-admin SA, then use it to dump secrets.

2. Using ropnop's Pentest Charts

Installation:

Available Charts:

exfil_sa_token

Steals a specific service account token:

exfil_secrets

Creates new cluster-admin SA and extracts ALL secrets:

Cleanup:

3. Direct Kubernetes API Access

Once you have Tiller's token:

4. Configuring kubectl with Stolen Token

You now have full cluster-admin access!

5. Establishing Persistent Access

Create Permanent Backdoor Service Account:


Advanced Attack Scenarios

1. Lateral Movement to Cloud Provider

GKE (Google Kubernetes Engine):

EKS (AWS Elastic Kubernetes Service):

AKS (Azure Kubernetes Service):

2. Container Escape via Privileged Pod

Deploy via Helm:

Execute escape:

3. Secret Exfiltration at Scale

4. Namespace Takeover

Deploy:

5. Supply Chain Attack via Chart Repository


Kubernetes API Takeover

1. External API Access with Stolen Token

GKE Example:

2. Creating Persistent Admin Users

3. Deploying WebShell for Persistent Access

Access via: http://<external-ip>:8080


Defense & Mitigation

1. Immediate Actions

If Tiller is Discovered:

2. Upgrade to Helm 3

Migration Process:

Helm 3 Advantages:

  • No Tiller component

  • Uses user's kubectl credentials and RBAC

  • Namespaced releases

  • Three-way strategic merge patches

  • Chart dependencies improved

3. Securing Helm 2 (if migration not possible)

Enable mTLS Authentication:

Restrict Tiller Permissions:

4. Network Security

Implement Network Policies:

Block Port 44134 at Firewall:

5. Detection & Monitoring

Audit Helm Operations:

Monitor Tiller Connections:

Falco Rules for Tiller Exploitation:

6. Best Practices

Security Checklist:

  • [ ] Upgrade to Helm 3 (no Tiller)

  • [ ] If Helm 2 required, enable mTLS

  • [ ] Restrict RBAC permissions (no cluster-admin)

  • [ ] Implement NetworkPolicies

  • [ ] Enable audit logging

  • [ ] Monitor Tiller activity

  • [ ] Regular security scans

  • [ ] Namespace isolation

  • [ ] Pod Security Policies/Pod Security Standards

  • [ ] Regular reviews of ClusterRoleBindings


Practical Lab Scenarios

Lab 1: Setting Up Vulnerable Environment

Lab 2: Exploitation Exercise

Lab 3: Detection Exercise

Lab 4: Remediation Exercise


Conclusion

Helm Tiller represents a critical security vulnerability in Kubernetes environments. The combination of unauthenticated gRPC access, cluster-admin privileges, and network accessibility creates a perfect storm for privilege escalation attacks. While Helm 3 has eliminated Tiller, legacy deployments remain widespread and vulnerable.

Key Takeaways:

  1. Tiller = Instant Cluster Admin - Any pod compromise leads to full cluster takeover

  2. No Authentication = No Security - Default configs are completely insecure

  3. Upgrade to Helm 3 - Eliminates the entire attack surface

  4. Defense in Depth - Network policies, RBAC, and monitoring are essential

  5. Regular Audits - Check for Tiller in all Kubernetes clusters

For Pentesters:

  • Always check for Tiller (port 44134) in Kubernetes assessments

  • Use ropnop's pentest_charts for efficient exploitation

  • Document the complete attack chain: discovery β†’ exploitation β†’ privilege escalation

  • Demonstrate business impact with realistic attack scenarios

For Defenders:

  • Eliminate Tiller immediately if found

  • Migrate to Helm 3 as soon as possible

  • If Helm 2 required, implement mTLS and RBAC restrictions

  • Monitor for suspicious chart deployments

  • Regular security assessments of Kubernetes clusters


Additional Resources

Tools

Research & Writeups

circle-check

Last updated