Pentest ThinkingMCP
一个系统化的、由人工智能驱动的渗透测试推理引擎(MCP服务器),用于攻击路径规划、CTF/HTB求解和自动化渗透测试工作流程。功能包括波束搜索、MCTS、攻击步数评分和工具推荐。
______________________________________________________________________
什么是PentestThinkingMCP?
Pentest ThinkingMCP 是一种先进的模型上下文协议(MCP)服务器,旨在为人类和人工智能五酯提供支持。它提供:
- 使用波束搜索和蒙特卡洛树搜索(MCTS)的自动攻击路径规划
- CTF、Hack The Box(HTB)和现实世界渗透测试的逐步推理
- 攻击步骤评分和优先级
- 每个步骤的工具建议(例如nmap、metasploit、linpeas)
- 突出显示最有前景的漏洞利用链的关键路径
- 基于树的报告和文档推理
______________________________________________________________________
为什么它很特别?
- 将LLM提升到一个新的水平: 将普通的法学硕士转变为结构化、有条不紊的最重要的规划师和顾问
- 自动化复杂推理: 发现多阶段攻击链,而不仅仅是单个漏洞
- 适用于CTF、HTB和现实世界的渗透测试: 适应任何需要逐步攻击逻辑的场景
- 弥合人工智能和黑客之间的差距: 使人工智能成为进攻性安全的真正合作伙伴
______________________________________________________________________
特性
- 攻击建模的双重搜索策略:
- 具有可配置宽度的波束搜索(用于有条不紊地发现漏洞链) - 复杂决策空间的MCTS(用于未知的动态攻击场景)
- 证据/漏洞评分和评估
- 基于树的攻击路径分析
- 潜在攻击向量的统计分析
- MCP协议合规性
______________________________________________________________________
它是如何工作的?
- 输入:\
您(或您的AI)提供当前的攻击步骤/状态(例如,“在10.10.10.10上枚举SMB”)。
- 推理:\
服务器使用Beam Search或MCTS来探索可能的下一步,对其进行评分和优先级排序。
- 输出:\
返回下一个最佳攻击步骤、完整攻击链、推荐工具,并突出显示关键路径。
______________________________________________________________________
示例工作流:求解HTB机器
- 侦察:\
输入: attackStep: "Start with initial recon on 10.10.10.10"\ 输出: Run nmap -p- 10.10.10.10 (推荐工具:nmap)
- 枚举:\
输入: attackStep: "Run nmap -p- 10.10.10.10"\ 输出: Enumerate SMB on port 445 (推荐工具:enum4linux)
- 漏洞分析:\
输入: attackStep: "Enumerate SMB on port 445"\ 输出: Search for public SMB exploits (CVE-2017-0144) (推荐工具:searchsploit)
- 开采:\
输入: attackStep: "Search for public SMB exploits (CVE-2017-0144)"\ 输出: Exploit SMB with EternalBlue (CVE-2017-0144) (推荐工具:metasploit)
- 特权升级:\
输入: attackStep: "Got shell as user"\ 输出: Run winPEAS for privilege escalation checks (推荐工具:winPEAS)
- 根/标志:\
输入: attackStep: "Found user.txt, need root"\ 输出: Check for AlwaysInstallElevated misconfiguration (推荐工具:人工调查)
______________________________________________________________________
安装
git clone https://github.com/ibrahimsaleem/PentestThinkingMCP.git
cd PentestThinkingMCP
npm install
npm run build______________________________________________________________________
用法
- 添加到您的MCP客户端(Cursor、Claude Desktop等)作为服务器:
{
"mcpServers": {
"pentestthinkingMCP": {
"command": "node",
"args": ["path/to/pentestthinkingMCP/dist/index.js"]
}
}
}- 通过发送攻击步骤和接收下一步建议、工具建议和攻击路径树与之交互。
______________________________________________________________________
Pentesting的搜索策略
波束搜索
- 维护一组固定宽度的最有希望的攻击路径或漏洞链。
- 最适合逐步进行漏洞利用开发和已知漏洞模式匹配。
- 最适合:枚举攻击向量、有条不紊的漏洞链接、逻辑漏洞寻路。
蒙特卡洛树搜索(MCTS)
- 基于仿真的潜在攻击面探索。
- 在探索新的攻击媒介和利用已知弱点之间取得平衡。
- 最适合:复杂的网络渗透测试、结果不确定的场景、高级持续威胁(APT)模拟。
______________________________________________________________________
算法详细信息
- 攻击向量选择
- 波束搜索:评估并排名多个潜在的攻击路径或漏洞利用链。 - MCTS:使用UCT进行节点选择(潜在的漏洞利用步骤)和随机部署(模拟攻击进程)。
- 证据/漏洞评分基于:
- 可利用的可能性 - 潜在影响(CIA三联) - CVSS分数或类似指标 - 攻击链中的连接强度(例如,漏洞A能够利用漏洞B)
- 流程管理
- 基于树的攻击进展状态跟踪 - 成功/失败模拟攻击路径的统计分析 - 根据最重要的目标进行进度监控
______________________________________________________________________
用例
- 自动漏洞识别和链接
- 利用寻路和优化
- 攻击场景模拟和“如果”分析
- 红队战略制定与细化
- 通过建议潜在途径协助手动渗透测试
- 复杂攻击向量的决策树探索
- 实现特定最重要目标的策略优化(例如,数据泄露、特权升级)
______________________________________________________________________
许可证
麻省理工学院
