关于 recon-security
recon-security 是一项指导 Agent 开展授权外部渗透测试的技能,涵盖范围界定、侦察、验证和报告。它强调先确认授权并收集可复现证据,只有规则明确许可时才进行利用。
主要功能
- 01范围与授权检查
- 02被动及主动侦察指导
- 03Web 与基础设施检查
- 04发现项分级与验证
- 05受限利用及报告指导
适用场景
- 01规划授权的外部渗透测试
- 02整理范围内资产与证据
- 03报告前验证扫描器线索
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ superagent-ai/ skills --skill recon-security安装后在 Claude Code 中输入/recon-security确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/checklist.mdenvironment-setup.mdexploitation-roe.mdreport-template.mdtools.mdvalidation.md详细介绍
Recon 安全
此技能将指导 Agent 完成已获授权的外部渗透测试工作流:侦察、规范化、主动发现、Web 和基础设施检查、验证、在交战规则(RoE)允许时进行范围内利用,以及报告。除非用户明确选择在此技能之外使用商业服务,否则仅使用免费/开源工具。
不要假定已获授权。所有主动、侵入性或会改变状态的步骤都必须先通过 Pass 0。此技能仅由模型提供指导:提出命令和工作流;在范围和模式允许时,由用户或 Agent 执行。不随此技能附带任何脚本。
交战生命周期
Pass 0 Scope/RoE → Pass 1 Passive → Pass 2 Normalize → Pass 3 Active
→ Pass 4 Web + infra → Pass 5 Triage → Pass 6 Validation
→ Pass 7 Scoped exploitation (if approved) → Pass 8 Report
思维模型
- 侦察用于绘制暴露面。
- 验证以最少、可复现的证据证明重要问题。
- 利用仅在书面 RoE 范围内展示影响,不进行不受限制的攻击。
优先采用保守、可复现的检查。一个已确认的发现胜过数十条扫描器输出。
Pass 0:范围与授权
开始任何主动工作之前,先确认:
- 范围内的域名、子域名、IP、ASN、应用和环境(生产环境还是测试环境)。
- 范围外资产和禁止使用的技术(暴力破解、DoS、数据转储、横向移动)。
- 书面授权或明确的所有权证明。
- 扫描强度:仅被动、轻度主动、标准或深度。
- 是否允许利用和凭据测试。
- 证据目录(
PROJECT_DIR,默认~/Projects/pentest-engagement)。请参阅references/environment-setup.md。 - 交付内容:仅命令计划、已执行的测试,还是完整报告。
如果授权不明确,请停留在被动规划阶段并询问。
Pass 1:被动侦察
仅从公开来源构建资产清单:
- DNS、WHOIS/RDAP、RIPEstat/BGPView、证书透明度(
crt.sh、subfinder、amass -passive、assetfinder)。 - 历史 URL(
gau、waybackurls、Common Crawl、公开的urlscan.io)。 - 搜索引擎 dork 和公开代码引用(不要复制机密)。
用户需要可执行步骤时,请使用 references/environment-setup.md 和 references/tools.md 中的示例命令。
Pass 2:规范化目标
在 targets/ 下生成工作列表:
domains.txt、in_scope_domains.txt、resolved_hosts.txt、web_targets.txt、ips.txt- 对于范围不确定的资产,使用
needs-scope-confirmation.txt
去重;删除不相关的 CT 名称和范围外的 SaaS,除非已获批准。
Pass 3:主动侦察
需要 Pass 0 批准。对所有探测进行速率限制。
dnsx、httpx、nmap(先扫描常用端口),可选的naabu/ 限速masscanwafw00f、testssl.sh或sslyze、nuclei(使用公开模板;将结果作为线索进行分诊)
提出经过速率限制的主动扫描命令;将原始输出保存到 evidence/active/。
Pass 4:Web 应用和基础设施检查
Web 应用
- 对标头、Cookie、安全标头和技术进行指纹识别。
- 检查错误配置:
.git、.env、备份文件、phpinfo、目录列表、robots.txt。 - 发现内容/参数:
ffuf、feroxbuster、arjun、katana、hakrawler。 - 进行轻量自动化探测;默认仅使用
sqlmap进行检测;使用dalfox查找反射型 XSS 线索。 - 手动代理审查:OWASP ZAP 或 Burp Suite Community。
针对每个优先级 URL,逐一进行指纹识别、错误配置检查和轻量探测。
基础设施(在范围内时)
电信、存储和文件服务经常出现在外部渗透测试中:
- SIP/VoIP:UDP/TCP 5060/5061、
nmap --script=sip-methods、OPTIONS 探测。除非获得授权,否则不要建立呼叫。 - NAS/文件暴露:端口 445、139、548、873、2049、5000/5001、8080;
smbclient -N -L、showmount -e。记录共享权限,不要记录客户文件内容。
将 SIP/NAS 结果保存到 evidence/infra/。
第 5 阶段:分类与取证
为每个项目分类:
| 类别 | 含义 |
|---|---|
| 已确认发现 | 已复现,有明确证据和影响 |
| 可能的发现 | 信号强烈;需要进行第 6 阶段 |
| 线索 | 有意思;尚未测试 |
| 误报/超出范围 | 从报告中删除 |
建立按优先级排序的验证队列。保存至 evidence/triage/。切勿在报告中粘贴机密信息或大量个人身份信息(PII)。
第 6 阶段:验证
将线索转化为已确认发现。阅读 references/validation.md。
- 将
web_targets.txt导入 Burp 或 ZAP;梳理身份验证和角色。 - 手动确认 nuclei/ffuf/sqlmap 的信号。
- 使用两个账户测试 IDOR/BOLA;如果有代码,可配合使用
authz-security。 - 基础设施:有针对性地重新检查端口/服务;在不窃取数据的前提下验证 SIP/NAS。
PoC 标准:编号步骤、请求/响应或截图、影响、修复方案。
第 7 阶段:限定范围内的利用
仅当第 0 阶段明确允许利用时执行。阅读 references/exploitation-roe.md。
- 仅证明最低限度的影响(读取一行数据、上传一个无害文件、使用测试账户绕过一次身份验证)。
- 除非合同允许,否则不得使用
--dump、建立持久化、横向移动或执行破坏性操作。 - 如需清理,请移除测试产物。
- 如果范围、生产环境风险或法律边界不明确,请停止并升级处理。
第 8 阶段:报告
使用 references/report-template.md。包括:
- 执行摘要和范围
- 按阶段说明方法(被动、主动、验证,以及执行过的利用)
- 按严重程度列出发现,并提供复现步骤和修复建议
- 线索和局限性
- 修复路线图(近期/短期/长期)
严重程度等级
- P0:敏感数据暴露、未授权管理员/控制权限、已确认的严重攻击路径。
- P1:前置条件有限且影响严重的问题;已确认的注入或授权绕过,未发生大规模数据提取。
- P2:中等程度的信息暴露或安全加固缺口,尚未确认可利用的攻击链。
- P3:信息性问题、安全卫生问题或扫描局限性。
输出格式
[P1] exposed-admin-panel on https://admin.example.com
Evidence: httpx + manual browser review; headers in evidence/webapp/.
Impact: Public admin surface increases credential and exploit risk.
Fix: Restrict by VPN/IdP, enforce MFA, monitor access.
参考文件
references/tools.md— 批准使用的工具和商业工具排除项references/checklist.md— 完整的项目检查清单references/environment-setup.md— macOS 设置和目录布局references/validation.md— 手动验证和 PoC 标准references/exploitation-roe.md— 允许/禁止的利用边界references/report-template.md— 最终交付内容结构
此技能不会执行的操作
- 要求使用 Shodan、Censys、DeHashed、IntelX 或 Burp Pro。
- 未经第 6 阶段验证,就将扫描器输出视为已确认发现。
- 未经明确的 RoE 授权,执行利用、数据转储、建立持久化或横向移动。
- 绕过授权,或测试范围外资产。