SuperAPI AI 工具集

k8s-network-recon

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

用途:在获得 Pod Shell 后,系统性地枚举 K8s 集群内运行的服务,为横向移动定位目标。核心思路是利用 K8s 基于 DNS 的服务发现机制——每个 Service 与 Pod 都有可预测的 DNS 名称。

DNS 命名规则:Service 为 <svc>.<ns>.svc.cluster.local;Pod 为 <pod-ip-dashed>.<ns>.pod.cluster.local;Headless Service 为 <pod-name>.<svc>.<ns>.svc.cluster.local。DNS 后缀由集群配置决定,需检查 /etc/resolv.conf 的 search 行。SRV 记录可暴露 Service 端口,如 nslookup -type=srv <service>.<namespace>.svc.cluster.local。

使用方式:先确定扫描范围,入口点信息可通过 echo $KUBERNETES_SERVICE_HOST、cat /etc/resolv.conf、nslookup kubernetes.default.svc.cluster.local、ip route 等获取,据此推断 Service CIDR;避免使用 ip addr,因 sidecar 虚拟网卡会干扰判断。扫描粒度从 /24 开始,无结果再扩到 /16;明确禁止用 /8 或更大范围。批量扫描推荐 K8Spider,安装命令为 go install github.com/Esonhugh/k8spider@latest,用法如 k8spider scan -subnet 10.100.0.0/24;备选 dnscan 不支持 SRV 枚举。无工具时可用 shell 循环做 PTR 反查,或用 dig axfr cluster.local 尝试域传输。

适用场景:发现服务后按价值排序,包括直接 flag/数据服务、集群管控面(API Server 6443、etcd 2379、kubelet 10250)、策略/Webhook 服务、监控运维(prometheus 9090、grafana 3000、dashboard 8443)及业务服务,并可用 curl 访问确认。

限制:仅用于已授权的 K8s 安全测试;DNS 后缀与 Service CIDR 因集群而异;AXFR 与 Wildcard DNS 在新版 CoreDNS 中可能已废弃或受限;工具在内网环境需自行准备。部分相关技能与本仓库不含的内部工具未在资料中说明。