HarrierSecurity/HarrierOps-Kube

GitHub: HarrierSecurity/HarrierOps-Kube

这是一款基于现有立足点进行 Kubernetes 攻击路径发现与权限提升的攻击性命令行工具。

Stars: 1 | Forks: 0

HarrierOps Kube logo

# 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截图, 协议分析, 反取证, 安全评估, 容器安全, 容器编排, 态势感知, 攻击路径发现, 日志审计, 服务账号, 权限提升, 横向移动, 编程规范