skills/cloud/k8s-network-recon/SKILL.md
Kubernetes 集群内网络侦察与服务发现。当已获得 Pod Shell、需要发现集群内其他服务、执行 K8s 内网扫描时使用。覆盖 DNS PTR 反查、SRV 记录枚举、AXFR 域传输、K8Spider 使用。任何在 Pod 中需要横向侦察、寻找隐藏服务、确定攻击目标的场景都应使用此技能,即使用户没有明确提到 DNS
npx skillsauth add wgpsec/AboutSecurity k8s-network-reconInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
→ 读 references/network-attacks.md
在 K8s 集群中横向移动的第一步是弄清楚还有哪些服务在运行。因为 K8s 用 DNS 做服务发现,每个 Service 和 Pod 都有可预测的 DNS 名称,这意味着通过 DNS 反查就能系统性地枚举整个集群。
| 资源类型 | DNS 格式 | 示例 |
|---------|---------|------|
| Service | <svc>.<ns>.svc.cluster.local | redis.default.svc.cluster.local |
| Pod | <pod-ip-dashed>.<ns>.pod.cluster.local | 10-244-0-5.default.pod.cluster.local |
| Headless Service | <pod-name>.<svc>.<ns>.svc.cluster.local | web-0.nginx.default.svc.cluster.local |
注意: DNS 后缀不一定是
cluster.local,由集群配置决定。检查/etc/resolv.conf中的search行。
Service 的 SRV 记录暴露端口信息:
nslookup -type=srv <service>.<namespace>.svc.cluster.local
# 输出示例: service = 0 50 80 svc.ns.svc.cluster.local
# 即使没有 _proto 前缀,也能查到所有有效端口
DNS PTR 反查是逐 IP 的——/16 范围有 65535 个 IP,盲扫可能需要几十分钟。先花 30 秒确定 Service CIDR,能把扫描时间从分钟级降到秒级。
先获取入口点信息(按可靠度从高到低)
# 1. 环境变量(最快,几乎必有)
echo $KUBERNETES_SERVICE_HOST
env | grep -i service_host
# 2. DNS 配置(nameserver 地址通常在 Service CIDR 内)
cat /etc/resolv.conf
# 3. DNS 查询(返回的 API Server IP 暴露 CIDR 段)
nslookup kubernetes.default.svc.cluster.local
# 4. 路由表/ARP(辅助推断)
cat /etc/hosts && ip route && arp -a 2>/dev/null
# 5. 避免用 ip addr — sidecar 注入的虚拟网卡会干扰判断
从获取到的 IP 推断 Service CIDR。
⚠️ 禁止用 /8 或更大范围 — 16M+ IP 永远扫不完,会浪费整轮时间。
推荐扫描粒度:
KUBERNETES_SERVICE_HOST 确定 Service CIDR/24 开始(256 IP,秒级完成),无结果则扩到 /16(65K IP,分钟级)10.96.0.0/16、10.100.0.0/16、10.43.0.0/16(K3s)KUBERNETES_SERVICE_HOST 是 10.96.0.1,扫 10.96.0.0/16# PTR 反查 + SRV 记录 + 多线程,一条命令完成全部扫描
k8spider scan -subnet 10.100.0.0/24
# 更大的范围
k8spider scan -subnet 10.96.0.0/12 # 默认 Service CIDR
k8spider scan -subnet 10.244.0.0/16 # Pod CIDR (Flannel 默认)
k8spider scan -subnet 10.42.0.0/16 # Pod CIDR (K3s 默认)
备选: 部分 CTF 环境预装了
dnscan(用法:dnscan -subnet <cidr>),功能类似但不支持 SRV 记录枚举。优先用 K8Spider。
# PTR 反查 (逐个 IP)
for i in $(seq 1 254); do
nslookup 10.100.0.$i 2>/dev/null | grep -v "NXDOMAIN" | grep "name =" &
done; wait
# AXFR 域传输(如果 CoreDNS 允许)
dig axfr cluster.local @$(grep nameserver /etc/resolv.conf | awk '{print $2}')
# Wildcard DNS(已被新版 CoreDNS 废弃,但老版本可能有效)
nslookup any.any.svc.cluster.local
发现服务后,按攻击价值优先级排序:
# 访问发现的服务
curl <service>.<namespace>.svc.cluster.local
curl <service>.<namespace>.svc.cluster.local:<port>
# 对高价值目标尝试多个路径
curl -s http://<svc>:<port>/
curl -s http://<svc>:<port>/flag
curl -s http://<svc>:<port>/api/v1
curl -sk https://<svc>:<port>/
发现服务后,根据目标类型加载对应技能:
Skill(skill="k8s-istio-bypass")Skill(skill="k8s-webhook-abuse")Skill(skill="k8s-storage-exploit")Skill(skill="k8s-container-escape")Skill(skill="k8spider")| 工具 | 用途 | 安装 |
|------|------|------|
| K8Spider | K8s DNS 批量扫描(PTR+SRV+AXFR+多线程) | go install github.com/Esonhugh/k8spider@latest |
| nslookup/dig | 手动 DNS 查询 | 系统自带 |
| CDK | 容器渗透工具集(含服务发现) | f8x 安装 |
testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能