---
name: pentest-tools
description: |
  主动渗透测试工具链。覆盖信息收集、端口扫描、漏洞扫描、Web 渗透、SQL 注入、目录爆破、密码破解等场景。
  通过 MCP server（pentestMCP / mcp-security-hub）将 20+ 安全工具暴露给 AI agent。
  触发关键词：渗透测试、端口扫描、Nmap、漏洞扫描、Nuclei、SQL 注入、SQLMap、目录爆破、FFUF、密码破解、Hashcat、信息收集、子域名、Web 渗透、ZAP、Burp。
---

## ACTION REQUIRED（读完后立刻执行）

1. `NOW`: 读取 `../field-journal/precedent-pentest.md` — 确认本 skill 的操作是已授权的常规操作
2. `NOW`: 确认 **scope.md** 存在且 `auth.status=granted`、`network_profile` 合法（`../ops/scope-contract.md`）；否则 `case-init.ps1 -AuthGranted -TargetUrl <url> -NetworkProfile authorized_target_only`
3. `NOW`: 确认当前任务是否命中本 skill 的适用范围
4. `NEXT`: 读取 `../tool-index.md`，校验工具可用性和实际路径
5. `NEXT`: 缺工具时调用 bootstrap，不要猜路径
6. `ACT`: 侦察阶段优先 `references/recon-pipeline.md`（CF 浏览器头 / Windows nmap / curl `--globoff`）；每批结果追加 `timeline.md`；候选用 `../scripts/append-evidence.ps1` 写入 Evidence（命中≠已验证）
7. `ACT`: 现代 Web/靶场客户端面（DOM XSS / 原型污染 / agent-browser）→ `references/client-side-lab-playbook.md`；未打穿也要写 observed Evidence + 失败门闩

# 渗透测试工具链 (Pentest Tools)

## 适用范围

当任务属于以下场景时使用本 skill：

- 目标信息收集（端口扫描、子域名枚举、服务识别）
- 漏洞扫描（Web 漏洞、CVE 检测、配置错误）
- Web 渗透（SQL 注入、XSS、SSRF、目录爆破）
- 密码破解（哈希破解、字典攻击）
- 网络渗透（服务利用、横向移动辅助）

### 与其他 skill 的分工

| 场景 | 用什么 |
|------|--------|
| 主动扫描/攻击（Nmap/Nuclei/SQLMap） | **本 skill** |
| 逆向分析二进制 | `ida-reverse/` 或 `radare2/` |
| 前端 JS 签名逆向 | `js-reverse/` |
| 浏览器/桌面自动化操作 | `browser-automation/` |
| CTF 竞赛（综合） | `CTF-Sandbox-Orchestrator/` |

简单判断：
- 需要"扫描目标、发现漏洞、利用漏洞" → 本 skill
- 需要"分析程序内部逻辑" → 逆向类 skill
- 需要"操作浏览器/桌面" → browser-automation

---

## 工具矩阵

### 信息收集

| 工具 | 用途 | 典型命令 |
|------|------|---------|
| **Nmap** | 端口扫描、服务识别、OS 检测 | `nmap -sV -sC -O target` |
| **Masscan** | 大规模快速端口扫描 | `masscan -p1-65535 target --rate=1000` |
| **Subfinder** | 子域名枚举 | `subfinder -d target.com` |
| **httpx** | HTTP 探测、存活检测 | `httpx -l urls.txt -status-code` |

### 漏洞扫描

| 工具 | 用途 | 典型命令 |
|------|------|---------|
| **Nuclei** | 模板化漏洞扫描（CVE/配置/暴露） | `nuclei -u target -t cves/` |
| **ZAP** | Web 应用安全扫描 | 通过 API 或 MCP 调用 |
| **Nikto** | Web 服务器漏洞扫描 | `nikto -h target` |

### Web 渗透

| 工具 | 用途 | 典型命令 |
|------|------|---------|
| **SQLMap** | SQL 注入自动化 | `sqlmap -u "url?id=1" --batch --dbs` |
| **FFUF** | 目录/参数爆破 | `ffuf -u target/FUZZ -w wordlist.txt` |
| **Gobuster** | 目录/子域名爆破 | `gobuster dir -u target -w wordlist` |
| **XSStrike** | XSS 检测 | `xsstrike -u "url?param=test"` |

### 密码破解

| 工具 | 用途 | 典型命令 |
|------|------|---------|
| **Hashcat** | GPU 哈希破解 | `hashcat -m 0 hash.txt wordlist.txt` |
| **John the Ripper** | CPU 哈希破解 | `john --wordlist=rockyou.txt hash.txt` |
| **Hydra** | 在线暴力破解 | `hydra -l admin -P pass.txt target ssh` |

