HarrierSecurity/HarrierOps-Kube
GitHub: HarrierSecurity/HarrierOps-Kube
这是一款基于现有立足点进行 Kubernetes 攻击路径发现与权限提升的攻击性命令行工具。
Stars: 1 | Forks: 0
# HarrierOps Kube
在 Kubernetes 中发现攻击路径、暴露的工作负载以及控制扩展机会,以免在对象中迷失方向。
大多数 Kubernetes 工具告诉你存在什么。
HarrierOps Kube 告诉你你已有的立足点实际上能做什么。
大多数 Kubernetes 工具只是倾倒对象和权限。
HarrierOps Kube 重点标出哪些工作负载、服务账户、token 路径和提权线索最为重要。
## 为什么这很重要
你有:
- 一个 `kubeconfig`
- 一个 pod 立足点
- 一个服务账户或 token 线索
- 部分集群可见性
你需要快速回答:
- 我实际持有的身份是什么?
- 它现在能访问或控制什么?
- 哪些工作负载或服务最先暴露?
- 接下来哪个服务账户、token 或 secret 路径重要?
- 哪条路径最可能成为提权或更广泛的集群控制路径?
HarrierOps Kube 专为该工作流而构建。
## 为什么与众不同
- 攻击路径思维,而非先盘点的报告方式
- 立足点优先的工作流,而非孤立的对象输出
- 工作负载、服务账户和 token 后果,而不仅仅是原始 Kubernetes 列表
- 指向值得调查的下一条路径的操作员指导
- 比立足点检查更广泛:适用于集群内的移动、后果和后续访问
## 核心功能
- 显示你当前正在操作的 Kubernetes 身份、上下文、命名空间和立足点形态
- 呈现改变下一步行动的暴露服务、ingress 路径和已连接的工作负载
- 突出值得跟进的服务账户使用情况、token 态势以及承载 secret 的信任路径
- 显示与当前立足点相关的 RBAC 证据和实际能力路径
- 揭示提权机会和可能的下一步,而不是留给你去筛选原始集群数据
## 安装
从 GitHub Releases 下载适合你平台的二进制文件并解压。
## 操作员工作流
从你拥有的立足点开始,然后向外扩展到暴露面、身份后果和控制扩展:
```
harrierops-kube whoami
harrierops-kube inventory
harrierops-kube exposure
harrierops-kube workloads
harrierops-kube service-accounts
harrierops-kube privesc
```
典型流程:
- `whoami`:确认当前立足点、上下文、命名空间和身份置信度
- `inventory`:确定你实际落地的集群切片类型
- `exposure` 和 `workloads`:识别哪些暴露路径和运行中的工作负载最重要
- `service-accounts`:跟随与工作负载关联的身份和 token 路径,寻找下一个有用的跳板
- `privesc`:呈现基于当前访问的直接滥用或提权线索
如果身份路径审查比边缘优先的检伤更重要:
```
harrierops-kube service-accounts
harrierops-kube chains
```
## 操作员结果
经过一次简短的扫描后,你将了解:
- 哪个立足点重要
- 哪些访问是真实的而不仅仅是可见的
- 最佳跳板或提权机会在哪里
- 哪条路径最值得跟进
HarrierOps Kube 通过对后果进行排名来减少噪音,而不仅仅是返回 Kubernetes 对象。
## 用例
- 对 `kubeconfig`、pod 立足点或服务账户进行检伤分类,并确定它启用了哪些 Kubernetes 控制
- 从工作负载、token 或暴露的服务向外扩展,识别下一个可用的跳板路径
- 在你将时间花在低信噪比的集群细节上之前,验证立足点实际上能走多远
## 运行它
从当前的 Kubernetes 立足点和最明显的可见后果开始:
```
harrierops-kube whoami
harrierops-kube workloads
```
## 当前支持的命令
| 部分 | 命令 |
| --- | --- |
| `core` | [`inventory`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Inventory) |
| `identity` | [`whoami`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Whoami), [`rbac`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/RBAC), [`service-accounts`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Service-Accounts), [`permissions`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Permissions), [`privesc`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Privesc) |
| `orchestration` | [`chains`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Chains) |
| `workload` | [`workloads`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Workloads) |
| `exposure` | [`exposure`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Exposure) |
| `secrets` | [`secrets`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Secrets) |
已实现的 chain 系列:
- [`workload-identity-pivot`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Workload-Identity-Pivot) 通过 [`chains`](https://github.com/HarrierSecurity/HarrierOps-Kube/wiki/Chains)
后续深度表面:
- `images`
## Kubernetes 访问
HarrierOps Kube 需要现有的 Kubernetes 访问权限。
它不是一个登录管理器或自定义认证流程。
它使用自己的 Kubernetes API 包装器/提供者层进行收集,而不是通过 shell 调用
`kubectl`。
预期的操作员路径是你已经拥有的 Kubernetes 访问权限:
- 你通常使用的当前 Kubernetes 上下文
- 一个 `kubeconfig` 文件,通常来自 `~/.kube/config`
- `KUBECONFIG`,当它指向不同的配置路径时
实际上,这意味着 HarrierOps Kube 读取你已经使用的相同 kubeconfig 和上下文信息,然后通过自己的客户端层直接与 Kubernetes API 通信。
`kubectl` 仍然是一个有用的健全性检查,但它不再是工具背后的收集引擎。
它还假设当前机器能够到达它试图使用的 Kubernetes API。
如果 `kubeconfig` 指向私有端点,你仍然需要从当前主机获得网络可达性。
## 当前运行时说明
正常路径是从你的 kubeconfig 和当前范围进行实时 API 支持的收集。
如果你想要来自仓库 fixtures 的可重复示例输出,请设置
`HARRIEROPS_KUBE_FIXTURE_DIR`:
```
HARRIEROPS_KUBE_FIXTURE_DIR=testdata/fixtures/lab_cluster \
go run ./cmd/harrierops-kube whoami --output table
```
实时示例:
```
go run ./cmd/harrierops-kube whoami --output table
```
命令表面和输出契约与上述面向操作员的命令集匹配。
`chains` 表面现在包括一个可运行的 `workload-identity-pivot` 系列以及系列
概览表面。
## CLI 调用
共享标志包括 `--context`、`--namespace`、`--output`、`--outdir` 和 `--debug`。
命令在前,然后是共享标志或 `help`。
```
harrierops-kube
[global options]
```
示例:
```
harrierops-kube whoami --output json --outdir ./harrierops-kube-demo
harrierops-kube chains workload-identity-pivot --output table
harrierops-kube inventory --context prod-cluster --namespace payments
harrierops-kube permissions help
```
## 输出模式
- `--output table`(默认)
- `--output json`
- `--output csv`
当设置了 `--outdir` 时,命令会在 `/` 下写入产物:
- `loot/.json`
- `json/.json`
- `table/.txt`
- `csv/.csv`
## 开发
```
gofmt -w ./cmd ./internal
go test ./...
bash scripts/setup_local_guardrails.sh
```
标签:EVTX分析, HTTP/HTTPS抓包, RBAC, StruQ, Web截图, 协议分析, 反取证, 安全评估, 容器安全, 容器编排, 态势感知, 攻击路径发现, 日志审计, 服务账号, 权限提升, 横向移动, 编程规范