44134 - Pentesting Tiller (Helm)
Informações Básicas
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ê puder enumerar pods e/ou serviços de diferentes namespaces, enumere-os e procure aqueles com "tiller" no nome:
Exemplos:
Você também pode tentar encontrar este serviço em execução verificando a porta 44134:
Uma vez que você o tenha descoberto, pode se comunicar com ele baixando o aplicativo cliente helm. Você pode usar ferramentas como homebrew
, ou olhar na página oficial de lançamentos. Para mais detalhes, ou para outras opções, consulte o guia de instalação.
Então, você pode enumerar o serviço:
Escalada de Privilégios
Por padrão, Helm2 foi instalado no namespace kube-system com altos privilégios, então se você encontrar o serviço e tiver acesso a ele, isso pode permitir que você escalone privilégios.
Tudo o 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 em todo o cluster.
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 dados ao token padrão.
Last updated