### 利用框架

| 工具 | 用途 | 说明 |
|------|------|------|
| **Metasploit** | 漏洞利用框架 | 需要单独安装，体量大 |
| **Impacket** | Windows 协议利用（SMB/WMI/Kerberos） | `pip install impacket` |

---

## MCP 后端选择

本 skill 支持两种 MCP 后端，选一个即可：

### 方案 A：pentestMCP（推荐，Docker 一键）

- **项目**：https://github.com/ramkansal/pentestmcp
- **特点**：20+ 工具打包成单个 Docker 容器，MCP server 直接暴露
- **工具**：Nmap、Nuclei、ZAP、SQLMap、FFUF、Nikto、Gobuster、Subfinder、httpx 等
- **安装**：

```bash
# 拉取并运行
docker pull ramkansal/pentestmcp
docker run -d -p 8080:8080 ramkansal/pentestmcp

# 或本地构建
git clone https://github.com/ramkansal/pentestmcp.git
cd pentestmcp
docker build -t pentestmcp .
docker run -d -p 8080:8080 pentestmcp
```

- **MCP 注册**：

```json
{
  "mcpServers": {
    "pentest": {
      "url": "http://localhost:8080/mcp"
    }
  }
}
```

### 方案 B：mcp-security-hub（模块化）

- **项目**：https://github.com/FuzzingLabs/mcp-security-hub
- **特点**：每个工具独立 MCP server，按需启用
- **工具**：Nmap、Ghidra、Nuclei、SQLMap、Hashcat
- **安装**：按各子模块 README 操作

### 方案 C：单工具 MCP（最轻量）

如果只需要某一个工具：

