渗透测试推理引擎

PentestThinkingMCP是一个AI驱动的渗透测试推理引擎,用于攻击路径规划、CTF/HTB解决和自动化渗透测试工作流程,支持Beam Search和MCTS算法。

  • by LT7T
  • 本地部署
  • 更新于

使用说明

Pentest ThinkingMCP

一个系统化的、由人工智能驱动的渗透测试推理引擎(MCP服务器),用于攻击路径规划、CTF/HTB求解和自动化渗透测试工作流程。功能包括波束搜索、MCTS、攻击步数评分和工具推荐。


什么是PentestThinkingMCP?

Pentest ThinkingMCP 是一种先进的模型上下文协议(MCP)服务器,旨在为人类和人工智能五酯提供支持。它提供:

  • 使用波束搜索和蒙特卡洛树搜索(MCTS)的自动攻击路径规划
  • CTF、Hack The Box(HTB)和现实世界渗透测试的逐步推理
  • 攻击步骤评分和优先级
  • 每个步骤的工具建议(例如nmap、metasploit、linpeas)
  • 突出显示最有前景的漏洞利用链的关键路径
  • 基于树的报告和文档推理

为什么它很特别?

  • 将LLM提升到一个新的水平: 将普通的法学硕士转变为结构化、有条不紊的最重要的规划师和顾问
  • 自动化复杂推理: 发现多阶段攻击链,而不仅仅是单个漏洞
  • 适用于CTF、HTB和现实世界的渗透测试: 适应任何需要逐步攻击逻辑的场景
  • 弥合人工智能和黑客之间的差距: 使人工智能成为进攻性安全的真正合作伙伴

特性

  • 攻击建模的双重搜索策略:
    • 具有可配置宽度的波束搜索(用于有条不紊地发现漏洞链)
    • 复杂决策空间的MCTS(用于未知的动态攻击场景)
  • 证据/漏洞评分和评估
  • 基于树的攻击路径分析
  • 潜在攻击向量的统计分析
  • MCP协议合规性

它是如何工作的?

  1. 输入:
    您(或您的AI)提供当前的攻击步骤/状态(例如,“在10.10.10.10上枚举SMB”)。
  2. 推理:
    服务器使用Beam Search或MCTS来探索可能的下一步,对其进行评分和优先级排序。
  3. 输出:
    返回下一个最佳攻击步骤、完整攻击链、推荐工具,并突出显示关键路径。

示例工作流:求解HTB机器

  1. 侦察:
    输入: attackStep: "Start with initial recon on 10.10.10.10"
    输出: Run nmap -p- 10.10.10.10 (推荐工具:nmap)
  2. 枚举:
    输入: attackStep: "Run nmap -p- 10.10.10.10"
    输出: Enumerate SMB on port 445 (推荐工具:enum4linux)
  3. 漏洞分析:
    输入: attackStep: "Enumerate SMB on port 445"
    输出: Search for public SMB exploits (CVE-2017-0144) (推荐工具:searchsploit)
  4. 开采:
    输入: attackStep: "Search for public SMB exploits (CVE-2017-0144)"
    输出: Exploit SMB with EternalBlue (CVE-2017-0144) (推荐工具:metasploit)
  5. 特权升级:
    输入: attackStep: "Got shell as user"
    输出: Run winPEAS for privilege escalation checks (推荐工具:winPEAS)
  6. 根/标志:
    输入: 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)模拟。

算法详细信息

  1. 攻击向量选择
    • 波束搜索:评估并排名多个潜在的攻击路径或漏洞利用链。
    • MCTS:使用UCT进行节点选择(潜在的漏洞利用步骤)和随机部署(模拟攻击进程)。
  2. 证据/漏洞评分基于:
    • 可利用的可能性
    • 潜在影响(CIA三联)
    • CVSS分数或类似指标
    • 攻击链中的连接强度(例如,漏洞A能够利用漏洞B)
  3. 流程管理
    • 基于树的攻击进展状态跟踪
    • 成功/失败模拟攻击路径的统计分析
    • 根据最重要的目标进行进度监控

用例

  • 自动漏洞识别和链接
  • 利用寻路和优化
  • 攻击场景模拟和“如果”分析
  • 红队战略制定与细化
  • 通过建议潜在途径协助手动渗透测试
  • 复杂攻击向量的决策树探索
  • 实现特定最重要目标的策略优化(例如,数据泄露、特权升级)

许可证

麻省理工学院