基于 AI Agent 的渗透测试自动化框架,严格遵循 PTES(Penetration Testing Execution Standard) 标准,覆盖渗透测试全生命周期。Agent 自动拉起 Kali Linux 容器,按阶段规范完成信息收集、漏洞分析、漏洞利用、后渗透和报告生成。
- macOS / Linux
- Docker
- pi agent
git clone https://github.com/your-org/pentester.git
cd pentester在 pi agent 中打开项目,直接在对话中向 Agent 下达任务,例如:
请给 192.168.39.7 做一个渗透测试
Agent 会:
- 按
ROLE.md自动创建kali-target-192.168.39.7Docker 容器并安装必要工具 - 检索
.pentester/solutions.md知识库,加载已有问题解决方案 - 从
.pentester/sections/中按阶段加载操作规范 - 依次执行情报收集 → 威胁建模 → 漏洞分析 → 漏洞利用 → 后渗透
- 将结果写入
target/192.168.39.7/目录,遇到新问题记录到solutions.md - 参照
REPORT-TEMPLATE.md生成最终渗透测试报告
pentester/
├── AGENTS.md # Agent 工作指令入口
├── README.md # 项目说明
├── LICENSE # MIT 许可证
├── .gitignore # 白名单式版本控制
├── .pentester/
│ ├── ROLE.md # Agent 角色定义(渗透测试专家)
│ ├── PTES.md # PTES 标准总览与阶段路由
│ ├── PTES-GuideLine.md # PTES 技术指南(完整版)
│ ├── REPORT-TEMPLATE.md # 渗透测试报告模板
│ ├── solutions.md # 问题解决方案知识库
│ ├── skills/ # Agent 可调用技能
│ │ ├── gen-report/ # 生成渗透测试报告
│ │ └── update-solution/ # 合并问题解决方案
│ └── sections/ # 按技能等级分解的阶段规范
│ ├── 00-Pre-engagement Interactions.md
│ ├── 01-Intelligence Gathering.md
│ ├── 02-Threating Modeling.md
│ ├── 03-Vulnerability Analysis.md
│ ├── 04-Exploitation.md
│ ├── 05-Post Exploitation.md
│ └── 06-Reporting.md
├── target/ # 渗透测试数据存放目录
│ └── ${IP}/ # 按目标 IP 组织
│ ├── ports # 开放端口清单
│ ├── services # 运行服务清单
│ ├── vulns # 漏洞清单
│ ├── solutions.md # 问题与解决方案记录
│ └── report.md # 渗透测试报告
└── examples/ # 示例测试报告
└── DC-1/
├── report.md # DC-1 渗透测试报告
├── report.html # DC-1 HTML 报告
├── ports/ # 端口扫描结果
├── services/ # 服务识别结果
├── vulns/ # 漏洞详情
└── scans/ # 扫描原始数据
Agent 在执行任务过程中遇到问题时会自动记录并解决。解决方案按两级存储:
target/${IP}/solutions.md— 单次测试中遇到的问题及解决过程.pentester/solutions.md— 汇总知识库,沉淀为可复用的经验
后续测试遇到同类问题时,Agent 会先检索知识库,优先复用已有方案,避免重复排查。
通过 /pentester:update-solution 可手动将所有目标的 solutions.md 合并至知识库。
Agent 内置两个可手动调用的技能,支持 /pentester:skill 格式触发:
| 命令 | 功能 |
|---|---|
/pentester:gen-report |
收集所有 target/ 目录数据,生成渗透测试报告 |
/pentester:update-solution |
合并所有 target/*/solutions.md 至 .pentester/solutions.md,仅追加不删除 |
examples/DC-1/report.md — 针对靶机 DC-1 (192.168.39.7) 的完整渗透测试报告。
渗透测试分为 7 个阶段,每个阶段按 3 个技能等级(L1 初级 / L2 中级 / L3 高级)分解:
| # | 阶段 | 说明 |
|---|---|---|
| 00 | 前期交互 | 范围定义、授权书、RoE、测试计划 |
| 01 | 情报收集 | OSINT、主动扫描、子域名枚举、资产发现 |
| 02 | 威胁建模 | STRIDE/DREAD/ATT&CK、攻击树、攻击面分析 |
| 03 | 漏洞分析 | 自动化扫描、手工验证、CVSS 评分、SAST/Fuzzing |
| 04 | 漏洞利用 | Metasploit、漏洞链、Payload 生成、C2 搭建 |
| 05 | 后渗透 | 权限提升、凭据提取、横向移动、域渗透、持久化 |
| 06 | 报告编写 | 执行摘要、漏洞 Writeup、修复路线图、合规映射 |
每个阶段规范文件包含完整的操作流程、命令示例、推荐工具和过渡标准。
| 工具 | 用途 | 阶段 |
|---|---|---|
| Nmap / Masscan / RustScan | 端口扫描 | 01 情报收集 |
| Amass / Subfinder / theHarvester | 子域名与邮箱收集 | 01 情报收集 |
| Nikto / OWASP ZAP / Burp Suite | Web 漏洞扫描 | 03 漏洞分析 |
| Nessus / OpenVAS | 网络漏洞扫描 | 03 漏洞分析 |
| Metasploit / sqlmap | 漏洞利用 | 04 漏洞利用 |
| Mimikatz / Impacket / BloodHound | 凭据提取与域渗透 | 05 后渗透 |
| LinPEAS / WinPEAS | 权限提升辅助 | 05 后渗透 |