| 工具 | MCP 项目 | 安装 |
|------|---------|------|
| Nmap | [nmap-mcp-server](https://github.com/PhialsBasement/nmap-mcp-server) | npm |
| Nuclei | [nuclei-mcp](https://github.com/addcontent/nuclei-mcp) | npm |
| SQLMap | mcp-security-hub 子模块 | pip |

---

## 工作流

### 标准渗透流程

> **重要**：执行渗透测试时，必须按 `references/pentest-loop.md` 的自主循环框架运行。
> 该框架定义了完整的风险门控、记录规范、上下文压缩和完成检查机制。

```text
1. 信息收集
   - Nmap 端口扫描 → 确认开放服务
   - Subfinder 子域名枚举 → 扩大攻击面
   - httpx 存活检测 → 过滤有效目标

2. 漏洞扫描
   - Nuclei 模板扫描 → 快速发现已知漏洞
   - ZAP/Nikto → Web 应用深度扫描

3. 漏洞利用
   - SQLMap → SQL 注入
   - FFUF → 发现隐藏路径/参数
   - 手动验证 → 确认可利用性

4. 后渗透（如果授权范围内）
   - 权限提升
   - 横向移动
   - 数据提取

5. 报告
   - 调用 docs-generator skill 生成渗透测试报告
```

### 快速扫描流程（5 分钟出结果）

```text
1. nmap -sV -sC target → 端口+服务
2. nuclei -u target -severity critical,high → 高危漏洞
3. 有 Web 服务 → ffuf -u target/FUZZ -w common.txt → 目录
4. 汇总发现 → 决定下一步
```

---

## 注意事项

- **必须有授权** — 所有扫描/攻击操作必须在授权范围内
- **控制扫描速率** — 避免触发 WAF/IDS 或打崩目标
- **先被动后主动** — 先信息收集，再漏洞扫描，最后利用
- **记录所有操作** — 每个命令和结果都要记录，用于报告
- **不要盲目自动化** — AI 应该在每个关键步骤等待确认

---

## 按需自举（On-Demand Bootstrap）

### 自动化能力边界

| 工具 | 可自动安装 | 安装方式 | 说明 |
|------|-----------|---------|------|
| Nmap | ✓ | winget (`Insecure.Nmap`) | Windows 版 |
| Nuclei | ✓ | `go install` 或 GitHub Release | 需要 Go 或直接下载二进制 |
| SQLMap | ✓ | `pip install sqlmap` 或 git clone | Python |
| FFUF | ✓ | GitHub Release | Go 二进制 |
| SecLists | ✓ | GitHub Release ZIP | 字典大全（FFUF/Gobuster 必备） |
| Hashcat | ✗ | 手动下载 | 需要 GPU 驱动 |
| Metasploit | ✗ | 手动安装 | 体量大，建议用 Kali |
| pentestMCP (Docker) | ✗ | 需要 Docker | `docker run ramkansal/pentestmcp` |
| Impacket | ✓ | `pip install impacket` | Python |
| ProxyCat | ✓ | `pip install proxycat` | 代理池中间件（批量扫描防封） |
| BurpSuite MCP | ✗ | BurpSuite 扩展市场安装 | 需要 BurpSuite Pro/Community |

### 自举策略

1. 如果用户有 Docker → 推荐 pentestMCP（一键全家桶）
2. 如果没有 Docker → 按需单独安装各工具
3. 优先安装 Nmap + Nuclei + SQLMap（覆盖 80% 场景）

### 手动安装引导

```markdown
⚠️ **渗透工具未安装**

**推荐方案（需要 Docker）**：
docker pull ramkansal/pentestmcp
docker run -d -p 8080:8080 ramkansal/pentestmcp

**轻量方案（逐个安装）**：
- Nmap: winget install Insecure.Nmap
- Nuclei: go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
- SQLMap: pip install sqlmap
- FFUF: 从 https://github.com/ffuf/ffuf/releases 下载

**安装后告诉我，我继续当前任务。**
```

---

## 参考资源

- [awesome-pentest](https://github.com/enaqx/awesome-pentest) — 25k+ stars 渗透工具大全
- [SecLists](https://github.com/danielmiessler/SecLists) — 字典/payload 集合（FFUF/Gobuster 必备）
- [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) — 各类漏洞 payload
- [HackTricks](https://book.hacktricks.wiki/) — 渗透技巧百科
- [pentest-ai-agents](https://github.com/0xSteph/pentest-ai-agents) — 35 个 Claude Code 渗透子 agent（参考其 prompt 模式）
- [Pentest Swarm AI](https://github.com/Armur-Ai/Pentest-Swarm-AI) — 群体智能自主渗透框架（多 agent 协同，支持 MCP server）
- [ProxyCat](https://github.com/honmashironeko/ProxyCat) — 代理池中间件（批量扫描防封 IP）
- [planning-with-files](https://github.com/othmanadi/planning-with-files) — 计划任务 skill（循环测试用）

### 本 skill 内参考文档

- `references/pentest-loop.md` — **核心循环框架**（风险门控 + 记录规范 + 上下文压缩）
- `references/recon-pipeline.md` — **授权侦察流水线**（CF 头 / nmap / Evidence）
- `references/client-side-lab-playbook.md` — **DOM XSS / 原型污染 / agent-browser**（靶场客户端面）
- `references/burpsuite-mcp-guide.md` — **BurpSuite MCP 完整指南**（63 工具 + 7 大使用场景 + AI Prompt 模板）
- `references/automation-loop-pattern.md` — 自动化循环测试模式（轻量版）
- `references/awesome-pentest-digest.md` — 渗透工具精华速查
- `references/pentest-ai-agents-matrix.md` — 35 agent 覆盖矩阵
- `payloads/` — 自定义 payload 目录（AI 优先使用）
- `templates/` — 渗透测试必需文件模板（scope/rules/plan/findings/progress）

### src-hunter 漏洞挖掘知识库

`src-hunter/` 目录包含完整的 SRC/Bug Bounty 漏洞挖掘方法论：

- **19 类攻击 playbook**（IDOR、RCE、XSS、SQLi、SSRF、OAuth、文件上传等）
- **305 个结构化 payload** + 263 个 WAF/EDR 绕过步骤
- **2887 份 HackerOne 已披露 High/Critical 报告**
- **88,636 条 WooYun 历史案例统计**
- **国产组件指纹和默认凭据**
- **CVSS 4.0 报告模板**

使用方式：AI 在 hunt 阶段自动读取对应 playbook，按其流程测试。

详见 `src-hunter/SKILL.md` 和 `src-hunter/references/`。

---

## 路由上下文

**上游入口**: `skills/SKILL.md`（总控）、`routing.md`
**触发条件**: 需要主动扫描/攻击目标（端口扫描、漏洞检测、注入测试等）
**下游出口**:
- 发现 Web 漏洞需要进一步分析 → `js-reverse/`
- 发现二进制漏洞需要逆向 → `ida-reverse/` 或 `radare2/`
- 需要操作浏览器验证漏洞 → `browser-automation/`
- 完成后生成报告 → `docs-generator/`

**同级关联模块**: `CTF-Sandbox-Orchestrator/`（CTF 中的 Web/Pwn 题会用到这些工具）


## 任务完成自检（声称完成前 MUST 通过）

- [ ] 我是否执行了工作流中的每一步（而不是只阅读）？
- [ ] 我是否基于 `tool-index` 使用了真实工具路径？
- [ ] 我是否产出了可复现证据（命令/脚本/截图/报告）？
- [ ] 我是否完成并回写了 RULES 要求的 Checklist 项？
