44134 - Pentesting Tiller (Helm)
Informação Básica
Helm é o gerenciador de pacotes para Kubernetes. Ele permite empacotar arquivos YAML e distribuí-los em repositórios públicos e privados. Esses pacotes são chamados de Helm Charts. Tiller é o serviço executado por padrão na porta 44134 oferecendo o serviço.
Porta padrão: 44134
Enumeração
Se você pode enumerar pods e/ou serviços de diferentes namespaces, enumere-os e procure por aqueles com "tiller" em seus nomes:
Exemplos:
Você também pode tentar encontrar este serviço em execução verificando a porta 44134:
Depois de descobri-lo, você pode se comunicar com ele baixando o aplicativo cliente helm. Você pode usar ferramentas como homebrew
, ou consultar a página oficial de lançamentos. Para mais detalhes, ou outras opções, consulte o guia de instalação.
Em seguida, você pode enumerar o serviço:
Escalação de Privilégio
Por padrão, o Helm2 foi instalado no namespace kube-system com privilégios elevados, então se você encontrar o serviço e tiver acesso a ele, isso poderá permitir que você eleve os privilégios.
Tudo que você precisa fazer é instalar um pacote como este: https://github.com/Ruil1n/helm-tiller-pwn que dará ao token de serviço padrão acesso a tudo no cluster inteiro.
Em http://rui0.cn/archives/1573 você tem a explicação do ataque, mas basicamente, se você ler os arquivos clusterrole.yaml e clusterrolebinding.yaml dentro de helm-tiller-pwn/pwnchart/templates/ você pode ver como todos os privilégios estão sendo concedidos ao token padrão.
Last updated