--- 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`)。缺 scope 则跑 `case-init.ps1` 并停到用户给授权;**禁止**自动加 `-AuthGranted` 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 | ### Reqable MCP(本地抓包与 API 工作台) Reqable 桌面客户端可通过官方 [Reqable MCP Server](https://github.com/reqable/reqable-mcp-server) 暴露本地抓包、API、断点和规则能力。先单独安装并启动 Reqable,再登记 MCP: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File skills\scripts\bootstrap-reverse.ps1 -Capability reqable-mcp -McpHostTarget Codex ``` 将 `Codex` 替换为 `Claude` 或 `Both` 可选择对应客户端;省略 `-McpHostTarget` 时不会写任何客户端全局配置。 登记后的 stdio 配置为: ```json { "mcpServers": { "reqable-mcp": { "command": "npx", "args": ["-y", "reqable-mcp-server@1.0.1", "--scope", "minimal"] } } } ``` - 默认使用 Reqable 的本地 API;必要时按官方文档配置 `--host`、`--port` 或 `--scope minimal|all`。 - `minimal` 是推荐默认范围;`all` 会暴露更多会改变代理、规则、环境或已保存数据的工具。 - 对捕获流量、请求重放和规则修改仍须先满足 `scope.md` 的授权与网络限制;不得因 MCP 已注册而扩大目标范围。 --- ## 工作流 ### 标准渗透流程 > **重要**:执行渗透测试时,必须按 `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 | | Reqable MCP | ✓ | `npx -y reqable-mcp-server@1.0.1` | 需先手动安装 Reqable 桌面客户端 | ### 自举策略 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 项?